
我正在嘗試 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 的討論,這種機制在許多不同的桌面上使用。