Справочная информация: У меня есть машина для разработки с настройкой LAMP. Несколько разработчиков время от времени получают доступ к машине. Каждый раз, когда они вносят какие-то изменения в файл конфигурации, им нужно будет перезапустить сервер apache, используя sudo service apache restart
или sudo /etc/init.d/apache2 restart
теперь каждый разработчик, имеющий доступ к машине, не имеет доступа sudo ко всему. Скорее, он / она должен иметь возможность выполнять команду service
только с использованием sudo и ничего другого. Возможно ли это сделать?
Да.
Создайте новую группу, веб (назовите ее как хотите)
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 для получения дополнительной информации
.