设置上传文件的所有权

我在Ubuntu上设置了Apache和vsftpd。 我对Linux很新,但是我正在努力想象如何自动设置所有权。

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

我需要这样做,每次我上传的东西: sudo chown -R www-data:www-data /folder/

如何使这自动发生?

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

    chgrp -R www-data /folder/

  2. recursion地给组写权限

    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创build的每个文件/目录将拥有ftp_user作为所有者,但该组将自动更改为www-data。