Можно ли дать sudo доступ только к определенной команде?

Справочная информация: У меня есть машина для разработки с настройкой LAMP. Несколько разработчиков время от времени получают доступ к машине. Каждый раз, когда они вносят какие-то изменения в файл конфигурации, им нужно будет перезапустить сервер apache, используя sudo service apache restart или sudo /etc/init.d/apache2 restart

теперь каждый разработчик, имеющий доступ к машине, не имеет доступа sudo ко всему. Скорее, он / она должен иметь возможность выполнять команду service только с использованием sudo и ничего другого. Возможно ли это сделать?

24
задан 27 December 2011 в 09:35

1 ответ

Да.

Создайте новую группу, веб (назовите ее как хотите)

sudo addgroup web

Добавьте своих разработчиков в веб-группу (используйте их логин).

sudo adduser your_developer_user web

Затем запустите sudo visudo -f /etc/sudoers.d/somefile (используйте значимое имя вместо somefile).

Добавьте в строку (используйте полный путь к команде):

%web ALL=(ALL) /usr/bin/service apache2 *

Разработчики могут затем запустить

sudo service apache

, используя свой пароль для входа.

НЕ добавляйте своего администратора в веб-группу.

См. man sudoers для получения дополнительной информации

.
0
ответ дан 27 December 2011 в 09:35

Другие вопросы по тегам:

Похожие вопросы: