无法删除用户

无法删除用户

我尝试删除一个用户:

# 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.

我跑了谁

# who
myuser pts/0        2013-12-19 23:00 ...

它只显示我已登录。我确实需要删除此用户,但我没有他们的密码,但我有 sudo 密码。我该如何删除它?

答案1

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

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

ps -aux | grep someuser

如果是这种情况,你可以用以下方法杀死他的所有进程

sudo pkill -u someuser

然后deluser再次执行

deluser someuser

或者

sudo deluser someuser

答案2

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

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

deluser -f

但只有在你找不到其他方法的情况下才这样做,否则会产生不稳定...有关更多信息,请参阅手册页

答案3

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

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

sudo deluser -remove-home <username2delete>

命令,但

/usr/sbin/deluser: `/usr/sbin/userdel <username2delete>' returned error code 8. Exiting.

再次出现。这次带有一些进程 ID,目前似乎由​​“username2delete”使用。

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

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

sudo deluser -remove-home <username2delete>

这次一切顺利。无需重启,也无需强制重启deluser。也许这会对你有所帮助。

答案4

我在尝试删除通过 ssh 会话连接的用户时遇到了同样的问题。解决方案是,首先创建新用户并将其添加到所需组(即,如果您只有一个帐户,则使用 sudo)。然后以要删除的当前用户身份注销,再次以新用户身份 ssh 并删除旧帐户。当然,如果您还有其他服务仍在旧用户下运行,您也需要关闭它们。

相关内容