如何在 14.04 中从 lightdm 禁用关机/重启?

Ale*_*lex 10 shutdown policykit lightdm 14.04

在 12.04 中,可以通过在/etc/polkit-1/localauthority/50-local.d(改编自此处)中添加以下限制来防止系统关闭或从登录屏幕重新启动:

[Disable lightdm PowerMgmt]
Identity=unix-user:lightdm
Action=org.freedesktop.consolekit.system.restart;org.freedesktop.consolekit.system.stop
ResultAny=no
ResultInactive=no
ResultActive=no
Run Code Online (Sandbox Code Playgroud)

对于 14.04,此规则似乎不再有效。任何建议如何实施限制?

Ale*_*lex 10

我想我已经找到了原因:行动似乎已经更改为“org.freedesktop。login1(以及类似).reboot”。

添加以下几行作为/etc/polkit-1/localauthority/50-local.d/restrict-login-powermgmt.pkla工作:

[Disable lightdm PowerMgmt]
Identity=unix-user:*
Action=org.freedesktop.login1.reboot;org.freedesktop.login1.reboot-multiple-sessions;org.freedesktop.login1.power-off;org.freedesktop.login1.power-off-multiple-sessions;org.freedesktop.login1.suspend;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=no
ResultInactive=no
ResultActive=no
Run Code Online (Sandbox Code Playgroud)

您仍然会看到一个确认对话框,但没有确认按钮。看起来丑陋,但有效;)

不幸的是,这适用于所有用户,而不仅仅是 lightdm 会话,因此如果需要,您必须添加第二条规则以将他们列入白名单。

请注意,此方法仅阻止从 GUI 发出的重新启动/等命令。要从命令行阻止重启/等命令,可以使用 molly-guard - 如禁用所有用户的关机命令中所述,甚至是 root - 结果?