设置上传文件的所有权

设置上传文件的所有权

我已经在 Ubuntu 上设置了 Apache 和 vsftpd。我对 Linux 还很陌生,但我正在尝试弄清楚如何自动设置所有权。

当我通过 FTP 上传文件时,除非我将所有权设置为 www-data,否则我无法访问它们。

我每次上传内容时都需要这样做: sudo chown -R www-data:www-data /folder/

如何实现这一点自动发生?

答案1

  1. 将所有文件/目录的组递归更改为 www-data 组

    chgrp -R www-data /folder/

  2. 递归地向组授予写权限

    chmod -R g+w /folder/

  3. 将所需的 ftp 用户添加到 www-data 组

    usermod -a -G www-data ftp_user

现在 ftp_user 应该对 /folder/ 和子文件夹具有读/写权限。这意味着他/她可以上传文件,但这些文件的所有者和组为 ftp_user。换句话说,Web 服务器用户 (www-data) 将不具有对这些文件的写权限。为了解决这一矛盾,您可以在父目录上设置 SGID。

  1. chmod g+s /folder/

从现在开始,ftp_user 创建的每个文件/目录的所有者都是 ftp_user,但组将自动更改为 www-data。

相关内容