温馨提示×

ubuntu deluser怎么批量删除

小樊
42
2026-09-17 14:08:52
栏目: 智能运维

在 Ubuntu 里,deluser(或 userdel)本身不支持一次删多个用户,但你可以用 Shell 循环 来批量删除。

下面给你几种常用、安全的方法。


方法一:用 for 循环批量删除(最常用)

for u in user1 user2 user3; do
    sudo deluser --remove-home $u
done

说明:

  • --remove-home:同时删除用户主目录
  • 不加 --remove-home 只删用户,不删目录

方法二:从文件读取用户列表批量删除

假设有文件 users.txt:

user1
user2
user3

执行:

while read u; do
    sudo deluser --remove-home "$u"
done < users.txt

方法三:删除符合规则的用户(如 test 开头)

for u in $(getent passwd | awk -F: '$1 ~ /^test/ {print $1}'); do
    sudo deluser --remove-home "$u"
done

⚠️ 危险操作,先 echo 确认

for u in $(getent passwd | awk -F: '$1 ~ /^test/ {print $1}'); do
    echo "will delete: $u"
done

方法四:连用户组一起删(可选)

for u in user1 user2; do
    sudo deluser --remove-home --remove-all-files $u
done
  • --remove-all-files:删除该用户所有文件(谨慎)

注意事项(很重要)

  1. 不要删除正在登录的用户
    who
    
  2. 系统用户(UID < 1000)不要乱删
  3. 删除前建议备份
  4. 如果报错 user is currently used by process,先踢出用户:
    sudo pkill -u username
    

如果你愿意,可以告诉我:

  • 用户数量
  • 是否要删 home 目录
  • 是否按规则(前缀 / 文件 / 范围)

我可以帮你写一条最合适、最安全的命令。

0 踩