我正在尝试 Debian,我想知道他们关于 systemd 和重新启动的权限。我进行了以下观察(带有 lightdm 和 i3 WM 的 Debian Buster):
- 命令
poweroff
等映射到/sbin/poweroff
的链接/bin/systemctl
/bin/systemctl
具有权限-r-s------
并且用户无法访问- 结果,
systemctl poweroff
等将无法工作,甚至systemctl --user mycommand
无法工作(与 Arch Linux 等不同)。
然而,当我安装 KDE 时,我可以从菜单中关闭电源并重新启动,而无需输入密码!我在网上没有找到任何有用的答案,我不明白这是怎么可能的。他们是如何实现这一目标的?
答案1
有一种称为“polkit”的机制,用于(除其他外)允许用户本地登录到机器来执行传统 UNIX 系统上需要 root 的某些任务,例如关闭机器、连接到网络等。
有更深入的答案gnome 如何在没有 root 权限的情况下重新启动?,忽略问题中 gnome 的讨论,这种机制在许多不同的桌面上使用。