我有一个名为“音乐”的目录和两个组:音乐、歌手。
我执行了
chgrp music music
我希望授予歌手组对 /music 目录的读写权限,但我不想更改所有权。
这可能吗?
我对 chown 和 chgrp 有点困惑。我相信 chown 更改单个用户而不是一个组的所有权? chgrp 改变组?
有没有一种方法可以设置组所有权,但向其他指定组授予权限?
答案1
使用传统权限无法做到这一点,但可以使用getfacl
和setfacl
命令(通常通过acl
包提供)来完成。
getfacl
允许您读取目录或文件的 ACL 条目。
setfacl
允许更改目录或文件的 ACL 条目。
在您的示例中,您需要运行类似以下命令的命令:
setfacl -m g:music:rwx /path/to/music
setfacl -m g:singers:rwx /path/to/music
-m
到modify
,g
修改组 ACL、music
组singers
名称、rwx
要应用的传统权限、/path/to/music
要修改 ACL 的目录的路径。
要使其默认应用于音乐文件夹中创建的任何新文件/目录,您需要添加 的标志-d
,default
并且要递归地应用于所有现有文件/目录,您需要添加-R
的标志recursive
。