Linux で誰がファイルにアクセスしたか、またはファイルに「アクセス」モニターがあるかどうかを知る方法

Linux で誰がファイルにアクセスしたか、またはファイルに「アクセス」モニターがあるかどうかを知る方法

ファイルに誰がアクセスしたかを確認する方法についていくつか質問があります。

監査サブシステムと inotify を通じて、ファイルがアクセスされたかどうか (変更されていないかどうか) を確認する方法があることを発見しました。

しかし、私がオンラインで読んだところによると、次のとおりです。 http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html

「watch/monitor」ファイルに次のように書いてあるので、次のようなコマンドを使って監視を設定する必要があります。

# auditctl -w /etc/passwd -p war -k password-file

では、新しいファイルまたはディレクトリを作成する場合、最初に監査/inotify コマンドを使用して監視を「設定」し、新しいファイルに誰がアクセスしたかを「監視」する必要がありますか?

また、監査サブシステムまたは inotify を通じてディレクトリが「監視」されているかどうかを知る方法はありますか? ファイルのログはどこでどのように確認できますか?

編集:

さらにグーグルで検索してみると、次のようなページが見つかりました: 詳しくは、man7 の man-pages を参照してください。

inotify API は、inotify イベントをトリガーしたユーザーまたはプロセスに関する情報を提供しません。

つまり、どのユーザーがファイルにアクセスしたかは分からないということですか? 誰がファイルにアクセスしたかを把握するには、監査サブシステムのみを使用できますか?

答え1

監査サブシステムからのログはパスに基づいています。ファイルが存在しない場合でも、ファイル名に監視を設定できます。ファイルが作成され、アクセスされると、ログ エントリが取得されます。

からのすべてのログはauditd1 つのファイル (通常は/var/log/audit/auditd.log) に保存されます。

監査ルールを一覧表示できますauditctl -l

関連情報