我被要求将 group-wrx 权限添加到另一个用户主文件夹中的目录。
我认为我应该chmod 771 -R directoryname
在父目录中运行。我找不到如何指定哪个我想将这些权限授予哪些组。我个人属于多个组,并且还属于一些我不了解的组,我拥有 root 权限。
如果有事的话,系统正在运行红帽Linux5.4.
答案1
系统chmod()
调用以及扩展的chmod
程序不会影响文件或目录的组(或其他类型的文件:块特殊、字符特殊、套接字……符号链接是一种特殊情况)。因此,授予权限的组将是文件或目录所属的组。
要添加组rwx
权限,您应该使用:
chmod -R g+rwx DirectoryName
但是,这会为每个文件和每个目录添加权限,并且并非所有文件都应该是可执行的。就我个人而言,如果有人为我的所有(或任何)目录提供组写入权限,我会非常不高兴,但那是另一回事。
要仅影响目录,请使用find
反而:
find DirectoryName -type d -exec chmod g+rwx {} +
(+
符号为 POSIX 2008;并非所有 Unix 系统都支持它,但 Linux 支持。)
答案2
每个文件扩展文件系统有:
- 所有者用户
- 所有者群组
- 此用户、此组和其他所有人的权限。
如果您为文件设置了 rwx 组权限,则只有该文件的所有者组可以读取/写入/执行它。但是,您可以使用以下命令更改用户和所有者:
chown username file1 file2 ...
chown -R username somedir
chgrp groupname file1 file2 ....
chgrp -R groupname somedir
chown username:groupname file1 file2 ...
扩展文件系统权限有不同的实现,即ACL(访问控制列表)在 Mac OS X 上。