使用Apache,我希望能够在同一台服务器上启动和停止服务。 本质上,我正在寻找一种方法来允许Apache(或由Apache调用的某个脚本)调用sudo service XXXX start 。
我意识到这有严重的安全隐患,我正在寻求尽可能减less可能的影响。 只有一个服务,我需要做到这一点。 我已经看到了一些解决scheme,涉及“黑客” setuid (C / Perl的包装),其他涉及编辑/etc/sudoers文件。
有没有更好的办法?
非常感谢,S.
我build议让www-data-user将这个init.d-script作为sudo使用,而不需要密码,只需将它添加到/ etc / sudoers
www-data ALL=(ALL) NOPASSWD: /etc/init.d/theinitscript
然后使用sudo /etc/init.d/theinitscript start来代替命令服务。