设置组权限但没有写访问权限

设置组权限但没有写访问权限

我一直在尝试设置一个共享文件夹来为某个群体存储一些文件,例如/home/project。目前,我已完成以下操作:

创建了一个组,我们将其称为“成员”,并添加了两个用户,user1 和 user2。

当我运行时,cat /etc/group我得到以下返回:

成员:x:1005:用户1,用户2

这至少看起来是正确的。然后,老实说,我按照一些互联网指南创建目录并添加权限。

mkdir /home/project
sudo chown -R root.members /home/project
sudo chmod 775 /home/project
sudo chmod 2775 /home/project

所有这些似乎都很顺利,但是当我以 user2 创建测试文本文件时,user1 可以该文件,但没有写权限。我究竟做错了什么?

答案1

有时,我们在处理技术问题时会考虑一些简单的事情。我们不都是时常这样做吗?当用户注销并再次登录时,将获取组成员身份。

答案2

您的问题不是文件夹的权限,而是新创建的对象的权限。这些权限通过两种机制确定:

  1. umask(始终)
  2. 默认 ACL(如果使用)

umask 确定阻止新对象的哪些权限,其默认值为022,阻止该组和其他组的写入权限。您必须在每次登录时相应地设置此值,例如

umask 002

如果您使用 ACL,则可以为新对象配置组权限:

setfacl -m d:g::rwx /home/project

相关内容