/usr/bin/sudo 的访问权限“rws”和“root root”的含义

/usr/bin/sudo 的访问权限“rws”和“root root”的含义

在下面的访问权限中,我不确定第二个“root”代表什么。

第一个是拥有权限的所有者rws(s 代表什么?),第二个是名为 root 的组。它是一个只有 root 用户才能加入的特殊组吗?

$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 157760 Jan 11 2016 /usr/bin/sudo

如果我错了,那么上面的访问权限是什么意思?

答案1

in代表意义srwssetuid设置用户 ID。这是一个特殊的权限位,允许程序在任何用户运行时以有效的所有者的 UID,在本例中为 root。因此,当您作为普通用户运行sudo可执行文件时,实际上是以 root 身份运行。此权限位存在安全风险,应仅在绝对必要时应用。

setuid来自的位的解释Linux 命令行作者:William E. Shotts Jr

当应用于可执行文件时,它会将有效用户 ID 从实际用户(实际运行程序的用户)设置为程序所有者的有效用户 ID。通常,这被赋予超级用户拥有的几个程序。当普通用户运行“setuid root”程序时,该程序将以超级用户的有效权限运行。这允许程序访问普通用户通常被禁止访问的文件和目录。显然,因为这会引起安全问题,所以必须将 setuid 程序的数量保持在绝对最低限度。

root列表中的第二个是团体拥有该文件,并且只有用户 root 在组 root 中:

$ getent group root
root:x:0:

以下是具有不同用户和组所有权的文件的示例:

-rw-r----- 1 root shadow 1456 Nov 22 20:08 /etc/shadow

这意味着该文件只能由 root 读取和写入,但组成员阴影也可以读取该文件。

相关内容