我正在处理一个网页,在发生某些事件后,它需要重新启动运行它的apache服务器来更新一些文件。我尝试将www-data添加到sudoers文件中:
www-data ALL=(ALL) NOPASSWD: /etc/init.d/apache2 start, /etc/init.d/apache2 stop, /etc/init.d/apache2 restart, /sbin/services apache2 restart但是当我尝试重启apache时,我得到了以下信息:
sudo -u www-data /etc/init.d/apache2 restart
Restarting web server apache2 (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs当我在网上查找时,我发现人们似乎反对让www-data重启apache,我也找不到任何建议,如果我想忽略这个特殊情况的警告,我会怎么做。如果不可能,让网页重启apache最简单的替代方法是什么?我假设这个网站是私密和安全的,不会被恶意的个人使用,考虑到我所处的环境,我认为这是一个公平的假设。耽误您时间,实在对不起
发布于 2011-08-17 04:16:49
init-scripts只能/应该以root用户身份运行(至少在我的标准-Debian上是这样)。
apache-process (和其他服务的进程)将调用setuid (或它的一个朋友)来更改进程的实际用户。
发布于 2011-08-18 05:09:45
root应重新启动the服务器:
sudo /etc/init.d/apache2 restart您不需要将www-data添加到sudoers文件中,除非您希望允许www-data用户重新启动服务器-但通常您不应该以www-data帐户登录,它是一个系统帐户。
https://stackoverflow.com/questions/7084249
复制相似问题