设置上传文件的所有权

jan*_*dso 6 linux ubuntu apache-2.4 vsftpd

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

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

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

如何使这自动发生?

Vik*_*tas 6

  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。