在 Ubuntu 里用 deluser(或 userdel)删除用户时,经常会因为“用户还在登录 / 有进程 / 家目录占用 / 权限问题”等报错。下面按常见错误 → 原因 → 解决办法给你总结一份排查指南。
userdel: user xxx is currently used by process原因:该用户还有进程在运行(终端、服务、cron 等)
解决:
# 查看该用户进程
ps -u 用户名
# 杀掉相关进程
sudo pkill -u 用户名
# 再删除
sudo deluser 用户名
如果是图形界面登录:
sudo loginctl terminate-user 用户名
userdel: cannot remove /home/xxx: Device or resource busy原因:家目录被挂载或占用
解决:
# 查看是否被挂载
mount | grep 用户名
# 如有,先卸载
sudo umount /home/用户名
deluser: The user xxx’ is not a system user`原因:用了错误的命令形式
注意:
sudo deluser 用户名sudo deluser --system 用户名sudo deluser 用户名 --remove-home # 删家目录
sudo deluser 用户名 # 保留家目录
直接删即可,但确保你还有别的 sudo 用户:
sudo deluser 用户名
⚠️ 不要把自己锁在外面!
# 1. 杀进程
sudo pkill -u 用户名
# 2. 删用户
sudo deluser 用户名
# 3. 删家目录(可选)
sudo rm -rf /home/用户名
# 4. 删用户组(如存在)
sudo delgroup 用户名
如果 deluser 一直失败,可手动清理:
sudo vipw # 删除用户行
sudo vipw -s # 删除 shadow 行
sudo rm -rf /home/用户名
sudo delgroup 用户名
⚠️ 手动改 /etc/passwd 有风险,不推荐新手。
如果你愿意,把完整的报错信息发给我,比如:
deluser: `xxx' still has `yyy' as their primary group
我可以直接告诉你针对你这个错误的最快解法。
需要我帮你写一条“安全删除用户脚本”也可以说一声。