我正在管理一个网络环境,昨天我遇到了一个有趣的情况。当普通用户要求主机关闭时,如果其他用户在本地登录,则主机拒绝这样做。但是,当其他用户通过 SSH 登录时,情况并非如此。如果一个用户在本地登录并且一个用户通过 SSH 登录,并且本地登录的用户尝试关闭它甚至没有警告就成功了,并且另一个用户的 SSH 连接突然终止。我的问题是,有没有办法像针对本地用户的政策那样防止这种情况发生?我已经查看了手册页,sshd_config但找不到任何似乎相关的内容。
编辑(附加信息。):
网络上有 4 个操作系统:Mandriva 2009、Mandriva 2010.2、Mandriva 2011 和 Ubuntu 11.04。我所指的具体情况是 SSH 用户位于 Mandriva 2009 主机上,本地用户位于 Mandriva 2011 主机上。
Mandriva 2009 主机使用 GNOME 2.28 环境,2010.2 主机使用 GNOME 2.32,2011 主机使用 KDE Plasma,Ubuntu 11.04 主机使用 Unity。
更新
正如我在这个问题中所指出的,我查看了下面的polkit操作/usr/share/polkit-1/actions/并发现(在文件中org.freedesktop.consolekit.policy)一个称为org.freedesktop.consolekit.system.stop-multiple-users抛出消息的操作
System policy prevents stopping the system when other users are logged in
Run Code Online (Sandbox Code Playgroud)
我在想(由于org.freedesktop.*命名约定)这是通过 D-BUS 发送到 DM 的某种信号。我想如果我能找出触发这个polkit动作的信号,我应该能够修改它的行为。有任何想法吗?
更新 2
我今天尝试了一个小实验,它给了我非常奇怪的结果。我尝试通过 SSH 登录到一个盒子,并确保没有其他用户登录到任何 …
我一直在阅读这个问题,我想知道在 KDE 中暂停的过程是什么?无论是 RAM 还是磁盘..
当我单击暂停或合上盖子时,会触发什么?导致某个程序被执行的事件链是什么?谢谢你。