在不更改组所有权的情况下向目录添加组权限?

Min*_*ndy 3 linux

我有一个名为“音乐”的目录和两个组:音乐、歌手。

我执行了

chgrp music music
Run Code Online (Sandbox Code Playgroud)

我希望为歌手组授予对 /music 目录的读写访问权限,但我不想更改所有权。

这可能吗?

我对 chown 和 chgrp 有点困惑。我相信 chown 会更改单个用户而不是组的所有权?和 chgrp 更改组?

有没有办法设置组所有权,但向其他指定组授予权限?

Jas*_*ush 5

使用传统权限无法做到这一点,但可以使用getfaclsetfacl命令(通常可通过acl包获得)来完成。

getfacl 允许您读取目录或文件的 ACL 条目。

setfacl 允许更改目录或文件的 ACL 条目。

在您的示例中,您可能希望运行以下命令:

setfacl -m g:music:rwx /path/to/music
setfacl -m g:singers:rwx /path/to/music
Run Code Online (Sandbox Code Playgroud)

-mto modifyg修改组 ACLmusicsingers组名称、rwx您要应用的传统权限、/path/to/music您要为其修改 ACL 的目录的路径。

要使其默认应用于在音乐文件夹中创建的任何新文件/目录,您需要添加-d标志default,并递归地应用于所有现有文件/目录,您需要添加-R标志recursive.