Então, como você expulsa os usuários [benignos] da sua caixa Linux?
No final, tudo se resume a identificar e finalizar os processos pertencentes, associados ou gerados a partir de um ID do usuário. Quaisquer comandos que você use para atingir esse objetivo final não importam necessariamente desde que você chegue lá.
Basicamente duas respostas ...
Opção A: causando um logout do referido usuário, para o qual sempre e no entanto muitos logons eles possuam. Portanto, isso significaria identificar os processos que pertencem a um usuário, rastreáveis pelo uid e classificados como parte de algum processo de login para a distribuição Linux que você está executando. Perceba que existem processos pai como SSH ou VNC antes do "login" e processos filhos como GDM após o "login" Normalmente, matar um processo pai mata o processo filho, mas nem sempre. Portanto, você deseja eliminar esses outros processos que obviamente não são mais necessários após o logout. Ao fazer tudo isso, isso manteria os trabalhos em segundo plano em execução ... porque é um usuário benigno e talvez você queira apenas desconectá-los. Tanto quanto eu sei, /usr/bin/w
e /usr/bin/who
irá relatar quem passou pelo processo de logon.
opção B: finalize todos os processos pertencentes a um uid específico completamente, o que significaria simplesmente matar todo e qualquer processo pertencente ao referido usuário, isso também os desconectaria se eles estivessem logados. Isso satisfaria o pontapé inicial do sistema . Isso só precisa ser simples ps -ef | grep <uid>
e, em seguida, finalizar todos esses processos da maneira que for aceitável.
fwiw no SLES 11 informa
habilidade do homem ... Essas ferramentas são provavelmente obsoletas e não portáveis. A sintaxe do comando está mal definida. Considere usar os comandos killall, pkill e pgrep.
kill -9
FTW!
who(1)
ouw(1)
. A única maneira infalível de se livrar de possíveis rootkits que possam estar instalados é limpar e reinstalar o sistema completamente.