在 Debian 里执行 deluser 报“权限错误”,最常见、也最本质的原因只有一个:你没有用 root 权限运行。
deluser 会修改以下系统文件:
/etc/passwd/etc/shadow/etc/group/etc/gshadow/home/username)这些文件 只有 root 能改。
deluser: Only root may remove a user or group from the system.
或
Permission denied
用 root 执行:
sudo deluser username
或
su -
deluser username
某些环境(Docker、LXC、chroot)没有完整权限,即使显示 root 也会失败。
检查:
id
如果看到:
uid=0(root) but capability missing
说明权限被限制。
✅ 解决:在宿主机执行,或加 --privileged
比如:
检查:
mount | grep ' / '
如果是 ro,重新挂载:
mount -o remount,rw /
deluser 默认会删家目录:
deluser username
如果家目录在 NFS 且无权删除,会报权限错。
✅ 解决(不删家目录):
deluser --no-remove-home username
虽然不是“权限错”,但有时表现为失败。
检查:
ps -u username
强制踢出:
pkill -u username
whoami # 必须是 root
id # uid=0
mount | grep / # 必须是 rw
ps -u 用户名 # 无进程
如果你愿意,可以把完整报错原文贴出来,我可以直接帮你判断是哪一种情况。