本文在Ubuntu下截图,实际服务器环境为Redhat,略微有不同。
原理与效果
在服务器安全维护中,需要对监听80端口的进程进行最小权限原则的实现。
而在Nginx的实现中,采用了多线程并发控制访问的机制。
为了实现最小权限,需要对Nginx的配置文件进行修改。
首先使用以下命令查看Nginx进程信息
ps -ef | grep nginx
可以看到master进程与worker进程已经分别由root与rktest所拥有,而在网页文件的权限配置上,文件为其它用户(rk)所有,rktest无法对该文件区域做修改操作,而在FTP登录中使用账户rk进行上传操作,使得Nginx无法对网页文件作出修改与增加操作。
步骤:
1、修改文件属性
使用chown命令可以修改文件或目录所属的用户:
命令:chown 用户 目录或文件名
例如:chown qq /home/qq (把home目录下的qq目录的拥有者改为qq用户)
使用chgrp命令可以修改文件或目录所属的组:
命令:chgrp 组 目录或文件名
例如:chgrp qq /home/qq (把home目录下的qq目录的所属组改为qq组)
命令:chown 用户 目录或文件名
例如:chown qq /home/qq (把home目录下的qq目录的拥有者改为qq用户)
使用chgrp命令可以修改文件或目录所属的组:
命令:chgrp 组 目录或文件名
例如:chgrp qq /home/qq (把home目录下的qq目录的所属组改为qq组)
将网页文件改为所属用户可写可读,同组用户、其它用户只读,将临时文件夹设为所有用户可写可读。
注意目录的可运行权限,否则其它用户访问不了该目录。
2、修改Nginx配置文件
Ubuntu下默认为/etc/nginx,配置文件为nginx.conf,我的在/usr/local/nginx
一般服务器管理员均会转移Nginx的默认安装位置等配置。
打开配置文件。
vi nginx.conf
参考我的另一篇文章:
《Nginx配置文件详细说明》 http://blog.csdn.net/rk2900/article/details/8275762
将user修改为你需要运行的账户
OK
3、平滑重启
键入命令实现平滑重启,防止对服务器上现有网站的影响。
/usr/nginx/sbin/nginx -s reload
此时已经实现Nginx进程的最小用户权限。