首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用perl将apache重新启动为www-data

问使用perl将apache重新启动为www-data
EN

Stack Overflow用户
提问于 2011-08-17 04:00:31
回答 2查看 1.3K关注 0票数 5

我正在处理一个网页,在发生某些事件后,它需要重新启动运行它的apache服务器来更新一些文件。我尝试将www-data添加到sudoers文件中:

代码语言:javascript
复制
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时,我得到了以下信息:

代码语言:javascript
复制
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最简单的替代方法是什么?我假设这个网站是私密和安全的,不会被恶意的个人使用,考虑到我所处的环境,我认为这是一个公平的假设。耽误您时间,实在对不起

EN

回答 2

Stack Overflow用户

发布于 2011-08-17 04:16:49

init-scripts只能/应该以root用户身份运行(至少在我的标准-Debian上是这样)。

apache-process (和其他服务的进程)将调用setuid (或它的一个朋友)来更改进程的实际用户。

票数 1
EN

Stack Overflow用户

发布于 2011-08-18 05:09:45

root应重新启动the服务器:

代码语言:javascript
复制
sudo /etc/init.d/apache2 restart

您不需要将www-data添加到sudoers文件中,除非您希望允许www-data用户重新启动服务器-但通常您不应该以www-data帐户登录,它是一个系统帐户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7084249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档