1.08.1標準
次の/etc/shadow形式のレコードを確認する。
パスワードを最後に変更した日を、1970年1月1日からの日数で表す値を選ぶ。
mei:$6$example:20000:0:99999:7::: 該当する値はどれか。
× 不正解
/etc/shadowの第3フィールドは、パスワード最終変更日をUnix epochからの日数で保持する。
詳細解説
正しい
20000第3フィールドで、パスワード最終変更日を日数で表す。
20000は第3フィールドにあり、1970年1月1日から最終変更日までの日数を表す。
誤り
0第4フィールドで、変更可能になるまでの最小日数を表す。
0は最小変更間隔で、直前の変更日そのものを表す値ではない。
誤り
99999第5フィールドで、パスワードの最大有効日数を表す。
99999は最大有効日数で、最終変更日から期限までの長さを表す。
誤り
7第6フィールドで、期限前の警告日数を表す。
7は期限が近いことを利用者へ警告し始める日数である。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' 'mei:$6$example:20000:0:99999:7:::' | cut -d: -f3期待される結果
20000理解のポイント
- 第3fieldはlast change
- 第4はminimum
- 第5はmaximum
- 第6はwarning
確認時の注意
- 確認環境: POSIX cut / 模擬レコードのみ
基礎のおさらい
日付の表現
shadowの複数フィールドはカレンダー日付ではなく日数として保存される。
権限制御
/etc/shadowはパスワードハッシュを含むため、通常ユーザーからの読み取りを制限する。
問題IDKL-102-1033
確認環境POSIX cut / 模擬レコードのみ
最終技術確認2026-08-13
誤り・権利侵害を報告