/etc /passwd、/etc/shadow和/etc/group這三個配置文件用於系統帳號管理,都是文本文件,可用vim等文本編輯器打開。/etc /passwd用於存放用戶帳號信息,/etc/shadow 用於存放每個用戶加密的密碼,/etc/group用於存放用戶的組信息。
一、/etc/passwd
sudo vim /etc/passwd
內容是:
root:x:0:0:root:/root:/bin/bash
xiaoxiaozi:x:1000:1000:xiaoxiaozi,,,:/home/xiaoxiaozi:/bin/bash
每一行代表一個賬號,是的,有幾十個賬號,雖然賬號很多,但是你要知道,有很多賬號本來就是系統中必須的,稱為系統賬號。例如:bin和nobody其實都是系統賬號。這些賬號是系統正常運行所需要的,沒事不要輕易折騰他們。格式由分號分隔的字串組成,它的格式如下:
username:password:uid:gid:allname:homedir:shell
各域對應的中文說明如下:
用戶名:密碼:用戶ID:組ID:用戶全名:主目錄:登錄shell
以上面的結果為例,解釋一下:
用戶名稱:不解釋吧。
密碼:以前Linux的密碼直接存在該文件中,現在都存在/etc/shadow中了,存入後者的就用x表示,如果是“!”說明此用戶不能用密碼登錄。這也是為什麼剛裝好Ubuntu時不能用ROOT賬號登錄的根本原因。
UID:就是用戶識別碼(ID),當UID為0時說明其賬號是管理員身份,1~499是保留給系統使用的主要是一些系統服務,不過你用了也沒有關系。500~65535是給一般用戶的。
GID:與/etc/group文件有關,就是用戶初始化組的ID。
用戶信息說明欄:沒啥用,就是解釋這個用戶的,我感覺還是重復一下用戶名
家目錄:就是該用戶的“主文件夾”,一般看我的xiaoxiaozi的家目錄就是/home/xiaoxiaozi
Shell:SHELL腳本,看,現在一般默認都是BASH,可見其流行程序。
二、/etc/shadow
sudo vi /etc/shadow
Unix系統最初是用明文保存密碼的,後來由於安全的考慮,采用crypt()算法加密密碼並存放在/etc/passwd文件。現在,由於計算機處理能力的提高,使密碼破解變得越來越容易。/etc/passwd文件是所有合法用戶都可訪問的,大家都可互相看到密碼的加密字符串,這給系統帶來很大的安全威脅。現代的Unix系統使用影子密碼系統,它把密碼從/etc/pa sswd文件中分離出來,真正的密碼保存在/etc/shadow文件中,shadow文件只能由超級用戶訪問。這樣入侵者就不能獲得加密密碼串,用於破解。www.linuxidc.com使用shadow密碼文件後,/etc/passwd文件中所有帳戶的password域的內容為"x",如果 password域的內容為"*",則該帳號被停用。內容為:
root:!:14402:0:99999:7:::
xiaoxiaozi:$6$9Dm1F/MTo$rLKI4LJEZ1m1k63zzK9M3FoNdZRUTB1pbN3Igibbo9fo.
W4EQl74J7oa1c3ogmDbmJQHdV2toEMXX7taEU0/.0:14402:0:99999:7:::
格式為:
username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved
各個字段的含義看下面的解釋:
賬號名稱:我們都不傻,肯定知道密碼一定要與賬號對應,所以這裡的第一個字段就是賬號名,很正常的。
密碼:這是真正的密碼,不過是經過加密的啊。一般高人還是可以破解出來的,所以,這裡我把我的密碼改了幾個字符,呵呵。如果密碼欄第一個字符為*或者!,表示這個號不會用來登錄。
最近更改密碼的日期:這裡至於為啥會是14402這種怪異的數字。那是因為其是以1970年1月1日做為第1天,然後順次相加。
密碼不可更改的天數:即,你不想讓某個用戶頻繁更改密碼就可以把這個設成10000。
密碼需要重新更改的天數:和上面的一樣,有點繞,就是你的密碼在多少天內必須得改了。
密碼更改期限前的警告日期:比如說你將上一欄設為了20天,然後這個設為了5天,那麼在還有5天就到20天的時候(真啰嗦),系統會自動提示“小子,還有5天啦,你必須得修改你的密碼了,否則你就登錄不了了”
密碼過期的寬限時間:這個嘛,是人都有忘和懶的時候,就是你密碼都過期了(到了必須更改的日子你還沒改)然後你把本項設為10,那麼在過期後的10天內你還可以用原密碼登錄。但是是否還有提示我就不清楚了,理論上是應該有的。
賬號失效時間:這個不用說了吧?我們用WP的,在空間商那裡空間都是有到期時間的,就是這個東西控制的。
保留:這個就是說還沒想好放啥呢。不過先占個位置,也許以後要拉點啥呢?
三、用戶組的所有信息都存放在/etc/group文件中
將用戶分組是Linux系統中對用戶進行管理及控制訪問權限的一種手段。每個用戶都屬於某個用戶組;一個組中可以有多個用戶,一個用戶也可以屬於不同的組。當一個用戶同時是多個組中的成員時,在/etc/passwd文件中記錄的是用戶所屬的主組,也就是登錄時所屬的默認組,而其他組稱為附加組。
用戶要訪問屬於附加組的文件時,必須首先使用newgrp命令使自己成為所要訪問的組中的成員。用戶組的所有信息都存放在/etc/group文件中。此文件的格式也類似於/etc/passwd文件,由冒號(:)隔開若干個字段,這些字段有:
組名:口令:組標識號:組內用戶列表
1)“組名”是用戶組的名稱,由字母或數字構成。與/etc/passwd中的登錄名一樣,組名不應重復。
2)“口令”字段存放的是用戶組加密後的口令字。一般Linux系統的用戶組都沒有口令,即這個字段一般為空,或者是*。
3)“組標識號”與用戶標識號類似,也是一個整數,被系統內部用來標識組。
4)“組內用戶列表”是屬於這個組的所有用戶的列表/b],不同用戶之間用逗號(,)分隔。這個用戶組可能是用戶的主組,也可能是附加組。
/etc/group文件的一個例子如下:
#cat/etc/group
root::0:root
bin::2:root,bin
sys::3:root,uucp
adm::4:root,adm
daemon::5:root,daemon
lp::7:root,lp
users::20:root,sam[/code:1:aca506e246]