または行ってみてくださいどのユーザーがセキュリティ通知を/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でも:
passwd
ルートが所有するプロセス。コマンドは高い権限で実行する必要があるため、実行可能ファイルにはsetuidビットが設定され、ルートの有効なuidを持つようになります。pwd_mkdb
コマンドはルートの所有でもあります。これは自明です。- もう一つは、
passwd
今回はパスワードを所有者に変更したユーザーです。これはpasswd
、パスワードが十分に強力であることを確認するために元のプロセスを生成するprocessコマンドによって生成されたプロセスです。特権を放棄する実際のuidに戻ります。これは幸運なことです。これは、元のuidを含む権限が低い子プロセスでない限り、誰がコマンドを実行したのかわからないためです。ユーザーが提供したパスワードが要件を満たしていないために別のパスワードを提供する必要がある場合は、このプロセスが複数回発生する可能性があります。
答え2
誰がパスワードを変更したのかを確認するより簡単な方法を見つけました。 (特定のタイムスタンプに関連付けられておらず、2人以上の人が同じ日にパスワードを変更したかどうか疑問に思うかもしれませんが) 。危険)。
タイムスタンプを見て確認してください。
diff /var/backups/master.passwd.*