歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> userdel 命令 - 從Linux系統中刪除用戶賬戶

userdel 命令 - 從Linux系統中刪除用戶賬戶

日期:2017/2/28 14:36:33   编辑:Linux教程

在服務器上維護用戶就是添加、修改以及刪除用戶。當一個用戶出於某種原因不再需要登錄系統時,我們需要刪除此用戶以避免安全漏洞。在Linux系統上,我們用 userdel 命令來刪除一個用戶。

userdel是什麼

userdel 是一個底層用於刪除用戶的工具。在 Debian 上,我們通常會使用 deluser 命令。userdel 會查詢系統賬戶文件,例如 /etc/password/etc/group。那麼它會刪除所有和用戶名相關的條目。在我們刪除它之前,用戶名必須存在。

如何使用userdel

由於 userdel 會修改系統賬戶文件,那麼我們需要root特權來運行它。不然我們會遇到一個報錯信息“只有root權限才能執行這項操作”或者類似的信息。在我們得到特權後,我們可以通過輸入 userdel 從你的控制台刪除用戶。下面是一個默認使用 userdel 的樣例。

$ sudo userdel pasadena

或者

# userdel pasadena

正如你所見,我們不能沒有root權限而刪除用戶 pasadena。當我們有權限時,系統不會給出錯誤信息,這意味著用戶已經成功刪除。

完全刪除用戶家目錄

不帶選項使用 userdel,只會刪除用戶。用戶的家目錄將仍會在/home目錄下。

當我們進入/home目錄時,我們仍舊可以看到ID 1002擁有 pasadena 文件夾。已創建的用戶通常會有一個與用戶名相同的組名。1002是 pasadena 用戶名的 UID 和 pasadena 組名的 GID。

為了在刪除用戶時完全刪除家目錄,我們可以使用 -r 選項。這個選項同樣會刪除用戶的郵件池,如果存在的話。

強制刪除一個用戶

userdel 提供了 -f 選項來強制刪除用戶。甚至當用戶已經登入 Linux 系統時此選項仍舊生效。請看一下示例截圖。

截圖的上面顯示用戶 pasadena 已經登錄了系統。它被標記的進程6218是 SSHD 進程。而當我們用“userdel -f pasadena”只會顯示已經登錄的要被刪除的用戶信息。命令本身已經成功。如果我們使用cat 命令查看/etc/passwd的內容,我們看不到到用戶 pasadena 存在了。他的家目錄還存在但是所有者只能顯示為數字ID。

有一件事我們必須了解,帶 -f 選項的 userdel 不會斷開 該用戶已有的 SSH 鏈接。因此,即使用戶已經不存在,但實際上仍是登錄狀態,並且是活躍用戶。但是當用戶登出後不可再登錄,因為用戶已經被刪除。

因此所以這個選項使用起來有些危險,因為它會使你的系統進入不一致的狀態。

總結

userdel 是一個 Linux 系統內部刪除用戶的工具。userdel同樣是deluser命令的後端,這是一個用perl編寫的刪除用戶的腳本。如往常一樣,你可以輸入man userdel來查看關於userdel命令的更多細節。

Linux 無法使用userdel 刪除用戶和組的解決辦法 http://www.linuxidc.com/Linux/2013-07/87371.htm

Copyright © Linux教程網 All Rights Reserved