2

您将如何递归地更改文件或目录的权限,以便将组权限复制到全局权限,而无需进行其他更改?例如,从这个目录列表中去:

drwxr-x--- 2 septi septi 4096 Jun 29 01:14 example.d
-rw-r----- 1 septi septi    0 Jun 29 01:14 example.r
-rwxr-x--- 1 septi septi    0 Jun 29 01:14 example.x

...到:

drwxr-xr-x 2 septi septi 4096 Jun 29 01:14 example.d
-rw-r--r-- 1 septi septi    0 Jun 29 01:14 example.r
-rwxr-xr-x 1 septi septi    0 Jun 29 01:14 example.x
4

1 回答 1

4

chmod(1)手册页(提取的相关部分):

-R更改以文件为根的文件层次结构的模式,而不仅仅是文件本身。

和:

符号模式由以下语法描述:

who    ::= a | u | g | o
op     ::= + | - | =
perm   ::= r | s | t | w | x | X | u | g | o

who符号“ ” u、“ g”和“ o”分别指定模式位的用户、组和其他部分。该who符号a相当于ugo

这些perm符号表示模式位的部分,如下所示:

g 文件原始模式中的组权限位。

所以对你来说:

chmod -R o=g *

例子:

$ ls -l
total 0
drwxr-x---  2 carl  staff  68 Jun 28 10:25 example.d
-rw-r-----  1 carl  staff   0 Jun 28 10:25 example.r
-rwxr-x---  1 carl  staff   0 Jun 28 10:25 example.x
$ chmod -R o=g *
$ ls -l
total 0
drwxr-xr-x  2 carl  staff  68 Jun 28 10:25 example.d
-rw-r--r--  1 carl  staff   0 Jun 28 10:25 example.r
-rwxr-xr-x  1 carl  staff   0 Jun 28 10:25 example.x
于 2013-06-28T17:21:56.767 回答