如何在没有root权限的情况下(作为另一个用户)在启动时运行Web服务器? 我可以将它添加到rc.local中,但它是在root用户下运行的。
如何在没有root权限的情况下(作为另一个用户)在启动时运行Web服务器?
为什么? 你想达到什么目的?
Apache成为守护进程并在端口上进行侦听后,首先要对configuration文件中定义的用户进行设置 – 即不能以root权限运行。
开始监听1024以下端口的守护程序是不可能的, 除非你是root用户 – 但是完全有可能启动监听,比如说8000端口,而且很可能设置iptables来代理端口80请求到8000端口根进程可以setuid到一个不同的uid – 所以你需要改变你的Apacheconfiguration,以便它不会调用setuid,或只调用setuid到当前的uid。
如果您担心安全问题,那么在尝试修复实际上不存在的安全漏洞之前,还应该考虑其他许多事情。
C。
在httpdconfiguration文件中search以下部分:
# # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User daemon Group daemon
并将“守护程序”用户和组更改为所需的用户名。