我正在尝试删除登录到我的 ubuntu 系统的用户。我们将其称为 bob。
我在跑
sudo userdel -r bob
我得到的答复是
userdel: user bob is currently logged in
所以我跑
ps -u bob
找到他的 bash 会话并终止它。但我没有看到它 - 我正在寻找类似的东西:
13205 pts/0 00:00:00 bash
(这是我的会话)但我没有看到另一个:
我可以运行什么命令来查明该用户以什么身份登录?
编辑:
who bob
没有给出结果(至少对标准输出而言)
last bob
三天前给出了结果 - 但是运行
sudo userdel -r bob
仍然给出相同的结果。
编辑
who
只提供我的登录信息。
编辑
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
这似乎不是一种正确的用户类型 - 对吗?
答案1
可以sudo userdel -rf bob
工作吗?如果不行,会报什么错误?
答案2
该who
命令应该可以工作。
或者你可以使用 显示属于 bob 的所有进程ps -au bob
。
答案3
运行 ps 命令:
ps auxwwwf | less
然后按“/bob”并按回车键(进行搜索):
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
答案4
追踪用户会话
ps -u | grep bob
然后杀死他们。
或者,如果你有信心:
kill -15 $(ps -U bob -o "pid=")
否则,您可以尝试通过添加 -f 选项来强制 userdel。