Como posso forçar outros usuários a efetuar logout?

14

Existe uma maneira simples de eu forçar outro usuário a sair de uma caixa Linux, enquanto eu estou logado como root? Eu entendo que eu poderia determinar que tipo de sessão eles têm aberto e matar o pid - mas eu estou pensando que deve haver um comando para fazer isso que eu não conheço.

Alguma idéia?

    
por Brent 02.05.2009 / 22:05

4 respostas

15

Você pode simplesmente slay(1) dele. : -)

    
por 02.05.2009 / 22:24
10

Você pode matar todos os processos de um usuário por meio de skill . Exemplo:

  • skill -TERM -u username

enviará SIGTERM para todos os processos de username . Para matá-los para sempre (via SIGKILL) use -KILL em vez de -TERM - observe, no entanto, que você provavelmente fará com que eles percam dados dessa maneira. É altamente eficaz, lembre-se de você ...

skill é parte do pacote procps , que é instalado por todas as distribuições por padrão.

    
por 02.05.2009 / 23:36
2

Os pkill e killall são preferidos em relação a skill . Esta é a partir da página skill man:

These tools are probably obsolete and unportable. The command syntax is poorly defined. Consider using the killall, pkill, and pgrep commands instead.

Isso deve funcionar:

sudo pkill -KILL -u [user]

ou

sudo killall -u [user]
    
por 27.02.2013 / 10:36
0

Outra maneira fácil de fazer isso é executar kill -1 <pid> , em que pid é o número do ID do processo da sessão SSH.

Ao executar este comando, você pode ver todas as árvores de processo sshd , ao eliminar o ID do processo pai, você eliminará efetivamente a sessão do usuário associada a ele:

$ ptree -p

Procure sshd e, em seguida, execute:

$ kill -1 39383

Onde 39383 é um exemplo de um número de identificação de processo arbitrário.

    
por 08.08.2012 / 22:16