不久前我升级到了 saucy,现在即使我通过 ssh 连接到该计算机,X11 用户也可以关机。
升级之前,ssh 连接会阻止 X11 用户关机(至少使用常规关机菜单选项)。
我怎样才能重新建立该功能,以便如果我正在进行升级,X11 用户就不能直接关闭他们的计算机?
更新:
看看接受的答案防止 SSH 连接开启时机器进入睡眠状态其中包括一个解决方案,使用systemd-inhibitor
它可能是最好的方法。我不太清楚如何在 SSH 中集成该功能,但这可能是最现代的方法(自 15.04 以来)。抑制剂可以防止睡眠、关机、重启、休眠……随便你怎么说。
答案1
检查文件中的以下条目是否/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
设置正确。它们通过 PolicyKit 守护进程处理关机/重启请求的行为:
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<message>System policy prevents stopping the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<message>System policy prevents restarting the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
</action>
两者都应配置为allow_active
语句显示的那样auth_admin_keep
,这意味着执行此操作需要管理用户身份验证。注意当用户属于管理组(sudo
,admin
)时,即使已登录,该用户也可以关机。
您有 2 个选择:从该组中删除用户或设置allow_active
为no
。