sudo - предоставление привилегий пользователям
Программа предоставляет возможность пользователям выполнять команды от имени root, либо других пользователей. Для редактирования файла /etc/sudoers следует использовать программу visudo, которая проверяет синтаксис и тем самым позволяет избежать ошибок в правилах.
В visudo редактор по умолчанию задается ключом при компиляции программы, но можно ее вызвать следующим способом для использования другого редактора
EDITOR=nano visudo
Настройка
Разрешены полные root права членам группы admin
%admin ALL=(ALL) ALL
- % : процент обозначает имя группы (без процента идут имена пользователей)
- ALL : хост, что значит с любого хоста
- (ALL) : может быть исполнена от имени любого пользователя не только root (может отсутствовать)
- ALL - любая команда
Разрешение группе www-data выполнять скрипт перезагрузки apache от пользователя root без запроса пароля
%www-data ALL = NOPASSWD: /home/apache/scr/apache-graceful
Если содержимое скрипта не должно быть прочитано пользователем, так как содержит - например пароли, то можно установить на файл права:700 и владельца:root, а право запускать скрипт для пользователя прописать в sudo.
Использование
Все просто
sudo <команда>
Зайти в систему как root
sudo su
Исполнить от имени другого пользователя
sudo -u <пользователь> <команда>
Обсуждение