为什么将用户添加到 sudo 组会授予他访问 sudo 命令的权限?

为什么将用户添加到 sudo 组会授予他访问 sudo 命令的权限?

Ubuntu 新手来了!

据我所知,组的存在是为了能够轻松地同时将文件权限分配给多个用户,或者允许特定应用程序安全地访问文件,例如使用影子组。但是为什么将用户添加到 sudo 组会允许他使用 sudo 命令?

一开始我以为是因为 sudo 的二进制文件属于 sudo 组。但运行 ls -l 后发现并非如此。

ls -l /bin/sudo
-rwsr-xr-x 1 root root 232416 Aug  4 13:35 /bin/sudo

存在什么机制可以允许某个群组的用户访问某个命令?

答案1

如您所见,/bin/sudo二进制文件已将位suid设置为其权限(注意 in s-rwsr-xr-x。这意味着无论谁调用它,它都由其所有者(即用户)运行root

之后,它会检查目录/etc/sudoers中的和文件/etc/sudoers.d的配置,以检测您是否可以使用sudo。这里定义了sudo组中的用户可以使用sudo

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

相关内容