在我的笔记本电脑上进行测试时,我只需将 的每个子目录 chown/var/www
到我的myuser:www-data
即可。但是,现在我正在设置面向公众的服务器,我想知道这是否是正确的方法?如果不是,允许非 root 帐户写入 的最佳方法是什么/var/www
。
答案1
一般来说,我会将目录 chown 设置为myuser:root
,并将模式设置为0755
(对于目录;0644
对于文件)。
我不会让他们成为www-data
组,因为你的 Web 服务器在该用户/组下运行。如果有人入侵了你的 Web 服务器,你肯定不希望他们能够在任何地方写入文件。你确实希望确保文件可读但是www-data
你可以通过设置“其他”的权限来允许它。
另一个选择是让/var/www
root 完全拥有,并始终使用sudo
它将文件复制到其中。这可以帮助您在更改网站之前仔细考虑自己在做什么,但并不适用于脚本更新。
答案2
我将保留默认的所有权和权限,并使用 Posix ACL 向需要它的用户授予写权限。
手册页acl(5)
提供了很好的概述和手册页getfacl(1)
和setfacl(1)
将告诉您如何实际读取和写入 ALC。
答案3
一般来说,我做的事情和你做的类似。如果是单个用户需要访问,我会将 /var/www/htdocs 分配给该用户,然后就完成了。如果多个用户需要远程访问,我建议使用 wiki、wordpress 或其他可以为您管理访问权限的 CMS。执行此操作的最佳方法确实会因您的用例而异。如果您能更清楚地了解您要用它做什么以及您需要什么。您将得到关于如何正确配置它的更好的答案。
答案4
您可能应该将站点设置为虚拟主机,然后可以使用 /srv/sites/yourdomain.com/ 作为或作为文档根目录。然后,创建一个 yourdomain 组,或者直接将其命名为“webadmin”或其他名称,然后将您的用户添加到该组。