Linux用戶和密碼文件格式詳解

   本文介紹了Linux系統下/etc/passwd以及/etc/shadow兩個文件的格式。這兩個文件,一個是用戶帳戶信息數據的存儲,另外一個是用戶密碼信息以及密碼超期相關信息的存儲。 這兩個文件都是使用冒號作爲分隔符來分隔字段的。爲了安全起見,這兩個文件都只有超級管理員能夠讀寫。shell

1、 /etc/passwd 文件的格式,使用冒號分隔的7段用戶帳戶信息

account:password:UID:GID:GECOS:directory:shell (賬號:密碼:用戶ID:組ID:通常的信息:目錄:shell)安全

示例:root:x:0:0:root:/root:/bin/bashbash

  1. 帳戶名稱
  2. 密碼佔位符,用x代替
  3. 用戶標識
  4. 基本組標識
  5. GECOS,能夠理解爲用戶全名
  6. 用戶家目錄
  7. 用戶shell

2、/etc/shadow文件格式,使用冒號分隔的9段密碼相關信息

liuqing:$6$HE1uq5GI$1BUG8ACoUscfpvuW:18192:0:99999:7:::ide

1.login name 登陸名:必須是有效的帳戶名,且已經存在於系統中。加密

  1. date of last password change 加密了的密碼:加密了的密碼,這個密碼是加了salt這個隨機數的密碼。用$進行分隔的。這樣,就不會讓使用相同密碼的用戶獲得同一個加密的值。 而在驗證密碼時,將用戶輸入的密碼與salt(存在於shaodw文件對應用戶行中的)組合,與加密密碼進行一致性驗證。
  2. date of last password change 最後一次更改密碼的日期: 密碼上一次更改時的日期,這個日期是從1970年1月1日開始計算的。0表示用戶在下次登陸時應該更改密碼,空字段表示密碼老化功能被禁用。
  3. date of last password change 密碼的最小使用期限: 用戶更改完一次密碼後,最小須要多少天才能再次更改密碼。空字段或者0表示沒有最小密碼使用期限。
  4. maximum password age 密碼最長使用期限:用戶的密碼最長使用多少天后,必須進行更改。過了這個時間點後,密碼仍舊是有效的,但下次登陸的時候須要更改密碼。若是這個字段爲空則表示沒有最長密碼使用期限,沒有密碼行告警時間段,沒有密碼禁用時間段。若是最大密碼期限小於最小密碼期限,則用戶不能更改密碼。
  5. password warning period 密碼警告時間段:密碼過時以前,提早警告用戶的天數。空字段或者0表示沒有密碼警告期限。
    7.password inactivity period 密碼禁用期:密碼過時(密碼最長使用期限)後,仍然接受此密碼的天數(在此期間,用戶應該在下次登陸時修改密碼)。密碼到期而且過了這個寬限期之後,使用當前密碼將不能登陸。空字段表示沒有強制密碼過時。
  6. account expiration date 帳戶過時日期:帳戶的過時的日期,表示從1970年1月1日開始的天數。注意,帳戶過時不一樣於密碼過時,帳戶過時時,用戶將不被容許登陸;密碼過時時,用戶將不被容許使用其密碼進行登陸。空字段表示帳戶永不過時。
  7. 保留字段:此字段保留以做未來使用。
相關文章
相關標籤/搜索