在 Ubuntu 里,deluser(或 userdel)本身是一次只能删一个用户的命令,没有“批量”参数。所谓“批量配置”,通常是通过 shell 脚本 / 循环 / 配置文件 来实现。
下面按常见场景给你几种做法。
假设你有一个用户列表文件:
users.txt
内容示例:
user1
user2
user3
while read user; do
deluser "$user"
done < users.txt
while read user; do
deluser --remove-home "$user"
done < users.txt
⚠️ 建议先
echo测试:
while read user; do
echo "will delete: $user"
done < users.txt
比如删除 test01 ~ test99:
for i in $(seq -w 1 99); do
deluser "test$i"
done
或删除以 tmp 开头的用户:
for u in $(getent passwd | grep '^tmp' | cut -d: -f1); do
deluser "$u"
done
while read user; do
deluser --remove-home "$user"
crontab -r -u "$user" 2>/dev/null
done < users.txt
deluser 是 Debian/Ubuntu 封装版,也可以用 userdel:
while read user; do
userdel -r "$user"
done < users.txt
参数说明:
-r:删除家目录和邮件池who
awk -F: '$3 < 1000 {print $1}' /etc/passwd
deluser --help
可以告诉我:
我可以帮你写一整套 adduser + deluser 批量管理脚本。
需要我帮你写一个完整可用的脚本模板吗?