在 Debian(及衍生发行版)中,deluser 本身不支持一次性批量删除多个用户,但你可以结合 Shell 脚本或命令来实现“批量删除”。
下面给你几种常见、实用的做法。
假设你有一个用户列表文件 users.txt:
user1
user2
user3
使用 while 循环:
while read user; do
deluser "$user"
done < users.txt
如果你想同时删除用户的主目录:
while read user; do
deluser --remove-home "$user"
done < users.txt
for user in user1 user2 user3; do
deluser --remove-home "$user"
done
for user in svc1 svc2 svc3; do
deluser --system "$user"
done
⚠️ 危险操作,慎用
删除 UID 在 1000–2000 之间的用户:
for uid in $(awk -F: '$3>=1000 && $3<=2000 {print $1}' /etc/passwd); do
deluser --remove-home "$uid"
done
deluser --remove-home user1
delgroup user1
crontab -r -u username
tar czf /backup/home_user1.tar.gz /home/user1
root、daemon、www-data 等)千万不要删deluser --dry-run| 方式 | 场景 |
|---|---|
while read |
从文件批量删除(推荐) |
for user in |
少量用户 |
awk + /etc/passwd |
按 UID 批量 |
--remove-home |
删除家目录 |
如果你愿意,可以告诉我:
我可以帮你写一条更安全的命令。