如何使用“chmod”指定组

如何使用“chmod”指定组

我被要求将 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

每个文件扩展文件系统有:

  1. 所有者用户
  2. 所有者群组
  3. 此用户、此组和其他所有人的权限。

如果您为文件设置了 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 上。

相关内容