linux php运行用户,linux下nginx,php运行用户和ftp用户权限分配

昨天发生了一个小插曲,误操作将本域名下的文件都设置成了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了。

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

find /path -type f -exec chmod 644 {} \; //设置文件权限为644

find /path -type d -exec chmod 755 {} \; //设置目录权限为755

1

2

3

find/path-typef-execchmod644{}\;//设置文件权限为644

find/path-typed-execchmod755{}\;//设置目录权限为755

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

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

chmod -R 644 目录/*.*

1

chmod-R644目录/*.*

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值