Команда выполнения с sudo по умолчанию

У Вас в основном есть две учетных записи. Вы обычно зарегистрированы с учетной записью обычного пользователя и когда у Вас должен быть корневой доступ затем, Вы повторно входите в систему как корень и обеспечиваете пароль корня, чтобы сделать это. Пароль root должен отличаться от пароля обычного пользователя. По умолчанию, на некоторых дистрибутивах, таких как Ubuntu, корневая учетная запись отключена. Для подъема полномочий в этих системах, Вы используете названную команду sudo так, чтобы можно было выполнить некоторые/все команды с помощью полномочий корня.

Например, входить в систему как корень:

$ sudo su -

Выполнять команду как корень:

$ sudo apt-get install gimp

1-й пример установит пользователя (su) для укоренения (предположение, что у Вас есть полномочия сделать так). После выполнения этой команды Вас оставят при подсказке корня.

2-я команда запустит программу установщика Debian/Ubuntu и установит программу, названную калекой как корень.

5
01.01.2017, 11:29
2 ответа

Если это для демона, стандартный способ выполнения вещей - поставить что-то подобное в файле сценариев INIT:

USER=bob
...
su -c '/command/to/start/actual/daemon' "$USER"

В файле скрипта, который должен быть запущен как BOB , просто положить sudo перед соответствующими командами.

Кроме того, убедитесь, что вы прочитали это о включении расширения псевдонима в неинтерактивных раковинах Bash (например, те, которые создаются скриптом или демоном).

0
27.01.2020, 20:43

Вы сказали, что команды, которые пользователь должен запускать с привилегиями root, это /sbin/firstcommandи /sbin/secondcommand?

Если эти команды действительно расположены в /sbin, это каталог, который по умолчанию не включен в каталог обычного пользователя PATH. Вы можете использовать это в своих интересах :вы можете создать два очень простых скрипта /usr/local/bin/firstcommandи /usr/local/bin/secondcommand, содержимое которых будет состоять из sudo /sbin/firstcommandи sudo /sbin/secondcommandсоответственно.

Оболочка пользователя обычно ищет /usr/local/binперед стандартными /usr/binи /bin, что позволяет системному администратору при необходимости заменить стандартные системные команды локальными версиями. Точно так же, когда пользователь запускает firstcommand, он в конечном итоге запускает ту версию firstcommand, которую можно найти первой в его PATH. /sbin/firstcommandс префиксом sudoи/или с добавлением некоторых параметров по мере необходимости.

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

0
07.03.2021, 11:06

Теги

Похожие вопросы