Questão Forçar logout de um usuário


I Quando entrei na máquina como root e digitado who para ver quais usuários estão logados, eu encontrei alguém mais logado como root

devuser   pts/0        2011-11-18 09:55 (xxx.xxx.xxx.xxx)
root      pts/1        2011-11-18 09:56 (xxx.xxx.xxx.xxx)
testuser  pts/2        2011-11-18 14:54 (xxx.xxx.xxx.xxx)
root      pts/3        2011-11-18 14:55 (xxx.xxx.xxx.xxx)

Como posso forçar um usuário root em pts / 3 para sair?


49


origem


Você tem um problema ainda maior para resolver. Desative os logins diretos da raiz e force seus usuários a usar o sudo. - Xenoactive


Respostas:


Você encerra uma sessão matando seu processo pai, chamado líder da sessão. Descubra qual processo é com:

ps -dN|grep pts/3

44



E então mate esse processo usando kill -9 <processid> - Mithun Sreedharan
Somente kill <pid> deve ser suficiente, certo? Por favor, salve o kill -9s para processos mal comportados que não respondem a INT, HUP ou TERM; é como se fosse a diferença entre desligar um computador usando o sistema de menu do sistema operacional versus puxar o plugue do computador. - TheDudeAbides


Para matar e sair de um usuário, você pode enviar o sinal KILL. Digite o seguinte comando:

# skill -KILL -u vivek

Verifique estes links para mais informações:


22



E se eu estiver logado como o mesmo usuário? - Mithun Sreedharan
esses comandos funcionam para superusuário .. você deve logar como superusuário .. sistemas operacionais de rede seguem essa abordagem para segurança .. acho que esses links também estão dizendo mesmo para logar como admin .. - Niranjan Kala
me chutou como sudo su - também, mesmo que eu fosse root, mas eu acho que não estava no final. voltar para o servidor me mostrou como o único. Eu tinha 4 instâncias de mim mesmo, eu acho que diria. - pjammer
@Mithun Você pode usar -t <terminal name> ao invés de -u. - Melebius
Certifique-se de que o usuário não tenha o mesmo UID que o usuário root, senão você também será expulso. - Steropes


Melhorando um pouco a resposta de Fabel acima:

\# *for pid in $(for ptsn in $(w | grep **user_name** | grep pts | awk '{print $2}'); do ps -dN | grep "$ptsn " | awk '{print $1}' ; done); do kill -9 $pid; done*

0