如何授予不同组对特定文件夹的不同权限?

如何授予不同组对特定文件夹的不同权限?

我有两个组“组 1”“组 2”

我也有文件夹“文件夹”

我想给予第 1 组读写权限,而第 2 组只读。

有什么建议吗?

答案1

让我说清楚:

  1. 您想要group1拥有特定文件夹的读/写访问权限。

  2. 您希望group2拥有该文件夹的只读访问权限。

  3. 您不想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:扩展文件权限

答案2

这些命令应该可以工作:

sudo chown -R OWNER-USERNAME:GROUPNAME /PATH/TO/Folder
sudo chmod -R 664 /PATH/TO/Folder

这将有望为所有者和组提供读写访问权限,并为“其他”提供只读访问权限,其中应包括第 2 组

chmod手册页这里.
chown手册页这里

要重置任何更改以便只有所有者有访问权限,请运行:

sudo chown -R OWNER-USERNAME:OWNER-USERNAME /PATH/TO/Folder
sudo chmod -R 600 /PATH/TO/Folder

相关内容