昨天发生了一个小插曲,误操作将本域名下的文件都设置成了777权限,想改回去,又全部设置成了644,发现出问题了。今天就总结一下昨天晚上熬夜查资料的成果吧。

我想要改改目录权限的初衷,是因为我想将这个服务器配置更像虚拟主机一样,因为我的运行环境是nginx+php-fpm,我将他们的运行用户都设置为nginx,组设置为ftp,以我的名字建了ftp账户,用户名为zhangcunchao,所属当然也是ftp,这样php运行的用户和nginx运行用户和ftp账户都属于一个组,那么我们程序中如果有需要程序有写权限的,只需要指定664即可。

linux的用户是可以共用一个uid的,即,我可以让ftp账户的uid和php运行用户一个id,但是这样,相当于将所用虚拟主机目录都设置为777没有太大区别,安全漏洞太大。既然我们需要配置权限最优的话,是有这样几个原则的。

1.php所在目录,php运行用户是需要对目录执行权限的,不然php运行不了;

2.但是一般的php文件不需要有执行和写的权限,因为php程序时被进程读取加载运行的,所以一般644就可以了,当然也包括其他文件

3.不存放php的目录,如果只需要读,就755,如果需要有写,那么可以775,因为ftp和php是一个组

4,所有需要php对文件有写权限的文件,都可以664了。

这里有两个组合命令,非常好用,可以用于项目初始;

然后我们可以再对需要有写权限的单独开放组的写权限即可

如果一个目录下所有文件都需要有写权限可以这样

尽量避免所有文件目录都777,我们要保证方便的同时,尽量保证安全,权限最低原则

程序本天成,妙手偶得之!我们只是代码的搬运工!

转载请注明:http://www.521php.com/archives/1716/

发表评论

昵称:

网址:

eg.博客主题调用的是Gravatar头像,你可以通过邮箱注册获得头像.
/ 快捷键:Ctrl+Enter