Linux权限值为:

1、执行

2、写入

4、读取

 

创建一个sftp用户,添加到nginx和php-fpm同组(比如www用户组)

useradd -g www sftp

 

修改sftp用户的默认权限umask

修改/home/sftp/.bashrc文件,在最后添加掩码设置命令

umask 002

对应的目录权限就是775,文件权限就是664。(目录的权限是777-掩码,文件的权限是666-掩码)

 

配置文件的选择

对于交互式登录(login shell) ,系统读取的只有/etc/profile 一个文件,但是/etc/profile 会按顺序依次判断下面3个文件是否存在
~/.bash_profile
~/.bash_login
~/.profile

如果存在就读取并不再读取后面的配置文件(也就是只读取这3个文件中的第1个)。bash 之所以会读取这么多配置,主要是出于对其他 shell 的兼容。而 ~/.bash_profile 会调用 ~/.bashrc ,也就是说 Login shell 最后读取的是~/.bashrc

非交互式登录(non-login shell) , 只会直接读取~/.bashrc

所以最好的修改umask权限的方式就是直接修改 ~/.bashrc 文件

 

最后,将web目录(/data/www)下的已有目录和文件的权限修改过来

//设置文件权限为664

find /data/www -type f -exec chmod 664 {} \;

//设置目录权限为775
find /data/www -type d -exec chmod 775 {} \;

 

后面使用sftp用户重新登录后,就会看到新创建的目录和文件已经是775和664权限了

posted on 2021-01-11 15:48  lbnnbs  阅读(2659)  评论(0编辑  收藏  举报