6. userdel 命令
userdel 是 Linux 系统中用于删除用户账户的命令,由 root 或具有 sudo 权限的用户执行。它不仅可以删除用户账户,还可以选择是否同时删除用户的主目录和邮件池(mail spool)。
作用
- 删除用户账户(从
/etc/passwd和/etc/shadow中移除记录)。 - 可选删除用户的主目录(
/home/用户名)。 - 可选删除用户的邮件池(
/var/mail/用户名)。
命令格式
userdel [选项] [用户名]
常用选项
选项
说明
-r删除用户的同时,删除其主目录和邮件池(推荐使用)。
-f强制删除用户,即使该用户仍处于登录状态或存在未退出的进程(谨慎使用)。
-Z同时删除用户的 SELinux 上下文(仅适用于 SELinux 系统)。
示例
删除 li4 账户的所有信息
weimingze@mzstudio:~$ ls /home/
lisi weimingze
weimingze@mzstudio:~$ ls /var/mail/
weimingze@mzstudio:~$ tail -2 /etc/passwd
zhang3:x:1001:1002::/home/zhang3:/bin/sh
li4:x:1002:1001:develop_lisi:/home/lisi:/bin/sh
weimingze@mzstudio:~$ sudo tail -2 /etc/shadow
[sudo] password for weimingze:
zhang3:!:20230:0:99999:7:::
li4:$y$j9T$tMMhKiIFx.bZrl9okX8gI1$71O/ie4nl4ud223.7wZAuJed9/GzkpbiofwFVyJxKU5:20230:0:99999:7:::
weimingze@mzstudio:~$ sudo userdel -r li4
userdel: li4 mail spool (/var/mail/li4) not found
weimingze@mzstudio:~$ ls /home/
weimingze
weimingze@mzstudio:~$ tail -2 /etc/passwd
sshd:x:122:65534::/run/sshd:/usr/sbin/nologin
zhang3:x:1001:1002::/home/zhang3:/bin/sh
weimingze@mzstudio:~$ sudo tail -2 /etc/shadow
sshd:!:20230::::::
zhang3:!:20230:0:99999:7:::
weimingze@mzstudio:~$
删除 li4 用户的信息并保留主文件夹(主目录)则需要用 sudo userdel li4 命令。
练习:
- 删除
test用户,同时删除其用户主文件夹和主组。