Estou administrando um ambiente de rede e tive uma situação interessante ontem. Quando um host é solicitado a desligar por um usuário comum, ele se recusa a fazer isso se outros usuários estiverem conectados localmente. Entretanto, esse não é o caso quando outros usuários estão conectados via SSH. Se um usuário estiver conectado localmente e um usuário estiver conectado via SSH e o usuário conectado localmente tentar desligar, ele será bem-sucedido sem nenhum aviso e a conexão SSH do outro usuário será encerrada abruptamente. Minha pergunta é: existe uma maneira de evitar isso, como a política faz para os usuários locais? Eu já procurei na página de manual sshd_config
e não consegui encontrar nada que parecesse relacionado.
EDIT (Informações adicionais):
Existem 4 sistemas operacionais na rede: Mandriva 2009, Mandriva 2010.2, Mandriva 2011 e Ubuntu 11.04. O caso específico ao qual estou me referindo tinha o usuário SSH em um host do Mandriva 2009 e o usuário local em um host do Mandriva 2011.
Os hosts do Mandriva 2009 usam o ambiente GNOME 2.28, os hosts 2010.2 usam os hosts GNOME 2.32, 2011 usam o KDE Plasma e os hosts Ubuntu 11.04 usam o Unity.
Atualizar
Como observei nesta pergunta , examinei as polkit
ações abaixo /usr/share/polkit-1/actions/
e encontrei (no arquivo org.freedesktop.consolekit.policy
) uma ação chamada org.freedesktop.consolekit.system.stop-multiple-users
que lança a mensagem
System policy prevents stopping the system when other users are logged in
Estou pensando (devido à org.freedesktop.*
convenção de nomenclatura) que este é algum tipo de sinal enviado ao DM via D-BUS. Penso que, se descobrir qual sinal desencadeia essa polkit
ação, devo poder modificar seu comportamento. Alguma ideia?
Atualização 2
Eu tentei um pequeno experimento hoje e isso me deu resultados muito estranhos. Tentei efetuar login via SSH em uma caixa e verifiquei que nenhum outro usuário estava conectado em nenhum VT. Se eu optar Shutdown
pelo menu "Ações" do GDM, a mensagem de política aguardada me informa que é impossível fazer isso sem autenticação, pois outros usuários estão conectados. No entanto , se eu usar o GDM para fazer login localmente e escolher Para fechar a caixa no menu do GNOME, a sessão SSH é bloqueada como antes. Como isso é possível? O comportamento é diferente quando eu inicio uma shutdown
solicitação do GDM e quando eu a inicio de dentro de um gnome-session
? Isso diz a alguém algo que pode me ajudar a resolver o problema?