简短回答:deluser 本身不支持一次性批量删除用户,但可以很方便地和 Shell 命令结合使用来实现“批量删用户”。
deluser 不能“原生批量”deluser 的用法是:
deluser 用户名
每次只能处理 一个用户,没有类似 --batch file.txt 这样的参数。
假设有个用户列表 users.txt:
user1
user2
user3
执行:
while read u; do
deluser "$u"
done < users.txt
for u in $(getent passwd | awk -F: '$1 ~ /^test/ {print $1}'); do
deluser "$u"
done
deluser --remove-home 用户名
批量版:
while read u; do
deluser --remove-home "$u"
done < users.txt
cp /etc/passwd /etc/passwd.bak
cp /etc/shadow /etc/shadow.bak
pkill -u 用户名
也可以直接用 userdel(不推荐新手):
userdel -r 用户名
但 Debian 官方更推荐 deluser。
如果你愿意,可以告诉我:
我可以帮你写一条安全可执行的批量命令。