用户想让PHP在/ home /目录下写文件,他build议我做usermod -a -G www-data username ,其中username是他的用户名。 我不确定这是否是一个安全问题。
接近这个最好的方法是什么?
build议的命令将用户添加到www-data组。 这可能会给他意想不到的额外权限,特别是他将能够访问任何限制在www-data组的文件。 这可能比你想要的要多得多。
例如,假设有两个用户发出这个请求并被添加到www-data组中,并且每个用户打开~/www-shared到www-data组。 然后,每个人都可以读取和写入其他的www-shared目录。
访问控制列表看起来更符合上述目的。 这要求您的操作系统和文件系统支持ACL。 在Linux上,确保使用acl选项安装文件系统。 然后,用户可以运行setfacl -m user:www-data:rwx ~/www-shared与www-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