在使用apache httpd多年后,我来到nginx。我使用apt-get来安装nginx服务器,并注意到所有文件都归root所有。
debian@nginx-explore:~$ ls -la /usr/share/nginx/www/
total 16
drwxr-xr-x 2 root root 4096 Apr 23 21:09 .
drwxr-xr-x 3 root root 4096 Apr 23 21:09 ..
-rw-r--r-- 1 root root 383 Jul 7 2006 50x.html
-rw-r--r-- 1 root root 151 Oct 4 2004 index.html
主进程也由root拥有,尽管有工作进程作为www-data运行
debian@nginx-explore:~$ ps aux|grep nginx
root 2724 0.0 0.1 62348 1324 ? Ss Apr23 0:00 nginx: master process /usr/sbin/nginx
www-data 2725 0.0 0.1 62688 1624 ? S Apr23 0:03 nginx: worker process
www-data 2726 0.0 0.1 62688 1624 ? S Apr23 0:03 nginx: worker process
www-data 2727 0.0 0.1 62688 1624 ? S Apr23 0:03 nginx: worker process
www-data 2728 0.0 0.2 62688 2132 ? S Apr23 0:00 nginx: worker process
在Apache中,始终强调要确保文件和进程不归root所有,作为安全措施。有没有什么理由在使用nginx时这不是什么大问题?
最终我需要知道是否应该调整nginx文件和文件夹的所有权以保证我的系统安全。
答案 0 :(得分:1)
由于文件归root所有,负责处理Web流量的nginx用户(www-data)无法通过安全漏洞或以其他方式允许对www文件进行写访问。因此,它遵循principle of least privilege。
从另一方面看,如果您将文件更改为nginx用户所拥有的文件(www-data),则可以利用nginx工作进程修改其拥有的文件,在此你的www页面。