在 Debian(及大多数 Linux 发行版)中,deluser 删除用户失败通常有下面几类原因。你可以对照排查。
如果目标用户还有:
deluser 可能失败或提示:
user xxx is currently used by process xxx
解决方法:
pkill -u 用户名
# 或
pkill -9 -u 用户名
确认没有进程:
ps -u 用户名
如果是系统用户(如 mysql, www-data),直接删除可能失败。
正确方式:
deluser --system 用户名
deluser 默认不会强制删除 home:
deluser 用户名
如果你想一并删除:
deluser --remove-home 用户名
若 home 被挂载或文件被锁:
lsof | grep /home/用户名
/etc/passwd如果用户根本不存在:
deluser 用户名
会提示:
The user `xxx' does not exist.
检查:
grep 用户名 /etc/passwd
deluser 需要 root 权限。
错误示例:
deluser: Only root may remove a user or group from the system.
解决:
sudo deluser 用户名
你不能删除当前正在使用的用户。
whoami
如果用户来自:
deluser 是无效的。
检查:
getent passwd 用户名
查看更详细错误:
deluser -v 用户名
查看日志:
journalctl -xe
# 或
tail /var/log/auth.log
# 删除普通用户(保留 home)
sudo deluser alice
# 删除用户并删除 home
sudo deluser --remove-home alice
# 删除系统用户
sudo deluser --system mysql
# 删除用户并删除所有文件
sudo deluser --remove-all-files bob
你可以把完整的报错信息贴出来,比如:
deluser: `xxx' is currently used by process 1234
我可以帮你精准定位是哪一类问题。