我如何强制通过 web 表单上传的文件归用户:www-data 所有?

我如何强制通过 web 表单上传的文件归用户:www-data 所有?

通过 Web 表单上传文件时,这些文件将归 Apache 进程所有(例如,Ubuntu 上的 www-data:www-data)。

我们希望用户拥有一个 public_html 目录。问题是,通过 Web 进程上传的任何文件都无法再由该用户编辑/管理。

我如何强制通过 Web 表单上传的文件的所有权始终为用户:www-data,其中用户当然是 Linux 用户。

我注意到在 /etc/apache2/envvar 中有两行我可以配置这些行:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

上传文件后,所有权由此产生吗?我是否可以为 APACHE_RUN_USER 设置一些内容,使其默认为通常在 /home/(user) 中找到的用户?

或者有更好的方法来处理这个问题?

答案1

作为一个有点激烈的措施,你可以使用mpm_itk以不同的用户身份运行网站的不同部分。

另一个更好的选择是使用文件 ACL 并设置默认权限,以允许用户随意更改文件。为此,您可以使用setfaclsetfacl -m "default:user:$USERNAME:rwX" $DIRECTORY

相关内容