文件权限:755和4755有什么区别

文件权限:755和4755有什么区别

两种权限集都意味着所有者可以读、写、执行;组和世界都可以读取、执行。

我预计 4755 是 r--rwxr-xr-x,但实际上是-rwsr-xr-x

它是什么?

将我的评论复制到下面的 StephenKitt

我一直将权限可视化为文字位。所以 755 是111101101,但现在我们100在这些前面有一个 - 所以现在100111101101以某种方式组合起来在第一个字段中放置一个 's'。它不是 AND,因为7&4它是 4,而且事实上7已经是我们能达到的最高值了。很明显,我的想象/期望是误入歧途的。

答案1

您的二进制可视化是正确的,但您的角色可视化不是(这很好,它有点复杂)。

前三位映射为每个字符三元组中的字符变体,如下所示:

  • 最上面的位setuid映射到用户权限的可执行位置,如下:

    • -如果可执行位和 setuid 位均未设置;
    • x如果仅设置了可执行位;
    • S仅设置了 setuid 位;
    • s如果两个位都被设置;
  • 第二位 setgid 同样映射到组权限的可执行位置,同样使用-x和;Ss

  • 第三位,即粘性位,映射到“其他”权限的可执行位置,但使用-x和。Tt

因此,这十二位适合九个字符:

       11          10           9
        |           |           |
 8  7   6    5  4   3    2  1   0
 r  w  x/s   r  w  x/s   r  w  x/t

答案2

你会得到同样的东西以不同的方式表达。 4755 是权限,其中: 4: 表示该二进制文件将以所有者(通常是 root)身份执行,您可以参考 man setuid 命令了解更多信息 7: 表示该文件可由所有者写入、读取和执行 5:该组可以读取和执行 5:意味着任何用户都可以读取和执行(应该rx在您的示例中)

rwsr表示uid设置为用户(也可以设置为组)。

相关内容