用户希望PHP能够在他的目录中写入文件

用户想让PHP在/ home /目录下写文件,他build议我做usermod -a -G www-data username ,其中username是他的用户名。 我不确定这是否是一个安全问题。

接近这个最好的方法是什么?

build议的命令将用户添加到www-data组。 这可能会给他意想不到的额外权限,特别是他将能够访问任何限制在www-data组的文件。 这可能比你想要的要多得多。

例如,假设有两个用户发出这个请求并被添加到www-data组中,并且每个用户打开~/www-sharedwww-data组。 然后,每个人都可以读取和写入其他的www-shared目录。

访问控制列表看起来更符合上述目的。 这要求您的操作系统和文件系统支持ACL。 在Linux上,确保使用acl选项安装文件系统。 然后,用户可以运行setfacl -m user:www-data:rwx ~/www-sharedwww-data用户共享一个目录。

尽pipe如此,这个问题听起来像许多运行Web服务器的人以前所面对的。 所以可能会有更好的解决scheme,涉及Apache工具箱。

这不是一个好主意,因为用户www-data将在用户组中。 所以networking服务器可能会操纵这个用户的所有文件。

此外,系统上的任何其他用户都可以通过一个简单的php脚本从给定用户的文件读写。

给networking服务器提供更多的写入/读取权限通常不是一个好主意。 所以你可能只想在需要写入权限的目录(甚至文件)中扩大权限。 例如,这可以是一个上传目录。

喜欢…

 chgrp www-data /home/foobar/public_html/wordpress/uploads chmod -R g+rwX /home/foobar/public_html/wordpress/uploads