Linux下完全删除用户

Linux下完全删除用户

第一种

1. 首先创建一个普通用户ywb

[root@lnmp ~]# useradd ywb
[root@lnmp ~]# passwd ywb
更改用户 ywb 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

2. 这样就成功创建了一个普通用户,然后来删除这个用户。

[root@lnmp ~]# userdel ywb

3. 使用useradd命令就删除了,但是,,,问题来了,当我们再次创建ywb这个用户时...

[root@lnmp ~]# useradd ywb
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在

文件已存在,无法创建,这是为什么?因为在创建用户时会默认生成用户的家目录密码文件用户组(不指定用户组的情况下),以及邮箱文件,而使用userdel命令删除时仅仅是删除了这个用户,而这个用户的文件还在,那么就需要完全删除这些文件。我看了一下大概有四个地方需要处理。

  • /home目录下的文件
  • /etc/passwd下的用户
  • /etc/group下的用户组
  • /var/spool/mail下的邮箱文件

4. 下面依次来删除这些文件。

4.1 删除/home目录下的文件

[root@lnmp ~]# ll /home/
总用量 0
drwx------ 3 ywb ywb 78 8月  12 16:39 ywb
[root@lnmp ~]# rm -rf /home/ywb
[root@lnmp ~]# ll /home/
总用量 0

4.2 删除/etc/passwd下的用户

[root@lnmp ~]# cat /etc/passwd | tail -1
ywb:x:1000:1000::/home/ywb:/bin/bash

#可以使用`vi`/`vim`编辑文件
[root@lnmp ~]# vim /etc/passwd

[root@lnmp ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nginx:x:998:996:nginx user:/var/cache/nginx:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

4.3 删除/etc/group下的用户组文件

[root@lnmp ~]# cat /etc/group | tail -1
ywb:x:1000:

#可以使用`vi`/`vim`编辑文件
[root@lnmp ~]# vim /etc/group
[root@lnmp ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
input:x:999:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:998:
ssh_keys:x:997:
abrt:x:173:
tss:x:59:
sshd:x:74:
postdrop:x:90:
postfix:x:89:
nginx:x:996:
mysql:x:27:
apache:x:48:

4.4 删除/var/spool/mail下的邮箱文件

[root@lnmp ~]# ll /var/spool/mail/
总用量 132
-rw------- 1 root mail 131768 7月  29 14:30 root
-rw-rw---- 1 1000 mail      0 8月  12 16:39 ywb

[root@lnmp ~]# rm -rf /var/spool/mail/ywb 

[root@lnmp ~]# ll /var/spool/mail/
总用量 132
-rw------- 1 root mail 131768 7月  29 14:30 root

5. 删除完成,再来创建ywb用户。

[root@lnmp ~]# useradd ywb
[root@lnmp ~]# passwd ywb
更改用户 ywb 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

搞定!

第二种

除了这种方法还有一种完全删除的方法

1. 删除ywb用户

[root@lnmp ~]# userdel -rf ywb

2. 删除完成,再来创建ywb用户。

[root@lnmp ~]# useradd ywb
[root@lnmp ~]# passwd ywb
更改用户 ywb 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

本文摘抄自https://www.cnblogs.com/Timesi/p/9634181.html