userdel 删除用户

userdel 删除账号;-r 同时删家目录与邮件池,但不会自动清理散落在他处的文件(多数场景下需要手工 find 处理)。

Linux 运维命令速查系统更新于 2026-10-13

userdel 是什么

userdel 删除本地用户账号,改的是 /etc/passwd、/etc/shadow、/etc/group 这几个文件;加 -r 时还会一并删除该用户的家目录和邮件池。它不会自动清理散落在系统其他位置的文件,比如 /tmp 下的临时数据、业务目录里的属主文件、sudoers 里的授权行、SSH 的 authorized_keys。所以离职或下线账号的规范做法是「先锁定、再盘点、然后删除」。

基本信息

用途删除本地账号,-r 同时删家目录与邮件池
语法userdel [-r] 用户名
所属软件包shadow-utils(RHEL 系)/ passwd 包(Debian 系)
权限要求root;若该用户仍有运行中的进程,部分发行版会拒绝删除并提示 currently used by process

典型使用场景

  • 离职流程:账号需要下线,但要保证审计与备份先完成
  • 临时账号回收:外包、测试用的账号到期后清理,减少可用入口
  • 误建账号撤销:新建用户时用户名或 UID 写错,需要干净回退
  • 安全事件响应:确认可疑账号后立即锁定并处理其残留权限
  • 交接前盘点:批量清理长期未登录的账号,先看 lastlog 再决定

删除前的标准动作

删除前的标准动作
id olduser                          # 确认 UID/GID,后面盘点残留要用
ps -u olduser -o pid,cmd            # 是否还有进程在跑
userdel -r olduser                  # 删除账号与家目录
find / -xdev -user olduser -ls 2>/dev/null | head -30   # 盘点家目录之外的残留
getent passwd olduser || echo 'account gone'            # 确认账号已消失

先锁定再删除(推荐顺序)

先锁定再删除(推荐顺序)
usermod -L olduser                  # 锁定密码(shadow 里密码前加感叹号)
chage -E 0 olduser                  # 立即过期,阻断后续登录
usermod -s /sbin/nologin olduser    # 改成不可登录 shell
tar czf /backup/home-olduser-$(date +%F).tar.gz /home/olduser   # 备份家目录
grep -rn olduser /etc/sudoers /etc/sudoers.d/ 2>/dev/null       # 查残留授权

删除前后要盘点的位置

位置内容为什么容易漏
/home/用户名家目录(-r 会删)最容易想到,也最不担心
/etc/sudoers.d/免密授权行userdel 完全不管,权限会残留
~/.ssh/authorized_keys公钥登录凭据家目录删了就没了,但备份或复制件还在
/var/spool/cron/该用户的定时任务删除账号后任务不再跑,但文件可能残留
其它目录属主文件UID 显示成数字以后新建同 UID 用户会继承权限,需 find -user 排查
只删账号不删家目录(不用 -r)在保留取证数据时是合理选择,但要明确记录「家目录暂留」这件事,否则将来某天同名账号重建,会直接继承旧家目录里的密钥与配置。
残留文件的 UID 可能被系统回收复用:新用户拿到同一 UID 后会凭空拥有旧用户的文件权限,这是权限事故的常见来源。删除后务必做一次 find -user 盘点。

易错点

  • 只 userdel 不清理属主文件:残留文件显示为数字 UID,后续新建同 UID 用户会意外继承权限,必须用 find -xdev -user 盘点
  • userdel -r 不会删除系统级引用(sudoers 条目、SSH 授权文件、外部目录里的数据),离职流程里要逐项核查
  • 删除前不确认用户是否仍在登录或存在运行进程:部分发行版会直接拒绝删除,应当先处理进程再执行
  • 先删账号再备份家目录:顺序反了就没有可回溯的个人数据,审计要求下很被动

数据来源与参考

  • man 8 userdel(shadow-utils)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌