0
my_current_epoch=15684 equivalent time stamp is  Thu, 01 Jan 1970 04:21:24
last_password_reset_epoch_time=15547 equivalent time stamp is Thu, 01 Jan 1970 04:19:07

これら 2 つの違いが、最後のパスワード リセットからの日数をどのように与えるかを理解できません。

私の理解によると、エポック時間は1970年1月1日から経過した秒数で示されます

誰かがこれを理解するのを手伝ってくれませんか。

4

2 に答える 2

2

man 5 shadowLinuxボックスには次のように書かれています:

最後のパスワード変更の日付は、1970 年 1 月 1 日からの日数として示されます。パスワードは、適切な日数が経過するまで再度変更することはできず、最大日数が経過した後に変更する必要があります。必要な最小日数が許可されている最大日数を超える場合、ユーザーはこのパスワードを変更できません。

したがって、パスワードがいつ変更されたかを 24 時間以内に知ることができます。この値/etc/shadowに 86400 (1 日の秒数 — しかし、私がそれを言う必要はありませんでしたよね?) を掛けます。

与えられた値について(bc救助のために):

  • 15684*86400 = 1355097600
  • 15547*86400 = 1343260800

と:

$ timestamp -u 1355097600 1343260800
1355097600 = Mon Dec 10 00:00:00 2012
1343260800 = Thu Jul 26 00:00:00 2012
$

タイムスタンプは私のプログラムです。の最新バージョンでdateもこれを処理できます。これ-uは、自分のタイム ゾーンではなく、「UTC (別名 GMT) でレポートする」ことを意味します。

于 2012-12-10T22:14:07.763 に答える