这对我来说有点令人困惑,所以我希望有人可以快速、一劳永逸地解释一下。
我有一个用户“ John
”,并创建了名为“ John
”的组。我将约翰设为组 John 的“主要组成员”,并将用户www-data
设为组 John 的成员。
我创建了 /home/john 和chown john:john
。
文件和目录都是chmod 755
,因此www-data
无法写入是有道理的,而这正是我想要的。
我是否需要将所有内容的 chmod 设置为 775,或者有没有更好的方法来安全地完成此操作?
答案1
有不同的方法可以实现:
chmod 775
如果我理解正确的话,用户www-data
是组的一部分john
。因此,在此设置下,此用户也可以写入您的目录。chown www-data
您还可以将目录的所有权转让给www-data
。现在显然www-data
可以写入。但是在此设置下,用户john
无法写入。- 使用 POSIX ACL
ACL 代表访问控制列表。使用此机制,您可以为其他用户提供额外的权限,即写入www-data
。请参阅此答案以获取说明:如何创建具有不同于默认权限的永久权限的目录
答案2
我认为,如果您不希望其他组成员写入该区域并且只读,则 755 是合适的权限,但如果您确实希望组写入,则应使用 775。