Как запустить программу с правами root ubuntu

Все можно настроить через файл /etc/sudoers . Вот способ как можно перезапускать все службы ( sudo service . ) от пользователя userlogin .

1. Создаем специальную группу для запуска, которой дадим необходимые права:

sudo groupadd sudo-restrict

2. Добавляем пользователя userlogin в эту группу:

sudo usermod -aG sudo-restrict userlogin

3.

Редактируем файл /etc/sudoers с помощью visudo :

sudo visudo

Необходимо ставить в конце следующее:

%sudo-restrict ALL=(ALL) NOPASSWD: /usr/sbin/service

/usr/sbin/service — путь к программе необходимо указывать абсолютный. В вашем случае это будет путь к вашему скрипту. Я использую служебную команду service

4. Проверяем

Заходим под пользователем userlogin и выполняем

sudo service mysqld restart

Сервис перезапустится без ввода пароля.

PS

В конце /etc/sudoers можно раскомментировать эту строку: #includedir /etc/sudoers.d , и записывать все настройки в отдельные файлы в каталоге /etc/sudoers.d

How to enable root login(GUI) in Ubuntu 20.04 | 2021

Отслеживать
ответ дан 11 апр 2019 в 5:34
Total Pusher Total Pusher
6,212 13 13 серебряных знаков 30 30 бронзовых знаков
добавлю, что группу можно не создавать, а дать права конкретному пользователю.
11 апр 2019 в 6:45

Я согласен с ответом Total Pusher, но сам обычно использую более простой и универсальный способ:

  1. Запускаю sudo visudo
  2. Добавляю в конец username ALL=(ALL) NOPASSWD: ALL (укажите свой username)
  3. Сохраняю

Разница в том, что никаких особых групп и пользователей я не создаю и в результате можно запускать любые скрипты и команды без пароля (мне достаточно того, что юзер вводит пароль при запуске сессии).

UPD: Как метко подметил andreymal, этот способ создаёт дыру в безопасности системы и использовать его на постоянной основе не рекомендуется.

Источник: ru.stackoverflow.com

sudo в Ubuntu

В Ubuntu 16.04 LTS, а также Ubuntu 14.04, по умолчанию отключен пользователь root.

Все административные действия выполняются с помощью команды sudo.

Разберемся на примере,

Запустим Midnight Commander, от своего пользователя

Запустился mc, в своей папке /home/user мы можем делать все что угодно, в том числе удалять файлы. Но если перейти в каталог, в котором обычно содержаться конфигурационные файлы /etc, и открыть на редактирование какой-либо файл, то сохранить его не получиться, нужно иметь права root. Соответственно и сам mc надо запустить от root. Чтобы это сделать используется команда sudo.

Читайте также:
Как установить программу касперского на ноутбук

sudo mc

Теперь mc запущен от пользователя root и можно делать все что угодно, но нужно быть предельно осторожным, чтобы не удалить ничего лишнего. По этому, собственно, и отключен root, по умолчанию.

Как Получит Права Супер Пользователя root | linux ubuntu обзор для начинающих


Обычно чтобы отредактировать какой-либо файл достаточно выполнить комаду

sudo mcedit config.conf

и откроется редактор с правами root для конкретного файла. Это намного безопаснее.

Также существует команда для запуска графических программ с правами администратора, например, nautilus. Сочетанием клавиш Alt + F2, надо вызвать диалог запуска программ, и туда вписать нашу команду, запуска nautilus c правами root.

gksu nautilus

Можно запустить тот же nautilus с помощью sudo из терминала. Но это не удобно, до закрытия программы нельзя будет закрывать и терминал.

Источник: goodigy.ru

Как запустить программу с правами root ubuntu

В данном материале описываются важные различия между популярными режимами работы с приложениями от лица пользователя root, а именно, режимами, связанными с использованием утилит su, sudo, pkexec, а также псевдопротокола admin://.

Основная мысль данного материала заключается в следующем: вы должны всегда использовать утилиту pkexec и псевдопротокол admin:// для запуска приложений с графическим интерфейсом, которые должны работать от лица пользователя root. Утилиты su и sudo должны использоваться исключительно для запуска утилит с интерфейсом командной строки от лица пользователя root. В случае пренебрежения этим простым правилом приложения с графическим интерфейсом могут изменить права доступа к файлам конфигурации в домашней директории, что приведет к появлению ряда сложно диагностируемых проблем.

Если вас интересуют подробности, вам стоит продолжить чтение.

Запуск файлового менеджера с привилегиями пользователя root

Использование файлового менеджера с привилегиями пользователя root в какой-то степени является рискованным мероприятием, так как вы можете удалить любые файлы и тем самым нарушить работоспособность системы. Тем не менее, в некоторых случаях это просто необходимо.

В таких случаях следует запускать файловый менеджер с использованием встроенного механизма защиты для того, чтобы, по крайней мере, случайно не нарушить права доступа к файлам в файловой системе. Так как используемый по умолчанию файловый менеджер глубоко интегрирован в систему, его использование может быть связано с определенными проблемами.

Для работы с файлами с привилегиями пользователя root следует в первую очередь использовать встроенный механизм открытия системных файлов вашего файлового менеджера. Если этот механизм не позволяет выполнить необходимые действия, вам придется запустить файловый менеджер от лица пользователя root с помощью утилиты pkexec и терминала.

Читайте также:
Как удалить из компьютера программу anydesk

Например, для запуска файлового менеджера Nemo из состава дистрибутива Linux Mint Cinnamon может использоваться следующая команда:

Для запуска файлового менеджера Caja из состава дистрибутива Linux Mint Mate — следующая команда:

Для запуска файлового менеджера Thunar из состава дистрибутива Linux Mint Xfce и Xubunut — следующая команда:

Наконец, для запуска файлового менеджера Nautilus из состава дистрибутива Ubuntu и Fedora Workstation — следующая команда:

Примечание: закрытие окна терминала приведет к закрытию окна запущенного с помощью него файлового менеджера, поэтому терминал всегда должен быть открыт! Не закрывайте окно терминала до того момента, пока вы не выполните все необходимые действия.

Запуск текстового редактора с привилегиями пользователя root

Для редактирования конфигурационных файлов системы вам придется запустить файловый менеджер с привилегиями пользователя root. Для этой цели может использоваться псевдопротокол admin://.

Предположим, что нам нужно отредактировать файл конфигурации /etc/default/grub.

В дистрибутиве Linux Mint (Cinnamon, Mate, Xfce) для этой цели может использоваться следующая команда:

В дистрибутивах Ubuntu и Fedora Workstation — следующая команда:

Примечание: три слэша в командах — не опечатка; так и должно быть. При первом использовании псевдопротокола admin:// в рамках пользовательской сессии вам будет предложено ввести ваш пароль дважды; это также нормально. Ну и разумеется, закрытие окна терминала приведет к закрытию окна текстового редактора, поэтому стоит держать его открытым до завершения редактирования файла конфигурации.

Дополнительные подробности

Для работы с утилитой sudo вам нужно быть членом группы пользователей sudo. В случае утилит su, pkexec и псевдопротокола admin:// членства в дополнительных группах не требуется.

При использовании утилиты pkexec и псевдопротокола admin:// вам будет предложено ввести ваш пароль с помощью диалогового окна графической оболочки. В случае утилит sudo и su вы должны будет вводить пароль с помощью терминала.

Важные различия

1. Утилита pkexec и псевдопротокол admin:// предусматривают установку безопасного значения переменной окружения $HOME, а именно, пути к домашней директории пользователя root, следовательно, запущенное с помощью них приложение не сможет незаметно нарушить права доступа к файлам конфигурации из вашей домашней директории. Кроме того, они предусматривают установку безопасного значения переменной окружения $XAUTHORITY, а именно, пути к новому файлу, следовательно, запущенное с помощью них приложение будет работать со своей авторизацией оконной системы.

Читайте также:
Как ограничить скорость интернета для определенной программы

2. Утилита sudo не предусматривает установки значений двух перечисленных выше переменной окружения, а вместо этого использует путь к вашей домашней директории и вашему файлу авторизации оконной системы. По этой причине утилита sudo не должна использоваться для запуска приложений с графическим интерфейсом, ведь они всегда используют переменные окружения, такие, как $HOME.

3. Команда sudo -i позволяет установить безопасное значение переменной окружения $HOME, но не позволяет установить безопасного значения переменной окружения $XAUTHORITY, поэтому все запускаемые с помощью нее приложения запускаются без своей авторизации оконной системы. По этой причине она не должна использоваться для запуска приложений с графическим интерфейсом. Кроме того, она не завершает сессию пользователя root после завершения работы запущенного с помощью нее приложения, что небезопасно.

4. Команда su — выполняет ту же операцию, что и sudo -i. Единственное различие данных команд состоит в том, что в случае использования команды su — вам придется ввести пароль пользователя root, а в случае использования команды sudo -i — свой пароль.

5. Команда sudo -H также позволяет установить безопасное значение переменной окружения $HOME, но не позволяет установить безопасного значения переменной окружения $XAUTHORITY, поэтому все запускаемые с помощью нее приложения запускаются без своей авторизации оконной системы. По этой причине она также не должна использоваться для запуска приложений с графическим интерфейсом.

6. Утилита su устанавливает безопасное значение переменной окружения $HOME, но не устанавливает безопасного значения переменной окружения $XAUTHORITY, поэтому все запускаемые с помощью нее приложения запускаются без своей авторизации оконной системы. По этой причине она также не должна использоваться для запуска приложений с графическим интерфейсом. Вообще, при использовании данной утилиты без каких-либо параметров запуск приложений осуществляется с использованием большинства переменных окружения текущего пользователя.

Быстрое получение списка пользователей группы sudo

Вы можете без лишних сложностей получить список пользователей группы sudo с помощью следующей команды:

getent group sudo

После окончания ввода команды следует нажать Enter для ее исполнения.

Исправление прав доступа к файлам из домашней директории

Если вы случайно воспользовались утилитой sudo или su для запуска приложения с графическим интерфейсом, после чего оно начало работать некорректно от лица обычного пользователя, вы можете исправить права доступа к файлам его конфигурации с помощью следующей команды (это одна строка):

find /home/$SUDO_USER ! -user $SUDO_USER -exec chown $SUDO_USER:$SUDO_USER ‘{}’ ;

После окончания ввода команды следует нажать Enter для ее исполнения.

Источник: linux-faq.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru