/etc/shadow文件

/etc/shadow文件

由於/etc/passwd文件是所有用戶都可讀的,如果用戶的密碼太簡單或規律比較明顯的話,一臺普通的計算機就能夠很容易地將它破解,因此對安全性要求較高的Linux系統都把加密後的口令字分離出來,單獨存放在一個文件中,這個文件是/etc/shadow文件。 有超級用戶才擁有該文件讀權限,這就保證了用戶密碼的安全性。shadow文件的內容如下:

[root@instance-d619ad0f ~]# cat /etc/shadow
root:$1$axXIDtrl$QZNJJseknb.pKpIg7pBgk0:17686:0:99999:7:::
bin:*:17632:0:99999:7:::
daemon:*:17632:0:99999:7:::
adm:*:17632:0:99999:7:::
lp:*:17632:0:99999:7:::
sync:*:17632:0:99999:7:::
shutdown:*:17632:0:99999:7:::
halt:*:17632:0:99999:7:::
mail:*:17632:0:99999:7:::
operator:*:17632:0:99999:7:::
games:*:17632:0:99999:7:::
ftp:*:17632:0:99999:7:::
nobody:*:17632:0:99999:7:::
systemd-network:!!:17681::::::
dbus:!!:17681::::::
polkitd:!!:17681::::::
libstoragemgmt:!!:17681::::::
abrt:!!:17681::::::
rpc:!!:17681:0:99999:7:::
sshd:!!:17681::::::
postfix:!!:17681::::::
ntp:!!:17681::::::
chrony:!!:17681::::::
tcpdump:!!:17681::::::

它的文件格式與/etc/passwd類似,由9個字段組成,字段之間用”:”隔開。這些字段是:

賬號名稱:加密口令:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:不修改密碼時間:失效時間:標誌

1. 登錄名

“登錄名”是與/etc/passwd文件中的登錄名相一致的用戶賬號。

2. 加密口令(密碼)

這個字段內的數據是賬號的真正密碼,且是經過編碼的。雖然加密後的密碼很難被破解出來,但還是有可能被破解的。所以這個的文件權限預設爲-rw-----------------,只有root賬號才能讀寫該文件。由於各種密碼的編碼技術不一樣,因此不同的編碼系統會造成這個字段的長度不同。由於固定的編碼系統產生的密碼長度必須一致,因此當該字段的長度被改變後,密碼就會失效,通過在該字段前加上*或!改變密碼長度,可以讓密碼失效

3. 最後一次修改時間

“最後一次修改時間”表示的是從某個時刻起,到用戶最後一次修改密碼時的天數。時間起點對不同的系統可能不一樣。大部分操作系統中,這個時間起點是1970年1月1日。

4. 最小時間間隔

“最小時間間隔”指的是兩次修改密碼之間所需的最小天數,表示賬號密碼在被修改之後至少經過幾天後才能被修改。

5. 最大時間間隔

“最大時間間隔”指的是口令保持有效的最大天數,表示在修改密碼之後,最多要在幾天之內修改一次密碼,如果不修改,則賬號密碼就會過期。

6. 警告時間

“警告時間”字段表示的是從系統開始警告用戶到用戶密碼正式失效之間的天數。在這段時間內,系統會發送警告信息給對應用戶,告訴用戶還有n天密碼就要失效

7. 不修改密碼時間

“不修改密碼時間”表示的是用戶密碼過期後,允許不修改密碼的天數。在這期間,用戶任然可以用對應賬號登錄系統,但登錄後,系統會強制要求你必須重新設定密碼才能繼續使用。如果過了期限還沒更改密碼,則密碼徹底失效,該賬號再也無法用該密碼來登錄。

8. 失效時間

“失效時間”字段給出的是一個絕對的天數,如果使用了這個字段,那麼就給出相應賬號的生存期。期滿後,該賬號就不再是一個合法的賬號,也就不能再用來登錄了。

9. 標誌

該字段被保留,暫無任何內容,以便之後可能加入新字段信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章