我尝试删除一个用户:
# 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 并删除旧帐户。当然,如果您还有其他服务仍在旧用户下运行,您也需要关闭它们。