userdel 命令
userdel 命令功能是删除用户的相关数据。此命令只有 root 用户才能使用。
用户的相关数据包含如下几项:
用户基本信息: |
存储在 /etc/passwd 文件中; |
用户密码信息: |
存储在 /etc/shadow 文件中; |
用户群组基本信息: |
存储在 /etc/group 文件中; |
用户群组信息信息: |
存储在 /etc/gshadow 文件中; |
用户个人文件: |
主目录默认位于 /home/用户名,邮箱位于 /var/spool/mail/用户名。 |
userdel 命令的作用是从以上文件中,删除与指定用户有关的数据信息。
userdel 命令的语法很简单,基本格式如下:
[root@localhost ~]# userdel -r 用户名
-r 选项表示在删除用户的同时删除用户的家目录。
注意,在删除用户的同时如果不删除用户的家目录,那么家目录就会变成没有属主和属组的目录,也就是垃圾文件。
例如,删除前面章节中创建的 lamp 用户,只需执行如下命令:
[root@localhost ~]# userdel -r lamp
除了使用 userdel 命令删除用户,还可以手动方式删除
手动删除指定用户的具体操作如下:
#建立新 lamp 用户
[root@localhost ~]# useradd lamp
[root@localhost ~]# passwd lamp
#为 lamp 用户设置密码,由此 lamp 用户才算是创建成功
#下面开始手动删除 lamp
[root@localhost ~]# vi /etc/passwd
lamp:x:501:501::/home/lamp:/bin/bash <--删除此行
#修改用户信息文件,删除lamp用户行
[root@localhost ~]#vi /etc/shadow
lamp:$6$KoOYtcOJ $56Xk9vp3D2vMRBxibNOn.21cVJ9onbW8IHx4WrOx6qBqfGa9U3mjMsGjqYnj L/4t3zt3YxElce2X8rbb12x4a0:15716:0:99999:7::: <--删除此行
#修改影子文件,删除lamp用户密码行,注意,这个文件的权限是000,所以要强制保存
[root@localhost ~]#vi /etc/group
lamp:x:501: <--删除此行
#修改组信息文件,删除lamp群组信息
[root@localhost ~]#vi /etc/gshadow
lamp:!:: <--删除此行
#修改组影子文件,删除lamp群组密码信息。同样注意需要强制保存
[root@localhost ~]# rm -rf /var/spod/mail/lamp #删除用户邮箱
[root@localhost ~]# rm -rf/home/lamp/ #删除用户的家目录
#至此,用户彻底删除,再新建用户lamp。如果可以正常建立,则说明我们手工删除干净了
[root@localhost ~]# useradd lamp
[root@localhost ~]# passwd lamp
#重新建立同名用户,没有报错,说明前面的手工删除是可以完全删除用户的
手动删除用户,仅是为了让读者对 userdel 命令理解地更透彻,实际使用中,userdel 删除用户更方便。