FTP 上传后如何自动 chown/chgrp 文件?

FTP 上传后如何自动 chown/chgrp 文件?

我有一个新的 VPS 设置,使用 Debian + LEMP 堆栈。想知道如何自动将通过 FTP 上传到 /srv/www/siteroot 的新文件 chown/chgrp 到 www-data:www-data?

我认为这可以通过适当的 umask 来实现?

答案1

umask设置会影响新创建的文件和目录的权限位。它不会影响所有权。

您可以将上传文件的用户添加到该www-data组。FTP 服务器中的 umask 022 将确保这些文件可由 Web 服务器读取但不可写入。

如果您还使用 PHP,则可以设置suphp,以便上传的 php 脚本将以其所属用户的身份执行。这样,您的脚本也将能够写入您的文件(如果以 www-data 身份执行则不能)。

答案2

umask 设置文件的权限,而不是所有权。

您可以使用它chgrp www-data <dir>; chmod +s <dir>来确保在该目录中创建的所有文件都归 www-data 组所有。我不认为有办法更改所有者,但如果有适当的组权限,那应该没有必要。

答案3

如果您通过 FTP 上传,则 FTP 服务配置文件中应该有一个选项,用于始终在上传的文件上设置特定的用户和/或组。

相关内容