在 Ubuntu 里 deluser(或 userdel)删除用户失败,常见原因和对应解决办法如下,你可以按顺序排查:
现象
userdel: user xxx is currently used by process 1234
解决
# 查看该用户进程
ps -u 用户名
# 杀掉相关进程
sudo pkill -u 用户名
# 或
sudo kill -9 进程号
# 再删除
sudo deluser 用户名
如果是图形界面登录:
sudo loginctl terminate-user 用户名
现象
deluser: The user `xxx' does not exist.
解决
cat /etc/passwd | grep 用户名
解决
现象
userdel: cannot remove /home/xxx
解决
# 手动删除家目录
sudo rm -rf /home/用户名
# 删除邮件
sudo rm -rf /var/mail/用户名
sudo rm -rf /var/spool/mail/用户名
然后再:
sudo deluser --remove-home 用户名
解决
grep 用户名 /etc/passwd
mysql、nginx 等系统用户,不建议删除# 删除用户(保留家目录)
sudo deluser 用户名
# 删除用户并删家目录
sudo deluser --remove-home 用户名
# 删除用户并删家目录+邮件
sudo deluser --remove-all-files 用户名
sudo vipw # 删除用户行
sudo vipw -s # 删除 shadow
sudo rm -rf /home/用户名
如果你愿意,可以把 完整的报错信息贴出来,我可以直接帮你判断是哪一种情况。