ユーザーがいつパスワードを変更したのかわかりますか?

ユーザーがいつパスワードを変更したのかわかりますか?

または行ってみてくださいどのユーザーがセキュリティ通知を/etc/spwd.db変更しましたか?

答え1

OpenBSDでは、次のコマンドを使用してプロセスアカウントを起動する必要があります。accton注文する:

touch /var/account/acct   # The file has to exist before accton
accton /var/account/acct

起動時にacctonを有効にするには、次のようにします。

rcctl enable accounting

accounting=YESに設定します/etc/rc.conf.local

とにかくプロセスアカウントがアクティブになったので、次のことができます。lastcomm実行されたコマンドのリストを表示し、名前付きpasswdプロセスを検索しますpwd_mkdb。出力は逆順で表示され、最新のプロセスが最初に表示されます(開始時刻ではなく終了時刻に基づいています)。

$ lastcomm passwd pwd_mkdb
passwd[18349]                         -       root                             ttyC1      0.28 secs Thu Mar 28 11:02 (0:00:17.39)
pwd_mkdb[27720]                       -       root                             ttyC1      0.00 secs Thu Mar 28 11:02 (0:00:00.00)
passwd[58119]                         -F      aviro                            ttyC1      0.00 secs Thu Mar 28 11:02 (0:00:00.00)
passwd[1586]                          -       root                             ttyC0      0.22 secs Thu Mar 28 10:11 (0:00:10.02)
pwd_mkdb[27986]                       -       root                             ttyC0      0.00 secs Thu Mar 28 10:11 (0:00:00.00)
passwd[64663]                         -F      aviro                            ttyC0      0.00 secs Thu Mar 28 10:11 (0:00:00.00)

すべての成功したパスワード変更には、履歴に少なくとも3つのプロセスが表示されます(ほぼ同時に、同じttyでも:

  1. passwdルートが所有するプロセス。コマンドは高い権限で実行する必要があるため、実行可能ファイルにはsetuidビットが設定され、ルートの有効なuidを持つようになります。
  2. pwd_mkdbコマンドはルートの所有でもあります。これは自明です。
  3. もう一つは、passwd今回はパスワードを所有者に変更したユーザーです。これはpasswd、パスワードが十分に強力であることを確認するために元のプロセスを生成するprocessコマンドによって生成されたプロセスです。特権を放棄する実際のuidに戻ります。これは幸運なことです。これは、元のuidを含む権限が低い子プロセスでない限り、誰がコマンドを実行したのかわからないためです。ユーザーが提供したパスワードが要件を満たしていないために別のパスワードを提供する必要がある場合は、このプロセスが複数回発生する可能性があります。

答え2

誰がパスワードを変更したのかを確認するより簡単な方法を見つけました。 (特定のタイムスタンプに関連付けられておらず、2人以上の人が同じ日にパスワードを変更したかどうか疑問に思うかもしれませんが) 。危険)。

タイムスタンプを見て確認してください。

diff /var/backups/master.passwd.*

関連情報