首頁 > 軟體

Linux 系統中 /etc/passwd 和 /etc/shadow檔案詳解

2020-06-16 16:36:01

Linux系統中,所有使用者(包括系統管理員)的賬號和密碼都可以在/etc/passwd和/etc/shadow這兩個檔案中找到,(使用者和密碼就放在檔案中,不怕被其他人看的或者修改嗎? /etc/passwd檔案中的每個使用者都有一個對應的記錄行,記錄著這個使用者的一下基本屬性。/etc/passwd只有系統管理員才可以修改的,該檔案對所有使用者可讀。而/etc/shadow檔案正如他的名字一樣,他是passwd檔案的一個影子,/etc/shadow檔案中的記錄行與/etc/passwd中的一一對應,它由pwconv命令根據/etc/passwd中的資料自動產生。但是/etc/shadow其他使用者看不了,/etc/shadow檔案只有系統管理員才能夠進行修改和檢視。)

linuxidc@linuxidc:~/linuxidc.com$ 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檔案內容:

linuxidc@linuxidc:~/linuxidc.com$ 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進行檔案內容檢視:

linuxidc@linuxidc:~/linuxidc.com$ 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日起多少天後賬戶失效)

第九列暫時保留未使用。


IT145.com E-mail:sddin#qq.com