Используя Apache, я хотел бы иметь возможность запускать и останавливать службу на том же сервере. По сути, я ищу способ разрешить Apache (или некоторому скрипту, вызываемому Apache) вызывать sudo service XXXX start
.
Я понимаю, что это серьезно сказывается на безопасности, и стараюсь минимизировать возможные последствия. Есть только один сервис, для которого мне нужно это сделать. Я видел несколько решений, связанных с "взломом" setuid
(Оболочка C / Perl), другие занимались редактированием /etc/sudoers
файл.
Есть ли способ лучше?
Большое спасибо, С.
Я предлагаю разрешить пользователю www-data использовать этот сценарий init.d как sudo без пароля, добавив его в свой / etc / sudoers
www-data ALL=(ALL) NOPASSWD: /etc/init.d/theinitscript
А затем используйте sudo /etc/init.d/theinitscript start
вместо командного сервиса.