在 Debian(及其衍生版)里,deluser 本身没有“批量删除”参数,所以要批量删用户通常需要「脚本 + 循环」来实现。下面给你几种常用、安全的方法。
假设有一个用户列表文件 users.txt:
user1
user2
user3
执行:
while read user; do
deluser --remove-home "$user"
done < users.txt
说明:
--remove-home:同时删除用户家目录for user in user1 user2 user3; do
deluser --remove-home "$user"
done
for user in $(getent passwd | awk -F: '$1 ~ /^test/ {print $1}'); do
deluser --remove-home "$user"
done
deluser --system username
批量:
for user in user1 user2; do
deluser --system "$user"
done
deluser 没有原生 dry-run,但你可以先打印:
while read user; do
echo "Will delete: $user"
done < users.txt
确认无误再真正执行。
www-data, mail, nobody)cp /etc/passwd /etc/passwd.bak
cp /etc/shadow /etc/shadow.bak
pkill -u username
你可以告诉我:用户来源 / 删除条件 / 是否删家目录