Алексей Федорчук
Если при инсталляции Slackware на стадии выбора пакетов особенно не вычищать серию AP (консольные приложения), то утилита sudo
будет установлена по умолчанию. Однако работать не будет. Почему — становится мучительно ясно, если просмотреть содержимое конфига этой утилиты. Поскольку для обычного пользователя он закрыт даже для чтения, сделать это можно, например, так:
$=> su -c 'less /etc/sudoers'
И после ввода пароля администратора увидеть, что все строки секции спецификации привилегий, кроме имеющей отношение в root’у, закомментированы:
## User privilege specification ## root ALL=(ALL) ALL ## Uncomment to allow members of group wheel to execute any command # %wheel ALL=(ALL) ALL ## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL ## Uncomment to allow members of group sudo to execute any command # %sudo ALL=(ALL) ALL ## Uncomment to allow any user to run sudo if they know the password ## of the user they are running the command as (root by default). # Defaults targetpw # Ask for the password of the target user # ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw'
Что тут раскомментировать (или вообще видоизменить — каждый решает в меру своей паранойи. Я лично снимаю комментарий вот с этой строки:
%wheel ALL=(ALL) ALL
Что при создании пользовательского аккаунта (см. соответствующую шпаргалку) потребует включения пользователя в группу wheel
. Зато после этого пользователь, дав команду sudo
и введя свой собственный пароль, обретает все права администратора.
А вот как редактировать конфиг sudo
, размышлять особо нечего: для этой цели существует специальный инструмент, именуемый visudo
. И прибегнуть к нему надо вот в такой форме:
$ su -c visudo
Этим после ввода административного пароля будет вызван текстовый редактор с открытым в нём файлом /etc/sudoers
. Вопреки легендам и мифам древнеримских юниксоидов, этим редактором совсем не обязательно будет знаменитый vi
, нежно любимый одними и ненавидимый другими. Нет, будет вызвано тот инструмент, который указан как значение переменной EDITOR
в конфиге командной оболочки пользователя (не администратора!). Например, у меня роль текстового редактора по умолчанию выполняет обычно joe
.