linux下如何完全删除用户账号
实验背景:
(1)虚拟机软件:VMware Workstation 12;
(2)操作系统:Centos6.7 32位
实验步骤:
(1)进入系统后,首先我们创建一个用户账号。
[[email protected] ~]# useradd www #创建用户,名字是www
[[email protected] ~]# ls /home #查看刚创建的用户账户
[[email protected] ~]# cat /etc/passwd |grep www
www:x:501:501::/home/www:/bin/bash
[[email protected] ~]# cat /etc/shadow |grep www
www:!!:17294:0:99999:7:::
[[email protected] ~]# cat /etc/group |grep www
www:x:501:
[[email protected] ~]# cat /etc/gshadow |grep www
www:!::
截图如下:
(2)删除用户www,如果我们直接使用userdel www,那么并不能删除该用户账号所有相关信息,只是删除掉了/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件里的该账户和组的信息。因为默认情况下创建一个用户账号,会创建一个家目录和一个用户邮箱(在/var/spool/mail目录以用户名命名)。我们可以使用find命令来查找所有与该用户相关的文件信息【find / -name "*www*"】。
命令如下:
[[email protected] ~]# userdel www
[[email protected] ~]# cat /etc/passwd |grep www
[[email protected] ~]# cat /etc/shadow |grep www
[[email protected] ~]# cat /etc/group |grep www
[[email protected] ~]# cat /etc/gshadow |grep www
[[email protected] ~]# find / -name "*www*"
截图如下:
(3)我们现在再次创建www账户
上图显示报错!所以当你再次创建该用户账号的时候会报错,这就说明与该用户相关的文件或目录你之前并没有完全删除。
(4)正确删除账户
[[email protected] ~]# userdel -r www
截图如下:
上图我们看到,当用userdel -r 命令删除账户后,使用find命令查看,用户www相关文件已经删除。所以我们再次使用useradd www命令创建用户www时,系统没有报错!