我有两个组“组 1”和“组 2”
我也有文件夹“文件夹”
我想给予第 1 组读写权限,而第 2 组只读。
有什么建议吗?
答案1
让我说清楚:
您想要
group1
拥有特定文件夹的读/写访问权限。您希望
group2
拥有该文件夹的只读访问权限。您不想
others
拥有该文件夹的读取权限。
默认情况下,Linux 的权限系统不允许这样做。原因很简单:每个 inode 只有三位 ( rwx
) 描述权限对于特定群体,即拥有该 inode 所引用的文件/目录的组。任何不是所有者也不属于该组的用户都会自动归入others
。实际上,这通常就足够了,但在极少数情况下可能不够。
好消息是 Linux 实际上支持ACL(访问控制列表),允许更细粒度的访问控制。为了启用 ACL,您必须添加acl
到挂载选项。例如,如果包含要设置高级访问控制的目录的分区按如下方式挂载/etc/fstab
:
/dev/sda1 / ext4 defaults 0 1
...你可以将其更改为:
/dev/sda1 / ext4 acl,defaults 0 1
然后您需要重新挂载文件系统(例如mount -o remount /dev/sda1
),或者简单地重新启动。
接下来,让我们确保您的文件夹/path/to/folder
授予 的读/写访问权限group1
。权限应该类似于
drwxrwx--- 2 owner group1 4096 Dec 14 02:42 folder
此外,您想授予 的读取权限group2
,根本无法访问others
。为此,请发出命令
setfacl -m g:group2:rx /path/to/folder
就是这样。稍后您可以使用 查看该文件夹的 ACL 权限getfacl
,即:
getfacl /path/to/folder
更多信息请点击这里:ACL:扩展文件权限。