当前位置:  开发笔记 > 运维 > 正文

有没有办法在Linux上以非root用户身份启动/重启/停止apache服务器?

如何解决《有没有办法在Linux上以非root用户身份启动/重启/停止apache服务器?》经验,为你挑选了3个好方法。

我想知道linux上的非root用户(我使用的是openSUSE)是否可以在不使用sudo命令的情况下运行apache.考虑到用户与apache(wwwrun)位于同一组中.
提前致谢.



1> kmkaplan..:

您可以像任何用户一样运行Apache.只需确保将其设置为仅使用允许的资源(目录,文件,最重要的是监听非特权端口).

要让它出现在HTTP的标准端口80(具有特权)上,您必须以root身份设置重定向到真正的Apache服务器.最简单的方法可能是使用iptables.例如,如果您的Apache服务器正在侦听端口8080:

iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -j REDIRECT --to-port 8080

如果你不能像这样配置服务器(或让你的系统管理员为所有人做一次),你将不得不使用非特权端口(类似的东西Listen 8080)并使用看起来像http://www.example的URL访问它. COM:8080 /



2> 小智..:

如果您安装了sudo,则可以创建一个文件:/etc/suduers.d/apache2reload,其中包含以下内容:

username    ALL=NOPASSWD:/usr/bin/service apache2 reload



3> Jimmy Stenke..:

简答:不

原因是只有root才能绑定1024以下的端口.

答案很长:查看http://www.debian-administration.org/articles/386

一旦你克服了端口的问题,我认为不会有任何麻烦.请记住,运行apache的用户需要对日志文件以及其他一些文件进行写访问.

但是,如果你在没有sudo的情况下运行它,那么spawner可能无法更改用户,因此apache将以用户启动它而不是apache用户的方式运行.

但是你不想运行sudo的原因是什么?它只是以root身份运行的spawner进程,其余的都在apache用户下运行.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有