6. userdel 命令

userdel 是 Linux 系统中用于删除用户账户的命令,由 root 或具有 sudo 权限的用户执行。它不仅可以删除用户账户,还可以选择是否同时删除用户的主目录和邮件池(mail spool)。

作用

  1. 删除用户账户(从 /etc/passwd/etc/shadow 中移除记录)。
  2. 可选删除用户的主目录(/home/用户名)。
  3. 可选删除用户的邮件池(/var/mail/用户名)。

命令格式

userdel [选项] [用户名]

常用选项

选项
说明
-r
删除用户的同时,删除其主目录和邮件池(推荐使用)。
-f
强制删除用户,即使该用户仍处于登录状态或存在未退出的进程(谨慎使用)。
-Z
同时删除用户的 SELinux 上下文(仅适用于 SELinux 系统)。

示例

删除 li4 账户的所有信息

weimz@mzstudio:~$ ls /home/
lisi  weimz
weimz@mzstudio:~$ ls /var/mail/
weimz@mzstudio:~$ tail -2 /etc/passwd
zhang3:x:1001:1002::/home/zhang3:/bin/sh
li4:x:1002:1001:develop_lisi:/home/lisi:/bin/sh
weimz@mzstudio:~$ sudo tail -2 /etc/shadow
[sudo: authenticate] 密码:          
zhang3:!:20230:0:99999:7:::
li4:$y$j9T$tMMhKiIFx.bZrl9okX8gI1$71O/ie4nl4ud223.7wZAuJed9/GzkpbiofwFVyJxKU5:20230:0:99999:7:::
weimz@mzstudio:~$ sudo userdel -r li4
[sudo: authenticate] 密码:          
userdel:li4 信件池 (/var/mail/li4) 未找到
weimz@mzstudio:~$ ls /home/
weimz
weimz@mzstudio:~$ tail -2 /etc/passwd
weimz:x:1000:1000:weimz:/home/weimz:/bin/bash
zhang3:x:1001:1002::/home/zhang3:/bin/sh
weimz@mzstudio:~$ sudo tail -2 /etc/shadow
weimz:$y$j9T$.R1f8G1xXvhOMDubnF6Zq1$37F6PMMGpZM5GUp.qVxzvN3LhEpwrKAtn18PNVKLcd1:20600:0:99999:7:::
zhang3:!:20600:0:99999:7:::
weimz@mzstudio:~$ 

删除 li4 用户的信息并保留主文件夹(主目录)则需要用 sudo userdel li4 命令。

练习: