sudo позволяет разрешенному пользователю выполнять команду от суперпользователя или любого другого пользователя, как определено политикой безопасности. Если, Вам потребуется, то можно назначить выполнение с паролем суперпользователя, без пароля, а также выполнение определенных Вами команд и даже их ключей. Однозначно, штука очень удобная и в хозяйстве пригодиться не раз.
Перейдем к установке:
cd /usr/ports/security/sudo && make install clean
можете сразу определиться с некоторыми опциями
Options for sudo 1.8.3
[ ] LDAP With LDAP support[ ] INSULTS With all insults
[ ] DISABLE_ROOT_SUDO Disable root sudo
[ ] DISABLE_AUTH Disable authentication
[ ] NOARGS_SHELL Enable no arguments shell
[X] AUDIT Enable BSM audit support
[ OK ] Cancel
по завершению не забываем про rehash и открываем редактировать файл sudoers
ee /usr/local/etc/sudoers
В качестве примера, приведу только то что потребовалось сегодня самому. Остальное читаем в мане)
даем разрешение на запуск tcpdump, пользователю vasisio без ввода пароля
vasilio ALL=NOPASSWD:/usr/sbin/tcpdump
даем разрешение на все, пользователю administrato без ввода пароля
administrato ALL=(ALL) NOPASSWD: ALL
В случае когда требуется дать разрешение группе пользователей для массы команд, то пишем примерно следующее:
User_Alias GROUPUSERS= user0, user1
Cmnd_Alias COMND= /usr/bin/tcpdump, /sbin/shutdown -r now
GROUPUSERS ALL=COMND
COMND — это всего лишь псевдоним для команд и их может быть достаточно много.
Например:
Cmnd_Alias COMND0= ...
Cmnd_Alias COMND1= ...
Cmnd_Alias COMND2= ...
и т.д.
в этом случае прописываем таким образом
GROUPUSERS ALL=COMND0, COMND1, COMND2