了解/ etc / shadow文件

在Linux系統上可以使用幾種不同的身份驗證方案。 最常用和標準的方案是針對 /etc/passwd/etc/shadow 文件。

/etc/shadow 是一個文本文件,其中包含有關係統用戶密碼的信息。 它由用戶root和組shadow擁有,並具有640權限。

/etc/shadow 格式編號

/etc/shadow 文件每行包含一個條目,每個條目代表一個用戶帳戶。 您可以使用文本編輯器或諸如以下命令來查看文件的內容 cat

sudo cat /etc/shadow

通常,第一行描述根用戶,然後是系統用戶和普通用戶帳戶。 新條目將附加在文件末尾。

每行 /etc/shadow 該文件包含9個逗號分隔的字段:

mark:$6$.n.:17736:0:99999:7:::
[--] [----] [---] - [---] ----
|      |      |   |   |   |||+-----------> 9. Unused
|      |      |   |   |   ||+------------> 8. Expiration date
|      |      |   |   |   |+-------------> 7. Inactivity period
|      |      |   |   |   +--------------> 6. Warning period
|      |      |   |   +------------------> 5. Maximum password age
|      |      |   +----------------------> 4. Minimum password age
|      |      +--------------------------> 3. Last password change
|      +---------------------------------> 2. Encrypted Password
+----------------------------------------> 1. Username
  1. 用戶名。 登錄系統時輸入的字符串。 系統上存在的用戶帳戶。

  2. 加密密碼。 密碼使用 $type$salt$hashed 格式。 $type 是方法密碼哈希算法,可以具有以下值:

    • $1$ – MD5
    • $2a$ –河豚
    • $2y$ –河豚
    • $5$ – SHA-256
    • $6$ – SHA-512

    如果密碼字段包含星號(*)或感嘆號(!),則用戶將無法使用密碼身份驗證登錄到系統。 仍然允許使用其他登錄方法,例如基於密鑰的身份驗證或切換到用戶。

    在較舊的Linux系統中,用戶的加密密碼存儲在 /etc/passwd 文件。

  3. 上次密碼更改。 這是上次更改密碼的日期。 從1970年1月1日(紀元日期)開始計算天數。

  4. 最小密碼年齡。 可以更改用戶密碼之前必須經過的天數。 通常將其設置為零,這意味着沒有最低密碼期限。

  5. 密碼最長使用期限。 必須更改用戶密碼後的天數。 默認情況下,此數字設置為 99999

  6. 預警期。 密碼過期之前的天數,在此期間,系統會警告用戶必須更改密碼。

  7. 閑置期間。 用戶密碼過期後,禁用用戶帳戶之前的天數。 通常,此字段為空。

  8. 截止日期。 帳戶被禁用的日期。 它表示為一個紀元日期。

  9. 沒用過。 該字段被忽略。 它保留供將來使用。

/etc/shadow 除非您知道自己在做什麼,否則不應手動編輯文件。 始終使用專門為此目的設計的命令。 例如,要更改用戶密碼,請使用 passwd 命令,並更改密碼過期信息,請使用 chage 命令。

示例條目號

讓我們看下面的例子:

linuxize:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::

上面的條目包含有關用戶“ linuxize”密碼的信息:

  • 密碼使用SHA-512加密(密碼被截斷以提高可讀性)。
  • 密碼最後一次更改是在2019年4月23日- 18009
  • 沒有最低密碼年齡。
  • 密碼必須至少每120天更改一次。
  • 用戶將在密碼到期日期前七天收到警告消息。
  • 如果用戶在密碼過期後的14天之內未嘗試登錄系統,則該帳戶將被禁用。
  • 沒有帳戶過期日期。

結論#

/etc/shadow 文件保留有關加密用戶密碼以及其他與密碼有關的信息的記錄。

如果您有任何疑問或反饋,請隨時發表評論。

終奌站

Sidebar