如何使/sbin/shutdown、/sbin/reboot 等在16.04 中再次需要sudo?

Byt*_*der 18 permissions reboot root sudo shutdown

无论出于何种原因,我们不再需要成为 root (或使用sudo)来运行/sbin/shutdown/sbin/reboot等等。

这似乎是因为这些可执行文件现在是符号链接,/bin/systemctl可以像普通用户一样处理所有内容。

但是,如果我想要shutdownreboot再次要求 root 身份验证怎么办?我怎样才能做到这一点?

mur*_*uru 5

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-offorg.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)

请注意,它允许活动用户关闭电源、重新启动等。