userdel 指令功能很簡單,就是删除使用者的相關資料。此指令隻有 root 使用者才能使用。
通過前面的學習我們知道,使用者的相關資料包含如下幾項:
使用者基本資訊:存儲在 /etc/passwd 檔案中;
使用者密碼資訊:存儲在 /etc/shadow 檔案中;
使用者群組基本資訊:存儲在 /etc/group 檔案中;
使用者群組資訊資訊:存儲在 /etc/gshadow 檔案中;
使用者個人檔案:主目錄預設位于 /home/使用者名,郵箱位于 /var/spool/mail/使用者名。
其實,userdel 指令的作用就是從以上檔案中,删除與指定使用者有關的資料資訊。
userdel 指令的文法很簡單,基本格式如下:
[[email protected] ~]# userdel -r 使用者名
-r 選項表示在删除使用者的同時删除使用者的家目錄。
注意,在删除使用者的同時如果不删除使用者的家目錄,那麼家目錄就會變成沒有屬主和屬組的目錄,也就是垃圾檔案。
例如,删除前面章節中建立的 lamp 使用者,隻需執行如下指令:
[[email protected] ~]# userdel -r lamp
除了使用 userdel 指令删除使用者,還可以手動方式删除,畢竟通過前面的學習,我們已經知道與使用者相關資訊的存儲位置。雖然這樣做沒有實際意義,但對于初學者來說,可以加深對 userdel 指令的了解。
手動删除指定使用者的具體操作如下:
#建立新 lamp 使用者
[[email protected] ~]# useradd lamp
[[email protected] ~]# passwd lamp
#為 lamp 使用者設定密碼,由此 lamp 使用者才算是建立成功
#下面開始手動删除 lamp
[[email protected] ~]# vi /etc/passwd
lamp:x:501:501::/home/lamp:/bin/bash
#修改使用者資訊檔案,删除lamp使用者行
[[email protected] ~]#vi /etc/shadow
lamp:$6$KoOYtcOJ $56Xk9vp3D2vMRBxibNOn.21cVJ9onbW8IHx4WrOx6qBqfGa9U3mjMsGjqYnj L/4t3zt3YxElce2X8rbb12x4a0:15716:0:99999:7:::
#修改影子檔案,删除lamp使用者密碼行,注意,這個檔案的權限是000,是以要強制儲存
[[email protected] ~]#vi /etc/group
lamp:x:501:
#修改組資訊檔案,删除lamp群組資訊
[[email protected] ~]#vi /etc/gshadow
lamp:!::
#修改組影子檔案,删除lamp群組密碼資訊。同樣注意需要強制儲存
[[email protected] ~]# rm -rf /var/spod/mail/lamp #删除使用者郵箱
[[email protected] ~]# rm -rf/home/lamp/ #删除使用者的家目錄
#至此,使用者徹底删除,再建立使用者lamp。如果可以正常建立,則說明我們手工删除幹淨了
[[email protected] ~]# useradd lamp
[[email protected] ~]# passwd lamp
#重建立立同名使用者,沒有報錯,說明前面的手工删除是可以完全删除使用者的
手動删除使用者,僅是為了讓讀者對 userdel 指令了解地更透徹,實際使用中,使用 userdel 删除使用者更友善。
最後需要大家注意的是,如果要删除的使用者已經使用過系統一段時間,那麼此使用者可能在系統中留有其他檔案,是以,如果我們想要從系統中徹底的删除某個使用者,最好在使用 userdel 指令之前,先通過 find -user 使用者名 指令查出系統中屬于該使用者的檔案,然後在加以删除。