36 unix permissions
我被要求向另一个用户的主文件夹中的目录添加 group-wrx 权限。
我相信我应该chmod 771 -R directoryname在父目录中运行。我找不到如何指定要向哪个组授予这些权限。我个人在许多组中,并且在一群我不知道作为 root 的人中。
以防万一,系统运行的是Red Hat Linux 5.4。
Jon*_*ler 41
该chmod()系统调用,并通过扩展chmod程序,不影响该组的文件或目录的(或其他类型的文件:块特殊的,个性独特,插座,...符号链接是一种特殊情况的东西)。因此,授予权限的组将是文件或目录所属的组。
要添加组rwx权限,您应该使用:
chmod -R g+rwx DirectoryName
Run Code Online (Sandbox Code Playgroud)
但是,这会为每个文件和每个目录添加权限,并不是所有文件都应该是可执行的。就我个人而言,如果有人为我的所有(或任何)目录提供组写权限,我会非常不高兴,但那是另一回事了。
要仅影响目录,请find改用:
find DirectoryName -type d -exec chmod g+rwx {} +
Run Code Online (Sandbox Code Playgroud)
(+符号是 POSIX 2008;虽然 Linux 支持,但并非所有 Unix 系统都支持它。)
小智 13
ext文件系统上的每个文件都有:
如果您在文件上设置 rwx 组权限,则只有该文件的所有者组才能读/写/执行它。但是,您可以通过以下方式更改用户和所有者:
chown username file1 file2 ...
chown -R username somedir
chgrp groupname file1 file2 ....
chgrp -R groupname somedir
chown username:groupname file1 file2 ...
Run Code Online (Sandbox Code Playgroud)
扩展文件系统权限有不同的实现,即Mac OS X 上的ACL(访问控制列表)。