无法删除用户

Joh*_*ino 5 users

我试图删除一个用户:

# deluser someuser
Removing user `someuser' ...
Warning: group `someuser' has no more members.
userdel: user someuser is currently logged in
/usr/sbin/deluser: `/usr/sbin/userdel someuser' returned error code 8. Exiting.
Run Code Online (Sandbox Code Playgroud)

我跑谁

# who
myuser pts/0        2013-12-19 23:00 ...
Run Code Online (Sandbox Code Playgroud)

它只显示我已登录。我确实需要删除此用户,但我没有他们的密码,但是我有 sudo 密码。我怎样才能删除它?

use*_*542 11

如果您不能删除一个用户,那肯定是因为某些进程仍在运行属于他。

首先你可以列出他的过程:

ps -aux | grep someuser
Run Code Online (Sandbox Code Playgroud)

如果是这种情况,您可以使用以下命令杀死他的所有进程

sudo pkill -u someuser
Run Code Online (Sandbox Code Playgroud)

然后deluser再次执行

deluser someuser
Run Code Online (Sandbox Code Playgroud)

或者

sudo deluser someuser
Run Code Online (Sandbox Code Playgroud)


小智 1

在deluser的手册页中,它说错误代码8表示未安装perl paquet“perl-modules”,也许你可以检查这个...

无论如何,如果你想强制删除,你可以使用 deluser 和 -f 选项

deluser -f
Run Code Online (Sandbox Code Playgroud)

但只有当你找不到其他方法时才这样做,它会产生不稳定......有关更多信息,请参阅手册页


小智 1

当我尝试删除第一次尝试删除登录的用户时,我遇到了同样的问题。对我来说,等待几秒钟就是解决方案:

正如我提到的,第一次删除用户的尝试失败了,因为它仍然处于登录状态。然后我注销了该用户并重复了

sudo deluser -remove-home <username2delete>
Run Code Online (Sandbox Code Playgroud)

命令,但是

/usr/sbin/deluser: `/usr/sbin/userdel <username2delete>' returned error code 8. Exiting.
Run Code Online (Sandbox Code Playgroud)

再次出现。这次使用了一些当前被“username2delete”使用的进程ID。

我检查了哪些用户已登录,只有一个用户登录“user2stay”。

然后我读了你的帖子,两分钟后我再次尝试了与之前相同的命令:

sudo deluser -remove-home <username2delete>
Run Code Online (Sandbox Code Playgroud)

这次成功了,没有出现任何问题。无需重新启动,也无需强制deluser。也许这会对你有所帮助。