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