Настройка sudo
В более иных дистрибутивах, не использующих sudo
“из коробки”, потребуется редактирование её конфигурационного файла -- того самого /etc/sudoers
, о котором упоминалось выше.
Файл /etc/sudoers
-- обычный текстовый, и, соответственно, его можно редактировать в любом текстовом редакторе (или, скажем, средствами ed
или sed
). Однако при этом существует определённый риск что-нибудь напортачить (за счёт обычных опечаток), вплоть до того, что полностью закрыть самому себе доступ к привилегиям суперпользователя. Конечно, ситуации эти поправимы -- например, через перезагрузку в однопользовательском режиме. Однако, лучше в них не попадать. И потому более надёжным средством модификации /etc/sudoers
будет использование специально предназначенной для того утилиты -- visudo
.
Утилита visudo
не делает ничего сверхъестественного -- она просто открывает /etc/sudoers
в текстовом редакторе, описываемом переменной EDITOR
суперпользователя (если таковая не определена, им будет опять же классический vi
-- отсюда и название) и позволяет его отредактировать обычным образом, после чего выйти из редактора с сохранением результатов штатными его средствами. Однако перед этим результат редактирования проверяется на корректность. И если обнаруживается нарушение синтаксиса, принятого для /etc/sudoers
, выдается соответствующее предупреждение. После которого можно вернуться к редактированию, отказаться от сделанных изменений или все-таки принять их (разумеется, под личную ответственность).
Утилита visudo
не гарантирует стопроцентного успеха редактирования. Так как проверяет только соответствие синтаксиса, но не “правильность самих правил”. То есть если ошибка будет допущена в указании пути к нужной для данного правила команде -- эта команда через sudo
не сработает.
Впрочем, на деле это выглядит обычно гораздо проще и совсем не страшно. Так, в Fedora 11 мне в образцово-показательном конфиге /etc/sudoers
пришлось лишь раскомментирвоать строку
%wheel ALL=(ALL) ALL
чтобы дать пользователю из указанной группы (а себя я туда включил заблаговременно, как было описано в предыдущем подразделе) все права, коими наделён администратор. Заодно можно было бы предоставить себе по блату и возможность использовать sudo
без пароля. Для этого потребовалось бы снять комментарий со строки
# %wheel ALL=(ALL) NOPASSWD: ALL
Но я ограничился лишь тем, что сделал действие пароля более долгоиграющим, вписав (изначально отсутствующую строку
Defaults timestamp_timeout=10
где значение таймаута указано в минутах. Кстати, если изменить его на ноль –
Defaults timestamp_timeout=0
то пароль будет запрашиваться каждый раз при обращении к команде sudo
.
Можно, напротив, отключить тайаут на действие sudo
, ввдя для него отрицательное значение:
Defaults timestamp_timeout=-1
В этом случае пароль будет запрошен только при первом вызове этой команды.
Более пристальное вглядывание в файл /etc/sudoers
легко подскажет возможности дать определённым пользователям или группам только ограниченный набор прав. Впрочем, тут уже начинаются тонкости всамделишнего администрирования. Я же просто лишил своего двойника-экспериментатора доступа к любым административным действиям, дабы пресечь все его поползновения на этом поприще. Впрочем, даже это не всегда позволяет мне с ним справляться -- подобно тому, как Тимур Шаов не в силах совладать со своим лирическим героем.
- Право root’а
- Команда su
- Команда sudo
- Разграничение полномочий в sudo
- Настройка sudo
Содержание
Теги: sudo