提问人:joe 提问时间:1/7/2023 更新时间:1/8/2023 访问量:114
SUID、SGID 让我感到困惑 [已关闭]
SUID, SGID are confusing me [closed]
问:
闭。这个问题与编程或软件开发无关。它目前不接受答案。
这个问题似乎不是关于特定的编程问题、软件算法或程序员主要使用的软件工具。如果您认为该问题在另一个 Stack Exchange 站点上是主题,您可以发表评论以解释该问题可能在哪里得到回答。
11个月前关闭。
我注意到 SUID 和 SGID 也有大写字母,这意味着文件或目录没有执行权限。S
如果我将二进制文件的权限更改为 ,为什么用户仍然可以用来更改其密码?在这种情况下,用户将被提升为以所有者身份执行二进制文件。但是 root 没有执行权限。/usr/bin/passwd
-rwSr-xr-x
passwd
root
答:
1赞
mtraceur
1/7/2023
#1
在将有效用户 ID 更改为文件所有者的用户 ID 之前,首先检查权限。
这可能是这样设计的,因为它更有用:如果 SUID 位在检查权限之前生效,那么 SUID 程序实际上只有一个执行权限位 - 要么每个人都可以执行它们,要么没有人可以执行它们。
实际上,更准确地说,组执行权限仍将独立工作,因此:
??s??????
如果 SUID 位在检查权限之前生效,则每个人都可以执行。??S??-???
如果 SUID 位在检查权限之前生效,则任何人都无法执行。??S??x???
如果 SUID 位在检查权限之前生效,则只能由所属组中的人员执行。
通过首先检查权限,我们可以有其他有用的可能性,因为“组”和“其他”位仍然可以完全独立地控制行为。
这也意味着,对于任何给定的文件,您实际上可以回答“这个组中的人可以执行这个吗?”和“其他人可以执行这个吗?”,只需查看“组”和“其他”执行位(vs和vs),而不必总是想“等等,SUID位是否设置好了?”——如果SUID位首先生效,则必须始终检查它,以确定“组”或“其他”位是否确实如此什么。?????x???
?????-???
????????x
????????-
评论