我正在阅读《Linux内核开发》这本书,在第5章“系统调用实现”第77页中说
例如,capable(CAP_SYS_NICE)检查调用方是否具有修改其他进程的精确值的能力。默认情况下,超级用户拥有所有功能,而非超级用户则不拥有。例如,这是reboot()系统调用。请注意,第一步是如何确保调用过程具有CAP_SYS_REBOOT。如果删除了一条条件语句,则任何进程都可以重新引导系统。
但是,在我的Debian Sid中,我可以使用gnome或通过执行/ sbin / reboot来重启机器,而无需sudo或su。这怎么可能?
也许与systemctl?
ls -l /sbin/reboot
lrwxrwxrwx 1 root root 14 Jun 28 04:23 /sbin/reboot -> /bin/systemctl
编辑:我的用户组
[damian@xvz:~]$ groups
damian sudo wireshark bumblebee
编辑2:systemctl权限
[damian@xvz:~]$ ls -l /bin/systemctl
-rwxr-xr-x 1 root root 626640 Jun 28 04:23 /bin/systemctl
systemctl
。是什么ls -l /bin/systemctl
告诉你吗?