我试图删除一个用户:
# 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。也许这会对你有所帮助。