O sudo userdel -rf bob
funciona? Se não, qual erro isso dá?
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?
O comando who
deve funcionar.
Ou você pode exibir todos os processos pertencentes a bob com ps -au bob
.
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
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.
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.