1./etc/passwdlinux
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
字段與字段之間以:隔開,每一個字段表明的意思以下:shell
1.用戶名。安全
2.用戶的密碼佔位符。(以前用戶的密碼本來存儲在該字段,處於安全考慮,最後專門有了/etc/shadow文件,如今默認均由x替代)bash
3.用戶UID值,通常狀況下,root的UID爲0,1-499默認爲系統帳號,有的更大些到1000,500-65535爲用戶的可登陸帳號,有的系統從1000開始。ui
4.用戶的gid,linux的用戶都會有兩個ID,一個是用戶uid,一個是用戶組id。(在咱們登陸的時候,輸入用戶名和密碼,首先到/etc/passwd查看是否有你輸入的帳號或者用戶名,有的話將該帳號與對應的UID和GID(在/etc/group中)讀出來。而後讀出主文件夾與shell的設置,而後再去檢驗密碼是否正確,正確的話正常登陸)加密
5.用戶的帳號說明解釋。spa
6.用戶的家目錄文件夾。code
7.用戶使用的shell,若是換成/sbin/nologin時默認是沒有登陸環境的。blog
2./etc/shadowclass
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.最後一個字段,爲保留字段,暫時沒有任何含義。