Linux 系統中 /etc/passwd 和 /etc/shadow文件詳解


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日起多少天后賬戶失效)

第九列暫時保留未使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM