Como forçar outros usuários a sair?


14

Existe uma maneira simples de forçar outro usuário a sair de uma caixa Linux, enquanto estou logado como root? Entendo que poderia determinar que tipo de sessão eles abriram e acabar com o pid - mas estou pensando que deve haver um comando para fazer isso que não conheço.

Alguma ideia?

Respostas:


15

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


Ha! Arrumado. Eu nunca tinha ouvido falar desse comando antes. Está disponível em todos os sistemas? Parece que é melhor do que matar o processo do shell.
913 Jonathon Watney

Provavelmente está empacotado para todas as distros, mas se você precisar de algo que funcione em todos os lugares, a habilidade dos representantes - como Mihai aponta - pode ser uma escolha melhor. Tem menos estilo embora ;-)
David Schmitt

1
openSuse 11.4 - slay: comando não encontrado :( :(
usr-local-ΕΨΗΕΛΩΝ #: 25/05/12

Não instalado nos hosts Ubuntu 12.04 ou RHEL 3 que tenho atualmente disponíveis, tenho o skillcomando detalhado por Mihai Limbăşan. YMMV
David

Instale-o a partir do universo: packages.ubuntu.com/search?keywords=slay
David Schmitt

10

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

  • skill -TERM -u username

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

skillfaz parte do procpspacote que é instalado por todas as distribuições por padrão.


Para outras pessoas que desejam fazer isso em todas as sessões de usuário remoto, o sinalizador -v ( -v pts/*), que é da página de manual, pode ser útil.
David

2

O pkille killallsão preferidos skill. Isto é da skillpágina de manual:

Essas ferramentas são provavelmente obsoletas e não portáveis. A sintaxe do comando está mal definida. Considere o uso de os killall, pkille pgrepcomandos em seu lugar.

Isso deve fazer o truque:

sudo pkill -KILL -u [user]

ou

sudo killall -u [user]


0

Outra maneira fácil de fazer isso é executar kill -1 <pid>onde pid é o número de identificação do processo da sessão SSH.

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

$ ptree -p

Procure sshd e execute:

$ kill -1 39383

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.