Sudo: различия между версиями
Строка 3: | Строка 3: | ||
Штатным способом временного получения прав '''root''' в большинстве дистрибутивах ALT Linux, является команда [[su| su -]]. | Штатным способом временного получения прав '''root''' в большинстве дистрибутивах ALT Linux, является команда [[su| su -]]. | ||
Команда '''sudo''' может использоваться <ref> Существует рекомендация известного эксперта в области ИТ-безопасности Александра Песляка (Solar Designer) [http://www.opennet.ru/openforum/vsluhforumID3/73378.html#18 ''не'' использовать sudo]</ref> для выполнения пользователем какой-либо команды требующей права суперпользователя ('''root'''), | Команда '''sudo''' может использоваться <ref> Существует рекомендация известного эксперта в области ИТ-безопасности Александра Песляка (Solar Designer) [http://www.opennet.ru/openforum/vsluhforumID3/73378.html#18 ''не'' использовать sudo]</ref> для выполнения пользователем какой-либо команды требующей права суперпользователя ('''root'''), то есть получение прав '''root''' для выполнения какой-либо команды, на время ёё выполнение. Команда '''sudo''' в большинстве дистрибутивах ALT Linux требует предварительной настройки. | ||
Исключением является дистрибутив | Исключением является дистрибутив [[Simply]], где '''sudo''' уже настроена для первого пользователя. | ||
[[Simply]], где | |||
Перед выполнением команды, '''sudo''' запрашивает пароль пользователя, а не пароль '''root''', как у команды '''su -'''. | Перед выполнением команды, '''sudo''' запрашивает пароль пользователя, а не пароль '''root''', как у команды '''su -'''. |
Версия от 06:59, 6 мая 2022
Введение
Штатным способом временного получения прав root в большинстве дистрибутивах ALT Linux, является команда su -.
Команда sudo может использоваться [1] для выполнения пользователем какой-либо команды требующей права суперпользователя (root), то есть получение прав root для выполнения какой-либо команды, на время ёё выполнение. Команда sudo в большинстве дистрибутивах ALT Linux требует предварительной настройки.
Исключением является дистрибутив Simply, где sudo уже настроена для первого пользователя.
Перед выполнением команды, sudo запрашивает пароль пользователя, а не пароль root, как у команды su -.
После выполнение sudo существует временной отрезок, в течении которого повторное выполнение команды sudo не требует пароль (что удобно для взлома вашего компьютера со стороны rootkits и хакерских атак).
С другой стороны, команда sudo удобна для распределения прав между несколькими администраторами компьютера (например, кому можно обновлять и устанавливать программы, а кому настраивать работу аппаратуры компьютера), не предоставляя прав root на все другие действия и не выдавая пользователю пароля root
В большинстве дистрибутивах ALT Linux запрещено выполнять команду sudo пользователю root.
Настройка contol для работы sudo
В ALT Linux sudo используется фреймворк control который задаёт права на выполнения команды sudo.
С его помощью можно дать или отнять права на использование команды sudo.
Возможные значения control sudo можно посмотреть командой control sudo help
su -
control sudo help
На текущий момент существуют следующие политики у команды sudo
public: - любой пользователь может получить доступ к команде /usr/bin/sudo
wheelonly: только пользователи из группы wheel имеют право получить доступ к команде /usr/bin/sudo
restricted: Только root имеет право выполнять команду /usr/bin/sudo
Штатное его состояние политики control sudo wheelonly , означает что пользователь из группы wheel имеет право запускать команду sudo, но не означает, что он через sudo может выполнить какую-то команду с правами root
Для разрешения получение прав на выполнение конкретных команд с правами root надо отредактировать настройки правил /etc/sudoerc [2] при помощи специальной команды visudo (которая не портит права на файлы) :
su -
EDITOR=mcedit visudo
Грубая настройка sudo
Раскоментировать (убрать '#' в начале строки) в /etc/sudoers строчку:
WHEEL_USERS ALL=(ALL) ALL
C точке зрения безопасности, правильнее давать права на выполнение sudo не всей группе wheel, а конкретному пользователю например petya, входящую в группу, например:
petya ALL=(ALL) ALL
и не на все команды , а на те, которые ему необходимы для быстрого получения прав root
petya ALL=(ALL) /usr/bin/apt-get,/usr/bin/rpm,/sbin/fdisk
Это особенно важно, потому, что после выполнения команды sudo с запросом пароля, есть определённый временный отрезок, в течении которого sudo выполняет следующие команды, не запрашивая повторно пароль пользователя.
Также может понадобиться внесение требуемых пользователей в группу wheel (созданный при установке системы аккаунт добавляется в неё автоматически, иначе см. /etc/group),
control sudowheel enabled
Тонкая настройка sudo
Для того, чтобы настроить работу sudo, необходимо с применением административных привилегий отредактировать файл /etc/sudoers при помощи специальной команды visudo (подробности смотри выше) и внести туда записи о том, каким пользователям какие команды можно выполнять.
Пример:
user1 ALL = (ALL) ALL user1 ALL = NOPASSWD: /usr/bin/apt-get update
Позволяет пользователю user1 запускать все приложения через sudo с правами суперпользователя (root) с запросом пароля, а при выполнении команды sudo apt-get update пароль не будет спрашиваться.
Полная документация по формату конфигурационного файла находится в man-странице sudoers, начинать читать может быть проще с секции EXAMPLES.
Примечания
- ↑ Существует рекомендация известного эксперта в области ИТ-безопасности Александра Песляка (Solar Designer) не использовать sudo
- ↑ Здесь используется редактор mcedit, по умолчанию используется vi , но базовst знание vi весьма полезны, для их получения установите и запустите команду vimtutor