回答:
監査システムは、ファイルシステムのリソースを監視し、ログ・エントリを書き込む専用のデーモンである/var/log/audit.log特定のユーザがファイルにアクセスしたときの。
auditdデーモンを起動する必要があり、それが/etc/auditd.confから、構成の読み込み
を使用して独自のルールを指定できます。auditctlたとえば
$ sudo auditctl -w /etc/passwd -p war -k passwd-file
どこ -p戦争の手段(ワット)儀式、(a)はPPEND&(R)EAD -k「私のルール名は」と、監査ログに表示されますフレーズ表し-p戦争が発生します
どのユーザーがどの監視対象ファイルシステムリソースにアクセスしたかを実際に確認する場合はauditsearch、とauditreportを使用して、「my rule name」エントリと要約レポートのログをそれぞれフィルタリングします。
「atime」属性からファイルが最後にアクセスされた時間を確認することは確かに可能であり、これを行うにはいくつかの方法があります。どのユーザーがそれを行ったかを判断するのは、よりトリッキーであり、コンテキストに依存します。たとえば、シェル経由でアクセスしましたか?GUIアプリ経由でアクセスしましたか?
ファイルのatimeを確認するにlsは、-uオプションを使用します。
$ ls -lu some_file
たとえば、過去1時間にアクセスされた/ homeディレクトリ内のすべてのファイルを検索するには、find次のコマンドを使用できます。
$ sudo find /home/ -amin -60
stat次のコマンドを使用して、ファイルに関する詳細情報を取得することもできます。
$ stat some_file
実際には、ここでのatime(使用をチェックするスクリプトへのリンクであるstat指定されたディレクトリ内のファイルのためには)。
質問を読み直すと、ファイルが「何回」アクセスされたかに興味があることに気付きます。この情報を特定するための特定の* nixコマンドはありません。そのため、以下で説明する方法のいずれかを使用して、ファイルアクセスのログを調べる必要があります。
どのユーザーがファイルにアクセスしたかを判断することについての質問に関して、* nixはそれを特に記録しません。システム管理者は、アクセス許可を介してファイルとディレクトリへのアクセスを制御することを前提としています。ただし、試すことができるオプションがいくつかあります。
ps、fuserどのユーザーが現在ファイルにアクセスしているかを確認しますsudoファイルへのアクセスを強制する-ファイル/var/log/auth.logへのsudoログ-このオプションは深刻な生産性(および信頼性)のキラーになる可能性がありますユーザーまたはプロセスがディスクにアクセスするたびにディスクに書き込まatimeれるには、そのファイルシステムの/ etc / fstabエントリにオプションが含まれている必要があることに注意してください(ここで説明します)
atimeオプションについて考えましたが、それをうまく関連付けることができませんでした。さて、特定のファイルを監視し、ファイルにアクセスしたユーザーの出力を表示し、より多くの情報を表示する、監査 auditdと呼ばれるツールに遭遇しました。からの情報からデータをフィルタリングするスクリプトを書くことができます。ビューはありますか?auditctlausearchausearch