通过用于 VSFTPD、Ubuntu 的 FTP 用户上传/创建从 www-data 用户 PHP 创建的文件夹

通过用于 VSFTPD、Ubuntu 的 FTP 用户上传/创建从 www-data 用户 PHP 创建的文件夹

我有两个用户:www-data 和组www-data ftp_user,用于 VSFTPD 连接到带有组的服务器www-data

有一个由 ftp_user:www-data 拥有的 FTP 文件夹,ftp_folder其权限为: drwxrwxrwx 4 ftp_user www-data 4096

在该文件夹中,我使用简单的PHP脚本创建一个目录:

mkdir('test', 0777, true);
  • PHP 运行www-data。由 PHP 创建的文件夹 ( ftp_folder/test) 归 拥有www-data:www-data,其权限为: drwxr-xr-x 2 www-data www-data 4096

如果我尝试通过 FileZilla (ftp_user) 上传其中的文件(测试文件夹),我会得到

553 无法创建文件。

VSFTPD 配置:

chroot_local_user=YES
allow_writeable_chroot=YES
force_dot_files=YES


file_open_mode=0777
local_umask=033

anon_mkdir_write_enable=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES

如何使该 ftp 文件夹中的所有用户或两者(ftp 和 www-data)都拥有完全访问权限,并且当一个用户创建文件夹/文件时,其他用户也拥有相同的完全访问权限?

答案1

我也遇到这个问题。每当我通过 www-data (PHP) 创建文件夹/文件时。这些文件/文件夹无法通过我的系统用户通过 vsftp 删除。

我经常需要在我的 ubuntu 服务器上运行命令:sudo chown -R root:mySystemUser MyWebsiteFolder

之后我可以通过 vsftp 删除文件/文件夹。

帮助,我不想对新文件不断运行此命令

相关内容