在以下访问权限中,我不确定第二个“根”代表什么。
第一个是拥有权限的所有者rws
(s代表什么?),第二个是名为root的组。它是仅root用户是成员的特殊组吗?
$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 157760 Jan 11 2016 /usr/bin/sudo
如果我错了,那么上述访问权限是什么意思?
将s
在rws
代表setuid
意义设置用户ID。这是一个特殊的许可权位,它允许程序在由任何用户运行时都以所有者(在本例中为root)的有效UID运行。因此,当您以普通用户身份运行sudo
可执行文件时,您实际上是以root身份执行的。此许可位有安全风险,应仅在绝对必要的情况下使用。
该解释setuid
从位Linux命令行由William E. Shotts JR:
当应用于可执行文件时,它会将有效用户ID设置为从实际用户(实际运行程序的用户)的有效用户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读取和写入文件,但是组shadow的成员也可以读取文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句