【问题标题】:Permission code clarification needed需要澄清权限代码
【发布时间】:2011-07-24 18:52:06
【问题描述】:

我正在阅读一些文档,其中开发人员说某个文件需要设置为 +rx 模式,因为该文件正在被外部服务访问

这指的是什么 CHMOD 代码? 777?

谢谢

【问题讨论】:

    标签: unix file-permissions chmod


    【解决方案1】:

    +rx 表示:将读取和执行权限(555)减去 umask 位添加到默认权限。

    通常,umask 为 022,默认权限为 644,因此结果为 755。

    计算0644 | (0555 & ~0022)

    +rx                : 555 -> 101 101 101
    Umask              : 022 -> 000 010 010 &~
                       ======================
    Add these perms    : 555 -> 101 101 101
    Default permissions: 644 -> 110 100 100 |
                       ======================
    Result             : 755 -> 111 101 101
    

    【讨论】:

    • umask 从权限中按位减去,而不是与它们进行异或:perm & ~umask
    • 不应该是(0644 | 0555) & ~0022
    • @Olayinka 不应该是(0644 | 0555) & ~0022。这里的“默认权限”是指文件的当前模式。通过添加+rx(受umask影响),您得到计算:0644 | (0555 & ~0022)(通过按位对称或我在示例中将其交换为(0555 & ~0022) | 0644)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2012-10-22
    • 2011-11-09
    • 2012-07-18
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多