我创建了一个名为 的 ftp 用户" ftp_user "
,但每当通过该用户上传或创建某些内容时,权限就会变为 600,并且组所有者也会更改为 ftp_user
这使得用户www-data
(网络服务器用户)无法读取我必须每次都手动修复 www-data 读取的权限和所有权
我希望权限为 755 或 777,并且组所有者保留为 www-data,以便 www-data 用户仍然可以访问文件
下面newfile
是 ftp_user 创建的文件
-rwxrwxrwx 1 ftp_user www-data 1646 Sep 2 18:58 artisan
-rwxrwxrwx 1 ftp_user www-data 503 Sep 2 18:58 gulpfile.js
-rwxrwxrwx 1 ftp_user www-data 567 Sep 2 18:58 server.php
drwxrwxrwx 2 ftp_user www-data 4096 Sep 2 18:58 tests
-rwxrwxrwx 1 ftp_user www-data 449 Sep 6 12:41 User.php
drwxrwxrwx 3 ftp_user www-data 4096 Sep 22 19:06 bootstrap
drwxrwxrwx 2 ftp_user www-data 4096 Jan 26 15:06 blog
-rwxrwxrwx 1 ftp_user www-data 1357 Jan 26 15:06 composer.json_23nov_16
-rwxrwxrwx 1 ftp_user www-data 1389 Jan 26 15:06 composer.json
-rwxrwxrwx 1 ftp_user www-data 1317 Jan 26 15:06 cc
-rwxrwxrwx 1 ftp_user www-data 67 Jan 26 15:06 info.php
drwxrwxrwx 10 ftp_user www-data 4096 Jan 26 15:06 app
drwxrwxrwx 12 ftp_user www-data 4096 Jan 26 15:06 public
drwxrwxrwx 2 ftp_user www-data 4096 Jan 26 15:06 config
-rw------- 1 ftp_user ftp_user 0 Jan 30 15:26 newfile
有人有解决办法吗?提前致谢 !
答案1
最简单的解决方案可能是将创建文件的目录更改为“www-data”组所有,并在其上设置 g+s 位; IE
chgrp www-data /path/to/data
chmod g+s /path/to/data
在 /path/to/data 下创建的所有文件都将归 www-data 组所有。请注意,如果在子目录中创建文件,您还需要在这些子目录上设置 g+s 位。您可以使用递归方式在目录上设置组 setgid 位
find /path/to/data -type d -exec chmod g+s {} +