在 Ubuntu 中,deluser 本身不支持直接批量删除用户(它没有类似 deluser user1 user2 user3 的用法,一次只能删一个)。
不过你可以用 Shell 循环 来实现“批量删除”。
for u in user1 user2 user3; do
deluser $u
done
for u in user1 user2 user3; do
deluser --remove-home $u
done
如果用户列表在文件 users.txt 中(一行一个):
while read u; do
deluser --remove-home "$u"
done < users.txt
for u in $(awk -F: '$3>=1000 {print $1}' /etc/passwd); do
deluser --remove-home "$u"
done
⚠️ 这个非常危险,可能误删正常用户,建议先 echo 测试:
for u in $(awk -F: '$3>=1000 {print $1}' /etc/passwd); do
echo "will delete: $u"
done
deluser 只能删 本地用户/etc/passwd 和 /etc/shadowdeluser --system username
如果你有具体场景(比如:只删测试用户 / LDAP用户 / 某前缀用户),我可以帮你写更安全的脚本。