设置安全的nginx+PHP网站目录权限

2013-04-18 03:30:36网管之家
计算机与网络 2013年12期
关键词:进程服务器设置

基于linux系统的web服务器架构听说过很多年了,也用了好几年,不过都是用现成的运行环境,比如虚拟主机、共用VPS。亲手配置、把玩,我还是第一回,初学过程的曲折在意料之中,反复折磨了两三天,终于搞清楚一些linux基础概念和nginx+php配置。今天主要记录nginx+php环境下,原先理解的很混乱的网站目录权限设置。

由于对linux文件权限的概念不清楚,迁移网站到VPS上时,担心设置错了影响网站安全,刚好之前一个网站被挂了马,配置服务器时就特别在意这事了。

配置权限的原则是,在保证网站正常运行下,尽量给最低权限。

我的配置:

1、nginx进程用户是默认用户wwwboy;(暂时还不知道nginx进程用户会对服务器什么地方的权限有影响,配置nginx好像都没碰到权限设置问题)

2、php-fpm 进 程 用 户 配 置 为wwwboy;

3、网站目录所有者设置为ftpuser,由于需要在FTP中对网站文件进行下载(读取)、上传(写入),ftpuser肯定对网站目录有读写权限。

关键点:php-fpm 子进程所使用的用户,不能是网站文件所有者。网站文件所有者和php-fpm 进程用户设为不同的好处是在PHP程序中无法对网站文件进行修改,这样即使网站被挂马了,也能降低很多损失,例如,对方无法在你的正常代码里混入后门。

以前总习惯性地把缓存目录权限设置为777,这回既然注意到安全问题,就想顺便弄清楚一下缓存目录怎么设置才正确合理并安全。其实,了解清楚linux文件权限分配方式,这个疑惑也就明朗了:

假设网站缓存目录名为cache,其所有者为ftpuser。缓存文件是由php-fpm 进程执行写入,相当于用户wwwboy要在用户ftpuser的目录cache里写文件,不被允许的!因此,要分配给wwwboy对cache目录的写权限,chmod o+w -R cache即可,如果ftpuser与wwwboy同一个 用 户 组, 就 chmod g+w -R cache。缓存目录不需要执行权限,所以以往设置777权限的做法相当粗糙,不过在使用虚拟主机的时候,自己无法把握服务器上各种设置,777也是最便捷做法了。

缓存目录需要o+w x,添加x的原因是读取目录的时候需要执行权限,否则文件是写不成功的。除非要生成的文件和写文件的脚本在同一个目录内,不需要读取目录的权限, 也就不需要执行权限。

猜你喜欢
进程服务器设置
中队岗位该如何设置
少先队活动(2021年4期)2021-07-23 01:46:22
债券市场对外开放的进程与展望
中国外汇(2019年20期)2019-11-25 09:54:58
通信控制服务器(CCS)维护终端的设计与实现
得形忘意的服务器标准
知识产权(2016年8期)2016-12-01 07:01:13
计算机网络安全服务器入侵与防御
本刊栏目设置说明
中俄临床医学专业课程设置的比较与思考
社会进程中的新闻学探寻
民主与科学(2014年3期)2014-02-28 11:23:03
地铁出入段线转换轨设置
我国高等教育改革进程与反思
教育与职业(2014年7期)2014-01-21 02:35:04