1. 程式人生 > >Linux 系統管理 : userdel 命令詳解

Linux 系統管理 : userdel 命令詳解

userdel命令用於刪除給定的使用者,以及與使用者相關的檔案。若不加選項,則僅刪除使用者帳號,而不刪除相關檔案。

語法

userdel(選項)(引數)

選項

-f:強制刪除使用者,即使使用者當前已登入;
-r:刪除使用者的同時,刪除與使用者相關的所有檔案。

引數

使用者名稱:要刪除的使用者名稱。

例項

userdel命令很簡單,比如我們現在有個使用者linuxde,其家目錄位於/var目錄中,現在我們來刪除這個使用者:

userdel linuxde       //刪除使用者linuxde,但不刪除其家目錄及檔案;
userdel -r linuxde    //刪除使用者linuxde,其家目錄及檔案一併刪除;

請不要輕易用-r

選項;他會刪除使用者的同時刪除使用者所有的檔案和目錄,切記如果使用者目錄下有重要的檔案,在刪除前請備份。

其實也有最簡單的辦法,但這種辦法有點不安全,也就是直接在中刪除您想要刪除使用者的記錄;但最好不要這樣做,/etc/passwd是極為重要的檔案,可能您一不小心會操作失誤。

詳解:

由於 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命令退出後為以下值:

0  成功

1   不能更新密碼檔案

2   無效的命令語法

6   指定的使用者不存在

8   當前登入使用者

10  不能更新組檔案

12  不能移除家目錄

舉例:

[email protected]:<home>$ sudo userdel -r tmpUser 
[sudo] password for yexiang: 
userdel: tmpUser mail spool (/var/mail/tmpUser) not found

[email protected]:<home>$ echo $?
0
[email protected]:<home>$ sudo userdel -r tmpUser 
userdel: user 'tmpUser' does not exist
[email protected]:<home>$ echo $?

6

總結

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

相關推薦

Linux 系統管理 : userdel 命令

userdel命令用於刪除給定的使用者,以及與使用者相關的檔案。若不加選項,則僅刪除使用者帳號,而不刪除相關檔案。語法userdel(選項)(引數)選項-f:強制刪除使用者,即使使用者當前已登入; -r:刪除使用者的同時,刪除與使用者相關的所有檔案。引數使用者名稱:要刪除的使

Linux 系統管理 : who 命令

who命令是顯示目前登入系統的使用者資訊。執行who命令可得知目前有那些使用者登入系統,單獨執行who命令會列出登入帳號,使用的終端機,登入時間以及從何處登入或正在使用哪個X顯示器。語法who(選項)(引數)選項-H或--heading:顯示各欄位的標題資訊列; -i或-u或

Linux系統中ls命令

ls命令是linux下最常用的命令。ls命令就是list的縮寫 1. 命令格式: ls [選項,常用引數] [目錄名] 2. 命令功能: 列出目標目錄中所有的子目錄和檔案。 3. 常用引數: -a, –all 列出目錄下的所有檔案,包括以 . 開

Linux 系統設定 : enable 命令

enable命令用於臨時關閉或者啟用指定的shell內部命令。若要執行的檔名稱與shell內建命令相同,可用enable -n來關閉shell內建命令。若不加-n選項,enable可重新啟動關閉的命令。 linux shell命令執行時,shell總是先在自己的shell 

Linux 系統設定 : insmod 命令

insmod命令用於將給定的模組載入到核心中。Linux有許多功能是通過模組的方式,在需要時才載入kernel。如此可使kernel較為精簡,進而提高效率,以及保有較大的彈性。這類可載入的模組,通常是裝置驅動程式。 語法 insmod(選項)(引數) 選項 -f:不檢

Linux 系統設定 : lsmod 命令

lsmod命令用於顯示已經載入到核心中的模組的狀態資訊。執行lsmod命令後會列出所有已載入系統的模組。Linux作業系統的核心具有模組化的特性,應此在編譯核心時,務須把全部的功能都放入核心。您可以將這些功能編譯成一個個單獨的模組,待需要時再分別載入。 語法 lsmod

Linux 系統設定 : modprobe 命令

modprobe命令用於智慧地向核心中載入模組或者從核心中移除模組。 modprobe可載入指定的個別模組,或是載入一組相依的模組。modprobe會根據depmod所產生的相依關係,決定要載入哪些模組。若在載入過程中發生錯誤,在modprobe會解除安裝整組的模組。 語

Linux 系統設定 : hwclock 命令

Linux hwclock命令用於顯示與設定硬體時鐘。 在Linux中有硬體時鐘與系統時鐘等兩種時鐘。硬體時鐘是指主機板上的時鐘裝置,也就是通常可在BIOS畫面設定的時鐘。系統時鐘則是指kernel中的時鐘。當Linux啟動時,系統時鐘會去讀取硬體時鐘的設定,之後系統時鐘即

Linux 檔案管理 : touch 命令

[email protected]:<~>$ stat aaa.txt   File: 'aaa.txt'  Size: 50              Blocks: 8          IO Block: 4096   regular fileDevice: 900h/2304d

Linux 磁碟管理 : stat 命令

[email protected]:<~>$ ls -al link_vim lrwxrwxrwx 1 yexiang yexiang 20 Jul 11 23:02 link_vim -> /home/yexiang/yxvim_[email protected]:&l

Linux 磁碟管理 : du 命令

Linux du命令也是檢視使用空間的,但是與df命令不同的是Linux du命令是檢視當前指定檔案或目錄(會遞迴顯示子目錄)佔用磁碟空間大小,還是和df命令有一些區別的. 1.命令格式: du [選項][檔案] 2.命令功能: 顯示每個檔案和目錄的磁碟使用空間。

linux初級學習筆記四:Linux文件管理命令!(視頻序號:03_1)

單詞 linux初級 linux文件管理 查看 stat 顯示行數 swd 字符處理 行數 本節學習的命令:cat(tac),more,less,head,tail,cut,sort,uniq,wc,tr 本節學習的技能:目錄管理         文件管理         

linux系統管理--top命令

stopped 谷歌百度 inux 正常 為我 cache 其中 休眠 運行 這些日子,運維公司三臺服務器,一個小夥伴貌似對top命令不太感冒,我告訴他去百度(不懂谷歌百度的程序員不是好廚師),然後突然發現也許我自己該整理一下相關的東西了 top命令是Linux下常用的

LinuxLinux定時任務Crontab命令

星期幾 ima 默認 定時 最好 表示 時間 path 配置文件 linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啟動的。另 外, 由於使用者自己也可以設置計劃任務,所以, Lin

Linux基礎進程命令

linux運維學習進程有關基礎命令一、進程定義1、進程就是CPU未完成的工作,而且它是其中運行著一個或多個線程的地址空間和這些線程所需要的系統資源。二、Linux系統進程和一些有關進程的命令1、ps命令 ps [options] 1》ps - report a snapshot of the c

【轉載】linux下的mount命令

文件的 flag 自動加載 網絡文件系統 解決問題 選項 lock home 多個參數 以下內容來自:http://blog.csdn.net/clozxy/article/details/5299054 http://linux.chinaunix.net/techdo

Linux上的free命令-收藏

cnblogs sed () 回收 dha 二維數組 版式 nbsp shared 解釋一下Linux上free命令的輸出。   下面是free的運行結果,一共有4行。為了方便說明,我加上了列號。這樣可以把free的輸出看成一個二維數組FO(Free Output)。例如

Linux crontab 定時任務命令

-1 data new ubuntu 時間間隔 服務 run back use Linux Crontab 定時任務 命令詳解 [日期:2016-02-13] 來源:Linux社區 在工作中需要數據庫在每天零點自動備份所以需要建立一個定時任務.我選擇在Linux下使用

Linux定時任務Crontab命令

自動 monthly ons 命名 維護 我們 周期 你在 腳本文件 linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啟動的。另 外, 由於使用者自己也可以設置計劃任務,所以, L

Linux自學筆記(4):Linux獲取幫助的命令

Linux獲取幫助的命令詳解 man linux命令幫助的獲取 外部命令:都有一個可執行程序,位於文件系統都目錄下; echo (COMMAND) 內部命令: help COMMAND 外部命令幫助:(1)幫助手冊 COMMAND --help # COMMAND -