Linux系統中,所有用戶(包括系統管理員)的賬號和密碼都可以在/etc/passwd和/etc/shadow這兩個文件中找到,用戶和密碼就放在文件中。
/etc/passwd文件中的每個用戶都有一個對應的記錄行,記錄着這個用戶的一下基本屬性。/etc/passwd只有系統管理員才可以修改的,該文件對所有用戶可讀。而/etc/shadow文件正如他的名字一樣,他是passwd文件的一個影子,/etc/shadow文件中的記錄行與/etc/passwd中的一一對應,它由pwconv命令根據/etc/passwd中的數據自動產生。但是/etc/shadow其他用戶看不了,/etc/shadow文件只有系統管理員才能夠進行修改和查看。
raoyi@Linux:~$ ls -al /etc/passwd /etc/shadow
-rw-r--r-- 1 root root 2469 5月 17 07:12 /etc/passwd
-rw-r----- 1 root shadow 1303 5月 17 07:12 /etc/shadow
上面分別列出了passwd和shadow文件的訪問權限信息,其中passwd保存的是賬號,shadow保存的是賬號的密碼等信息,下面就具體看看這兩個文件的內容:
/etc/passwd文件介紹
首先,我們通過命令vim /etc/passwd進行查看/etc/passwd文件內容:
raoyi@Linux:~$ vim /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
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
......
從文件中我們可以看到,/etc/passwd中一行記錄對應着一個用戶,每行記錄又被冒號(:)分隔為7個字段,其格式和具體含義如下:
第一列為賬戶名稱
第二列為密碼占位符(x表示該賬戶需要密碼才能登錄,為空時,賬戶無須密碼即可登錄)
第三列為賬戶UID
第四列為GID
第五列為賬戶附加基本信息,一般存儲賬戶名全稱,聯系方式等信息
第六列為賬戶家目錄位置
第七列為賬戶登錄Shell,/bin/bash為可登錄系統Shell,/sbin/nologin表示賬戶無法登錄系統。
/etc/shadow文件介紹
/etc/shadow文件格式與/etc/passwd文件格式類似,同樣由若干個字段組成,字段之間用“:”隔開。
通過命令行輸入sudo vim /etc/shadow進行文件內容查看:
raoyi@Linux:~$ sudo vim /etc/shadow
root:!:18004:0:99999:7:::
daemon:*:17937:0:99999:7:::
bin:*:17937:0:99999:7:::
sys:*:17937:0:99999:7:::
sync:*:17937:0:99999:7:::
games:*:17937:0:99999:7:::
man:*:17937:0:99999:7:::
lp:*:17937:0:99999:7:::
mail:*:17937:0:99999:7:::
news:*:17937:0:99999:7:::
uucp:*:17937:0:99999:7:::
proxy:*:17937:0:99999:7:::
www-data:*:17937:0:99999:7:::
backup:*:17937:0:99999:7:::
list:*:17937:0:99999:7:::
irc:*:17937:0:99999:7:::
文件以冒號為分隔符
說明:
第一列為賬戶名稱
第二列為密碼(賬戶未設置密碼時為!!,設置密碼后加密顯示)
第三列為上次修改密碼的時間距離1970年01月01日多少天
第四列為密碼最短有效天數,0表示無限制
第五列為密碼最長有效天數(默認位99999天,可以理解為永不過期)
第六列為密碼過期后的寬限天數(密碼過期后,預留幾天給賬號修改密碼,此時已無法使用舊密碼登錄)
第八列為賬戶失效日期(從1970年01月01日起多少天后賬戶失效)
第九列暫時保留未使用。