Byt*_*der 18 permissions reboot root sudo shutdown
无论出于何种原因,我们不再需要成为 root (或使用sudo
)来运行/sbin/shutdown
,/sbin/reboot
等等。
这似乎是因为这些可执行文件现在是符号链接,/bin/systemctl
可以像普通用户一样处理所有内容。
但是,如果我想要shutdown
并reboot
再次要求 root 身份验证怎么办?我怎样才能做到这一点?
Systemd 确实处理shutdown
,reboot
和其他命令,并且分配的默认权限是允许的。要更改此设置,您需要创建 Polkit 规则。.pkla
在/etc/polkit-1/localauthority/50-local.d
(例如confirm-shutdown.pkla
)中创建一个文件,其中包含:
[Confirm shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.*
ResultActive=auth_admin_keep
Run Code Online (Sandbox Code Playgroud)
了各种关闭,重新启动等命令,在Polkit术语,在操作org.freedesktop.login1
中,例如,org.freedesktop.login1.power-off
,org.freedesktop.login1.reboot
等。这里的特定问题是默认的配置,这是在/usr/share/polkit-1/actions/org.freedesktop.login1.policy
:
[Confirm shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.*
ResultActive=auth_admin_keep
Run Code Online (Sandbox Code Playgroud)
请注意,它允许活动用户关闭电源、重新启动等。