/etc/shadow の読み方初めて知りましたw
/etc/shadow って?
各ユーザのパスワードを暗号化したファイル。
一般のユーザからはリードできず、スーパーユーザでないと閲覧ができません。
# : がデリミタ
user:$6...:16180:0:99999:7:::
読み方は以下の通りです。
| フィールド | 意味 | 
|---|---|
| 1 | ユーザ名(ログイン名) | 
| 2 | 暗号化されたパスワード | 
| 3 | パスワードの最終変更日 | 
| 4 | 変更可能最短期間(この期間を越えないと変更不可) | 
| 5 | 未変更可能最長期間(この期間を越えたら変更必要) | 
| 6 | 警告日(上記期日の何日前に警告するか) | 
| 7 | インアクティブ(ログインしないと無効になる日数) | 
| 8 | 失効日(アカウント失効までの日数) | 
| 9 | フラグ(未使用) | 
2. 暗号化されたパスワード
この文字列の先頭に!が付いているか、全体が!になっているとパスワードがロックされた状態で、そのユーザでログインができない状態を示しています。
実際にユーザのパスワードをロックするためのコマンドは以下の通りです。
# passwd -l user1
ロックを解除するためには、オプションを変えてください。
# passwd -u user1
/etc/shadowからも!が削除されます。
3. パスワードの最終更新日
文字通り、該当ユーザのパスワードの最終更新日を指します。
この数字、1970年からの通しの日付が入るので、そのままだと読み取れません。
西暦に直すためには、以下のようにします。
$ echo "16290 * 86400" | bc | xargs -i% date --date=@%
=> Sun Apr 20 09:00:00 JST 2014