linux中/etc/shadow文件詳解
/etc/shadow文件,用于存儲Linux系統中用戶的密碼信息。
/etc/shadow文件只有root用戶擁有讀權限,其他用戶沒有任何權限。
注意:
如果此文件權限發生改變,注意是否遭到惡意攻擊。
cat /etc/shadow

文件中每行代表一個用戶,使用":"作為分隔符,每行用戶信息被劃分為9個字段。
以odysee用戶為例:

下面詳細介紹一下:
1、用戶名
用戶名僅是為了方便用戶記憶一串符合。
2、加密密碼
這里保存的是真正加密的密碼。
注意!!!
這串密碼不能手工修改,如果手工修改,系統將無法識別密碼,導致密碼失效。
所有系統用戶密碼都是 "!!" 或 "*",代表沒有密碼是不能登錄的。
當然,新創建的用戶如果不設定密碼,那么它的密碼項也是 "!!",代表這個用戶沒有密碼,不能登錄。
3、最后一次修改時間
此字段表示最后一次修改密碼的時間。
Linux計算日期的時間是以1970年1月1日作為1不斷累加得到的時間。
例如:1971年1月1日,則為365天。
4、最小修改時間間隔
該字段規定了從第3字段起,多長時間之內不能修改密碼。
如果是0,則密碼可以隨時修改。
如果是10,則代表密碼修改后10天之內不能再次修改密碼。
補充:
此字段是為了針對某些人頻繁更改賬戶密碼而設計的。
5、密碼有效期
經常變更密碼是個好習慣,為了強制要求用戶變更密碼,這個字段可以指定距離第3字段多長時間內需要再次變更密碼,否則該賬戶密碼進行過期階段。
該字段的默認值為99999,也就是273年,可認為是永久生效。
如果改為90,則表示密碼被修改90天之后必須再次修改,否則該用戶即將過期。
管理服務器時,通過這個字段強制用戶定期修改密碼。
6、密碼需要變更前的警告天數
與第5字段相比較,當賬戶密碼有效期快到時,系統會發出警告信息給此賬戶。
提醒用戶"再過n天你的密碼就要過期了,請盡快重新設置你的密碼!"。
補充:
該字段的默認值是 7,也就是說,距離密碼有效期的第 7 天開始,每次登錄系統都會向該賬戶發出 "修改密碼" 的警告信息。
7、密碼過期后的寬限天數
在密碼過期后,用戶如果還是沒有修改密碼,則在此字段規定的寬限天數內,用戶還是可以登錄系統的;如果過了寬限天數,系統將不再讓此賬戶登陸,也不會提示賬戶過期,是完全禁用。
8、賬號失效時間
同第3個字段一樣,使用自1970年1月1日以來的總天數作為賬戶的失效時間。
該字段表示,賬號在此字段規定的時間之外,不論你的密碼是否過期,都將無法使用!
補充:
該字段通常被使用在具有收費服務的系統中。
9、保留字段
這個字段目前沒有使用,等待新功能的加入。
簡單的為大家整理一下這些字段的含義。
現在對于/etc/shadow文件大家應該get it了。
感謝支持。