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:所有的身份驗證令牌已經成功更新。