Ubuntu - Identificando uma sessão bash do usuário logado

3

Estou tentando excluir um usuário logado no meu sistema Ubuntu. Vamos chamar o usuário bob.

Estou correndo

sudo userdel -r bob

A resposta que recebo é

userdel: user bob is currently logged in

Então eu corro

ps -u bob

Para encontrar sua sessão de bash para matá-lo. Mas eu não estou vendo isso - estou procurando por algo como:

13205 pts/0    00:00:00 bash

(que é minha sessão), mas não vejo outra:

Qual comando posso executar para descobrir em que este usuário está logado?

Editar:

who bob 

não dá resultado (para stdout pelo menos)

last bob

dá um resultado três dias atrás - mas rodando

sudo userdel -r bob

Ainda dá o mesmo resultado.

Editar

who

apenas fornece meu login.

Editar

root@machine:~# sudo userdel -rf bob
userdel: user bob is currently logged in
userdel: warning: can't remove /var/mail/bob: No such file or directory
userdel: error removing directory /
root@machine:~# sudo userdel -rf bob
userdel: user 'bob' does not exist

Isso parece não ser um tipo correto de usuário - está correto?

    
por Hawkeye 19.02.2011 / 13:25

5 respostas

1

O sudo userdel -rf bob funciona? Se não, qual erro isso dá?

    
por 20.02.2011 / 02:38
1

O comando who deve funcionar.

Ou você pode exibir todos os processos pertencentes a bob com ps -au bob .

    
por 19.02.2011 / 13:40
1

Execute o comando ps:

ps auxwwwf | less

pressione '/ bob' e pressione enter (para pesquisar):

ooshro    4465  0.0  0.6 223480 19348 ?        Rl   Feb18   1:19 gnome-terminal
ooshro    4466  0.0  0.0  14488   792 ?        S    Feb18   0:00  \_ gnome-pty-helper
ooshro    4467  0.0  0.1  22116  4884 pts/1    Ss   Feb18   0:00  \_ bash

root      1208  0.0  0.0  71268  2040 tty2     Ss   Feb18   0:00 /bin/login --       
ooshro   18088 10.5  0.1  22176  4932 tty2     S+   17:40   0:00  \_ -bash

root       579  0.0  0.5   5632  2192 ?        Ss   09:17   0:00 /usr/sbin/sshd -D
root       706  0.0  0.7   8432  2784 ?        Ss   11:57   0:00  \_ sshd: ooshro [priv] 
ooshro     722  0.0  0.3   8564  1308 ?        S    11:57   0:02      \_ sshd: ooshro@pts/0  
ooshro     723  0.0  1.3   9808  5220 pts/0    Ss   11:57   0:00          \_ -bash
    
por 19.02.2011 / 13:41
0

rápido e sujo

ps fuxaw |grep ^bob | awk '{print $2}' | xargs kill -9

isso eliminará todos os processos do bobs, para que você possa continuar excluindo a conta.

    
por 19.02.2011 / 14:01
0

rastreie a sessão fora do usuário

ps -u | grep bob

e, em seguida, mate-os.

Ou, você está se sentindo confiante:

kill -15 $(ps -U bob -o "pid=")

Caso contrário, você pode tentar forçar o userdel adicionando a opção -f.

    
por 20.02.2011 / 02:45