Overview#The shadow file contains the encrypted password information for user's accounts and optional the password aging information.
A sample entry might look similar to:
... user1:$1$Xop0FYH9$IfxyQwBe9b8tiyIkt2P4F/:13262:0:99999:7::: user2:$1$vXGZLVbS$ElyErNf/agUDsm1DehJMS/:13261:0:99999:7::: ...
shadowMin shadowMax authPassword shadowExpire shadowLastChange shadowFlag description shadowWarning shadowInactive
Typically located at /etc/shadow and contains (From left to right):
|Days since Unix Epoch that password was last changed||shadowLastChange||This attribute specifies number of days between Unix Epoch, and the date that the password was last modified.|
|Days before password may be changed|
|Days after which password must be changed|
|Days before password is to expire that user is warned|
|Days after password expires that account is disabled|
|Days since Unix Epoch that account is disabled|
|A reserved field|
The password field must be filled. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A thru Z, 0 thru 9, . and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another (not DES) algorithm. For example if it starts with "$1$" it means the MD5-based algorithm was used. Refer to crypt(3) for details on how this string is interpreted.
The date of the last password change is given as the number of days since Jan 1, 1970. The password may not be changed again until the proper number of days have passed, and must be changed after the maximum number of days. If the minimum number of days required is greater than the maximum number of day allowed, this password may not be changed by the user.
An account is considered to be inactive and is disabled if the password is not changed within the specified number of days after the password expires. An account will also be disabled on the specified day regardless of other password expiration information.
This information supercedes any password or password age information present in /etc/passwd.
This file must not be readable by regular users if password security is to be maintained.