温馨提示×

ubuntu deluser可否批量删

小樊
41
2026-10-19 23:50:53
栏目: 智能运维

在 Ubuntu 中,deluser 本身不支持直接批量删除用户(它没有类似 deluser user1 user2 user3 的用法,一次只能删一个)。

不过你可以用 Shell 循环 来实现“批量删除”。


一、基本批量删除方式

1️⃣ 删除多个指定用户

for u in user1 user2 user3; do
    deluser $u
done

2️⃣ 删除用户并同时删除 home 目录

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

三、按条件批量删除(示例)

删除 UID 大于 1000 的普通用户(谨慎!)

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/shadow
  • 如果是系统用户,用:
    deluser --system username
    

如果你有具体场景(比如:只删测试用户 / LDAP用户 / 某前缀用户),我可以帮你写更安全的脚本。

0 踩