1)掌握/etc/passwd檔案的功能:儲存所有使用者的相關資訊,每一個使用者佔用一行記錄,該檔案也被稱為使用者資訊資料庫(Database)
2)/etc/passwd檔案中每個欄位的具體含義:
a)第1個欄位(列):記錄的是這個使用者的名字(在建立使用者時root使用者起的)
b)第2個欄位(列):如果是x,表示該使用者登入Linux系統時必須使用密碼;如果為空,表示該使用者在登入時無須提供密碼
c)第3個欄位(列):記錄的是這個使用者的uid
d)第4個欄位(列):記錄的是這個使用者所屬群組的gid
e)第5個欄位(列):記錄的是有關這個使用者的備註資訊
f)第6個欄位(列):記錄的是這個使用者的家目錄的路徑
g)第7個欄位(列):記錄的是這個使用者登入後,第一個要執行的程序
2、shadow檔案
1)掌握/etc/shadow檔案的功能:儲存所有使用者的密碼,每一個使用者佔用一行記錄,該檔案實際上就是存放使用者密碼的資料庫(Database)
2)掌握/etc/shadow檔案中每個欄位的具體含義:
a)第1個欄位(列):記錄的是使用者名稱
b)第2個欄位(列):記錄的是密碼,這個密碼是經過md5加密演演算法加密過的密碼
3、群組及group檔案
1)掌握/etc/group檔案的功能:存放了Linux系統中所有群組的資訊,它實際上就是一個存放群組資訊的資料庫(Database)
2)掌握/etc/group檔案每個欄位的具體含義:
a)第1個欄位(列):記錄的是這個群組的名字
b)第2個欄位(列):如果為x,表示該使用者登入Linux系統時必須使用密碼;如果為空,表示該使用者在登入時無須提供密碼
c)第3個欄位(列):記錄的是這個群組的gid
d)第4個欄位(列)記錄的是這個群組裡還有哪些群組成員
(4).組態檔
在/etc/login.defs中有如下設定變數,可以用來更改此工具的行為:
CREATE_HOME(boolean) 指示是否應該為新使用者預設建立主目錄。此設定並不應用到系統使用者,並且可以使用命令列覆蓋。
GID_MAX(number),GID_MIN(number) useradd,groupadd或newusers建立的常規組的組ID範圍。GID_MIN預設值1000(CentOS6為500),GID_MAX預設值60000。
MAIL_DIR(string)郵箱目錄。修改或刪除使用者賬戶時需要處理郵箱,如果沒有指定,將使用編譯時指定的預設值。
MAIL_FILE(string) 定義使用者郵箱檔案的位置(相對於主目錄)。
注意:MAIL_DIR和MAIL_FILE變數由useradd,usermod和userdel用於建立、移動或刪除使用者郵箱。如果MAIL_CHECK_ENAB設定為yes,它們也被用於定義MAIL環境變數。
MAX_MEMBERS_PER_GROUP(number) 每個組條目的最大成員數。達到最大值時,在/etc/group開始一個新條目(行)(使用同樣的名稱,同樣的密碼,同樣的GID)。預設值是0,意味著組中的成員數沒有限制。此功能(分割組)允許限制組檔案中的行長度。這對於確保NIS組的行比長於1024字元。如果要強制這個限制,可以使用25。
注意:分割組可能不受所有工具的支援(甚至在Shadow工具集中)。如果沒有必要你不應該使用這個變數。
PASS_MAX_DAYS(number) 一個密碼可以使用的最大天數。如果密碼比這個舊,將會強迫更改密碼。如果不指定,就假定為-1,這會禁用此限制。
PASS_MIN_DAYS(number) 兩次更改密碼時間最小間隔。將會拒絕任何早於此的更改密碼的嘗試。如果不指定就假定為-1,將會禁用此限制。
PASS_WARN_AGE(number) 密碼過期之前鬼畜警告的天數。0表示在過期當天警告,負值表示不警告。如果沒有指定,不會給出警告。
SYS_GID_MAX(number),SYS_GID_MIN(number) useradd、groupadd或newusers建立的系統組的組ID範圍。SYS_GID_MIN預設101(CentOS6為201),SYS_GID_MAX預設GID_MIN-1。
SYS_UID_MAX(number),SYS_UID_MIN(number) useradd或newusers建立的系統使用者的使用者ID的範圍。SYS_UID_MIN預設101(CentOS6為201),SYS_UID_MAX預設UID_MIN-1。
UID_MAX(number),UID_MIN(number) useradd或newusers建立的普通使用者的使用者ID的範圍。UID_MIN預設1000(CentOS6為500),UID_MAX預設60000。
UMASK(number) 檔案模式建立掩碼初始化為此值。如果沒有指定,掩碼初始化為022。Useradd和newusers使用此掩碼設定它們建立的使用者主目錄的模式。也被login用於指定使用者的初始umask。注意,此掩碼可以被使用者的GECOS行覆蓋(當設定了QUOTAS_ENAB時),也可以被帶K指示符的limits(5)定義的限制值覆蓋。
USERGROUPS_ENAB(boolean) 如果uid和gid相同,使用者名稱和主使用者名稱也相同,使非root組的組掩碼位和屬主位相同(如:022->002,077->007)。如果設定為yes,組中也沒有成員了,userdel將移除此使用者組,useradd建立使用者時,也會建立一個同名的預設組。
1./etc/passwd
root@root:~# cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin admin:x:3:3:admin:/dev:/usr/sbin/nologin
欄位與欄位之間以:隔開,每個欄位代表的意思如下:
1.使用者名稱。
2.使用者的密碼預留位置。(之前使用者的密碼原本儲存在該欄位,處於安全考慮,最後專門有了/etc/shadow檔案,現在預設均由x替代)
3.使用者UID值,一般情況下,root的UID為0,1-499預設為系統賬號,有的更大些到1000,500-65535為使用者的可登入賬號,有的系統從1000開始。
4.使用者的gid,linux的使用者都會有兩個ID,一個是使用者uid,一個是使用者組id。(在我們登入的時候,輸入使用者名稱和密碼,首先到/etc/passwd檢視是否有你輸入的賬號或者使用者名稱,有的話將該賬號與對應的UID和GID(在/etc/group中)讀出來。然後讀出主資料夾與shell的設定,然後再去檢驗密碼是否正確,正確的話正常登入)
5.使用者的賬號說明解釋。
6.使用者的家目錄資料夾。
7.使用者使用的shell,如果換成/sbin/nologin時預設是沒有登入環境的。
2./etc/shadow
root@www:~# cat /etc/shadow root:$6$X9iEgIhv$wGtrUhjiNRp72LgCTzC1qdi.myfSU9S5nqsfr.m1KInUFoeOUBN73AmMy5sTe91biJLdHgsoimZQzeD9EvGlv1:16769:0:99999:7::: daemon:*:16547:0:99999:7::: bin:*:16547:0:99999:7::: sys:*:16547:0:99999:7::: sync:*:16547:0:99999:7::: games:*:16547:0:99999:7::: man:*:16547:0:99999:7:::
欄位與欄位之間以:隔開,每個欄位代表的意思如下:
1.使用者名稱,與/etc/passwd中的第一個欄位一致。
2.使用者的密碼加密欄位(「該欄位存放的是加密後的使用者口令字,如果為空,則對應使用者沒有口令,登入時不需要口令; 星號代表帳號被鎖定; 雙歎號表示這個密碼已經過期了。 $6$開頭的,表明是用SHA-512加密的, $1$ 表明是用MD5加密的 $2$ 是用Blowfish加密的 $5$ 是用 SHA-256加密的。)
3.「最後一次修改時間」表示的是從某個時刻起,到使用者最後一次修改口令時的天數。(一般這個時間起點是1970年1月1日)
4.「最小時間間隔」指的是兩次修改口令之間所需的最小天數。
5.「最大時間間隔」指的是口令保持有效的最大天數。
6.「警告時間」欄位表示的是從系統開始警告使用者到使用者密碼正式失效之間的天數。
7.「不活動時間」表示的是使用者沒有登入活動但賬號仍能保持有效的最大天數。
8.「失效時間」欄位給出的是一個絕對的天數,如果使用了這個欄位,那麼就給出相應賬號的生存期。期滿後,該賬號就不再是一個合法的賬號,也就不能再用來登入了。
9.最後一個欄位,為保留欄位,暫時沒有任何含義。