/etc/shadowのタイムスタンプ数はどのように計算されますか?

/etc/shadowのタイムスタンプ数はどのように計算されますか?

私のシステムでは、シャドウのマニュアルページは3番目の列の値を次のように定義します。

パスワードが最後に変更された日付で、1970年1月1日以降の日数で表示されます。

例の値「17050」があります。passwd -Sこれが「2016-09-06」だとしましょう。しかし、1970年以降の秒数は「1473112800.0」です。 1473112800.0/(60*60*24)を計算すると「17049.9166666666」が出ます。

「17050」はどのように計算されますか?丸められますか、それとも常に次に大きな整数ですか?

ベストアンサー1

エポック以来数秒ではなく数日が経ちました。

$ date -I -d '1970-01-01 + 17050 days'
2016-09-06

(ところで、技術的に「今から365日」を秒単位で表現することはできません。うるう秒のため6ヶ月以降は日付が固定されない、または分かる長さもありません。)

おすすめ記事