【问题标题】:How to set world permissions to be the same as group permissions?如何将世界权限设置为与组权限相同?
【发布时间】:2013-06-26 13:21:12
【问题描述】:

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

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

【问题讨论】:

    标签: bash shell chmod


    【解决方案1】:

    来自chmod(1) man page(相关部分摘录):

    -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
    

    【讨论】:

    • 请注意,* 不包括名称以 . 开头的文件和目录。根据您的要求,您可能更喜欢chmod -R o=g .
    猜你喜欢
    • 1970-01-01
    • 2017-05-06
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    相关资源
    最近更新 更多