Ubuntu新手在这里!
据我所知,组的存在使得文件权限可以很容易地同时分配给许多用户,或者允许特定的应用程序安全地访问文件,例如影子组。但是为什么添加一个用户到sudo组就可以让他使用sudo命令呢?
起初我认为这是因为 sudo 的二进制文件由 sudo 组拥有。但是在运行 ls -l 之后,情况似乎并非如此。
ls -l /bin/sudo
-rwsr-xr-x 1 root root 232416 Aug 4 13:35 /bin/sudo
存在什么机制允许组的用户访问命令?
如您所见,
/bin/sudo
二进制文件将suid
位设置为其权限(注意s
in-rwsr-xr-x
)。这意味着无论谁调用它,它都由其所有者(即root
用户)运行。之后,它会检查目录中的
/etc/sudoers
和 文件/etc/sudoers.d
的配置,以检测您是否允许使用的内容sudo
。这就是sudo
允许组中的用户使用的定义sudo
: