vsftpd,虚拟用户和权限。避免使用 chmod 777?

vsftpd,虚拟用户和权限。避免使用 chmod 777?

我正在vsftpd使用虚拟用户(通过 MySQL db 管理)运行。每个用户的主目录/默认目录都归 拥有vsftpd:vsftpd

我需要授予用户对某些网站文件的读/写权限,以便apache:apache他们可以进行一些更改。我将 Web 目录绑定到 ftp 用户主目录/默认目录中的目录。登录时,用户无法写入 Web 文件夹,除非我将文件设置为 777。

是否可以通过将目录及其文件设置为 777 来进行设置?需要设置 Web 目录apache:apache以便 apache 可以使用它。

答案1

如果文件是静态的,则应该可以使用 chmod 777。如果文件是动态创建的,或者您不想让每个人都有访问权限,则可以使用 ACL。为此,您需要激活 ACL(如果尚未激活)(安装选项)。然后您可以像这样设置权限:

setfacl -R -m user:apache:rwx -m default:user:apache:rwx /path/to/website/dir
setfacl -R -m user:ftp:rwx -m default:user:ftp:rwx /path/to/website/dir

这些命令为用户 ftp 和 apache 递归设置写权限,以便新文件可以继承这些权限。

相关内容