如何启动Apache
2019-05-28 来源:爱站科技
开发部门的人启动Apache是需要使用root运行的,但是监管部门的人认为用root启动有安全隐患,若是Apache有漏洞那么服务器就会被黑,那么我们现在去看看如何启动Apache的内容。
这个问题,其实我在上一家公司也遇到同样想法的人,使用root启动究竟有没有安全隐患?
我在一台RHEL4上编译安装了Apache,用了全默认参数,使用下面命令启动
/usr/local/apache/bin/apachectl start
看系统里的情况
[root@localhost conf]# ps -ef | grep httpd | grep -v grep
root???? 32485???? 1? 0 21:50 ???????? 00:00:00 /usr/local/apache/bin/httpd -k start
daemon?? 32486 32485? 0 21:50 ???????? 00:00:00 /usr/local/apache/bin/httpd -k start
daemon?? 32487 32485? 0 21:50 ???????? 00:00:00 /usr/local/apache/bin/httpd -k start
daemon?? 32488 32485? 0 21:50 ???????? 00:00:00 /usr/local/apache/bin/httpd -k start
daemon?? 32489 32485? 0 21:50 ???????? 00:00:00 /usr/local/apache/bin/httpd -k start
daemon?? 32490 32485? 0 21:50 ???????? 00:00:00 /usr/local/apache/bin/httpd -k start
[root@localhost conf]# cat httpd.conf | grep daemon
# httpd daemons, you will need to change at least LockFile and PidFile.
User daemon
Group daemon??? # socket used to communicate with the CGI daemon of mod_cgid.
试下把daemon改成root看看
[root@localhost conf]# /usr/local/apache/bin/apachectl start
Syntax error on line 65 of /usr/local/apache/conf/httpd.conf:
Error:\tApache has not been designed to serve pages while\n\trunning as root.? There are known race conditions that\n\twill allow any local user to read any file on the system.\n\tIf you still desire to serve pages as root then\n\tadd -DBIG_SECURITY_HOLE to the CFLAGS env variable\n\tand then rebuild the server.\n\tIt is strongly suggested that you instead modify the User\n\tdirective in your httpd.conf file to list a non-root\n\tuser.\n
[root@localhost conf]# cat httpd.conf | grep root
# httpd as root initially and it will switch.?
User root
Group root
可以看到,Apache根本不给你启动!
根据Apache的文档里这么描述
?? 如果配置文件中Listen定义的是默认的80端口(或1024以下),那么启动Apache将需要root权限以将它绑定在特权端口上。一旦服务器开始启动并完成了一些诸如打开日志文件之类的准备操作,它将创建很多子进程来完成一些诸如侦听和回应客户端请求的工作。
?? httpd主进程仍然以root用户的权限运行,而它的子进程将以一个较低权限的用户运行。这将由你选择的多路处理模块进行控制。
??? 所以,用root启动Apache并不存在安全问题。非root用户不能启动1024以下的端口,所以非root启动Apache不能启动80,443端口,到时候再用iptable做跳转就是很麻烦的事情,而且iptables性能也是问题。
像bind这样的程序使用的是chroot的方式来解决权限控制问题,用root启动一样没有安全问题。
有些时候,这些想法都是人传人,大多数人不仔细想想,找找内因。
这里介绍了如何启动Apache的内容,我们可以知道其实用root启动Apache是不存在安全问题的。
标签: [db:TAGG]
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:Hadoop的安全模式介绍
下一篇:如何使用Nginx map指令