如何将世界权限设置为与组权限相同?

时间:2013-06-28 17:19:59

标签: bash shell chmod

您将如何以递归方式更改文件或目录的权限,以便将组权限复制到世界权限,而不进行其他更改?例如,要从此目录列表中获取:

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

1 个答案:

答案 0 :(得分:4)

chmod(1) man page(提取的相关部分):

  

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

  

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

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

who 符号“ u ”,“ g ”和“< strong> 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