在linux中,如何增長、修改、刪除、暫停和凍結用戶名

Linux中,如何增長、修改、刪除、暫停和凍結用戶名linux

在操做增長、修改和刪除用戶名前,先認識linux中兩個最重要的文件,它們就是帳號管理最重要文件「/etc/passwd」與「etc/shadow」.shell

環境:windows 7 + virtualbox + fedora 15 KDEwindows

1.認識「etc/passwd」文件bash

在命令行輸入:vi /etc/passwd編碼

打開/etc/passwd文件,如上圖所示。加密

文件構造:每一行都表明一個帳號,有幾行就表明系統中有幾個帳號。須要特殊說明的是,裏面不少帳號原本就是系統中必需要的,稱爲系統帳號,例如bin、daemon、adm和nobody等。這些帳號是系統正常運行所須要的,不可隨意刪掉。.net

下面以第一行爲例,解釋每行中各部分的含義。命令行

root:x:0:0:root:/root:/bin/bash接口

該行各部分之間以「:」分隔開,共7部份內容,分別是:crontab

第一部分:root是帳號名稱,對應UID。

第二部分:x表示密碼已經移到shadow加密文件了。

第三部分:0是UID,即用戶識別碼。當UID是0是,表示這個帳號是「系統管理員」。UID在1~499通常保留給系統使用,而在500~65535通常用戶用。

第四部方:0是GID,即用戶組識別碼,與/etc/group有關。

第五部分:root是用戶信息說明欄,用來解釋帳號的意義。

第六部分:/root是用戶家目錄。

第七部分:/bin/bash是shell,用於當執行命令後,各硬件設備接口之間的通訊。

 

2.認識「/etc/shadow」文件

命令行輸入:# vi /etc/shadow

打開的/etc/shadow文件如上圖所示。

下面以第一行爲例,介紹每行中各部分的用途。

root:$6$jEfz355e$jBPBwazWDn7IzeNskhBBYwn/9ydVPDwC787BS3KrRwwKWL.XUT/PjjVGAMFO7VblvSyhv3SNx8lwwa88f54Gd.:15952:0:99999:7:::

shadow以「:」做爲分隔符,工9個字段,用途以下:

第一部分:帳號名稱root。因爲密碼須要跟帳號對應,所以,這個文件的第一欄就是帳號,必須與/etc/passwd相同。

第二部分:密碼$6$jEfz355e$jBPBwazWDn7IzeNskhBBYwn/9ydVPDwC787BS3KrRwwKWL.XUT/PjjVGAMFO7VblvSyhv3SNx8lwwa88f54Gd.,是編碼後的密碼。

第三部分:最近更改密碼的日期15952。注意,linux日期的時間是1970.1.1做爲1。

第四部分:密碼不可更改的天數0,表示隨時能夠更改。

第五部分:密碼須要從新更改的天數99999,表示密碼不須要從新輸入。

第六部分:密碼更改期限前的警告期限7,密碼到期前的7天以內,系統會警告該用戶。

第七部分:密碼過時的寬限時間,表示失效後沒法登錄。

第八部分:帳號失效日期。此字段規定日期後,將沒法再使用。一般在「收費服務」的系統中使用該字段。

第九部分:保留。

 

3.增長一個用戶

(1)徹底參考默認值創建一個用戶,名爲vbird

命令行鍵入:# useradd vbird

(2)查看家/home下的vbird用戶狀況

命令行鍵入:# ls -l /home

能夠看到/home下已經自動爲vbird用戶創建了家目錄

(3)查看/etc/passwd、/etc/shadow、/etc/group內vbird用戶狀況

命令行鍵入:# grep vbird /etc/passwd /etc/shadow /etc/group

能夠看到,三個文件中均爲vbird用戶添加了信息。

(4)在/etc/shadow所對應的行,能夠看到,密碼區對應的是「!!」,說明vbird用戶尚未密碼。若是沒有密碼,是沒法登錄該用戶的,下面利用passwd命令給該用戶設定密碼

命令行鍵入:# passwd vbird

密碼規範挺複雜,簡單的密碼會提醒「BAD PASSWD: is too simple」,但再次輸入該密碼,系統就會接受你的密碼。

看一下/etc/shadow內的vbird用戶信息

命令行鍵入:# grep vbird /etc/shadow

能夠看到,密碼區已經有了內容(固然是編碼後的結果)。

 

4.修改一個用戶

修改用戶時,主要使用usermod命令,也可使用手動修改文件的方式。若是你的基礎不牢固,建議採用usermod命令修改。

(1)將用戶名vbird修改成vbirdfly

注意:關機(shutdown),再以root用戶登陸系統才能成功修改用戶名,僅退出(layout)是不能夠的。

命令行鍵入:# usermod -l vbirdfly vbird

vbird用戶已經成功該名爲vbirdfly,但其家目錄和密碼仍然是原vbird的。

退出(layout)系統後,再從新以vbird用戶和原密碼登陸,已經沒法登陸;而採用vbirdfly用戶和原密碼登陸,能夠成功登陸。

(2)如何才能將家目錄也修改成vbirdfly呢?

·命令版

注意:關機(shutdown),再以root用戶登陸系統才能成功修改,僅退出(layout)是不能夠的。

命令行鍵入:# usermod -d /home/vbirdfly -m vbirdfly

能夠看出,/etc/passwd裏的家目錄部分已經修改爲/home/vbirdfly。那/home下作了哪些修改呢?能夠看出,原來的vbird文件改爲了vbirdfly文件。這裏須要說明一下usermod的-d和-m參數了:

若是命令是 usermod -d /home/vbirdfly vbirdfly 表示僅修改 /etc/passwd 第6欄的內容而已;若是加上-m 參數,即命令 usermod -d /home/vbirdfly -m vbirdfly ,則表示新建一個家目錄;另外,若是原來的家目錄是 /home/vibrd,那麼usermod -d /home/vbirdfly -m vbirdfly 命令會將原來的 /home/vbird 改名爲 /home/vbirdfly。

·手動版

首先,將家目錄的名稱改成vbirdly

命令行鍵入:

# cd /home

# mv vbird vbirdfly

能夠看到,家目錄已經成功修更名稱。

這還不夠,要在/etc/passwd中再做修改

命令行鍵入:# vi /etc/passwd

將紅框部分改成vbirdfly

退出(layout)系統,咱們以vbirdfly再登錄一下看看!

能夠看出,vbirdfly是以/home/vbirdfly爲家目錄,修改爲功!

 

5.刪除一個用戶

刪除用戶是指不讓改用戶在主機上使用任何數據,並將該用戶的數據刪除。

注意:關機(shutdown),再以root用戶登陸系統才能成功修改,僅退出(layout)是不能夠的。

使用的命令是userdel

輸入命令:# userdel -r vbird

能夠看出該用戶已經刪除(包括家目錄)。

若是vbird已經操做過一段時間,系統內可能會含有其餘文件,如郵件信息(mail box)、例行命令(crontab)之類的文件,因此想要完整地將帳號刪除,最後執行userdel -r username以前,先以「find / -user username」查出整個系統內屬於username的文件,而後再刪除。

 

6.暫停一個用戶

若是你只是想讓某一用戶「暫時不啓用」,將/etc/shadow裏最後導數一個字段設置爲0,就可讓改帳號沒法使用。

參考上面的/etc/shadow介紹可知,將帳號當即失效。

 

7. 凍結一個用戶

若是你只是想讓某一用戶沒法登錄,即密碼凍結,可使用passwd命令。

# passwd -l username

會顯示:

Locking password for user username

passwd: Success

密碼凍結解開

# passwd -u username

 

注:username只是爲了說明,操做時只需用本身的用戶名替換便可。

相關文章
相關標籤/搜索