我对学习如何使用 Linux 很感兴趣,但在学习 SUID 和 GUID 时,我一直无法理解它到底是做什么的。现在我知道它授予用户或组的权限,但具体怎么做呢?
这是我不太明白的事情;如果文件设置了 SUID 位,是否意味着不属于该组也不是原始所有者的另一个用户现在对该文件拥有与文件所有者相同的权限。例如,文件设置了以下权限:
-rws-rw-r
这是否意味着属于其他类别的用户现在拥有该文件的所有者级别的权限?
对于 GUID 来说也是一样:如果s
设置了位,那么每个人是否都拥有与组相同的权限?
Rwx-rws-r
这是否意味着所有其他用户都具有与该组相同的权限(读写)。
另外,这种功能的目的是什么?为什么x
当我看到s
位设置时总是省略(执行)权限?
答案1
SUID 位允许用户以所有者的身份执行文件。这对被执行文件可以访问的其他文件有影响:被执行文件可以访问所有者可以访问的所有文件(但通常执行文件的用户可能无法访问)。
查看一些示例和更多详细信息,例如这里