GNU/Linux >> Linux の 問題 >  >> Linux

Linuxファイルアクセスモニタリング?

UNIXで、過去1週間に特定のファイルにアクセスしたユーザーを見つける方法はありますか?ユーザーまたはスクリプトが他の場所にFTPで転送している可能性があります。特定のファイルにアクセスしたユーザー名のリストを取得できますか?誰が特定のファイルにアクセスしているのかを知るにはどうすればよいですか??

承認された回答:

非常に珍しいログポリシーが設定されていない限り、ログに記録されていないファイルに誰がアクセスしたか(これは膨大な量の情報になります)。誰がいつログインしたかは、システムログで確認できます。 last コマンドは、ログイン履歴、および/var/log/auth.logなどの他のログを提供します ユーザーがどのように認証され、どこからログインしたか(どの端末、またはリモートの場合はどのホスト)かがわかります。

ファイルが最後に読み取られた日付は、そのアクセス時間、または略してatimeと呼ばれます。すべてのUNIXファイルシステムはそれを保存できますが、(通常は小さい)パフォーマンスの低下があるため、多くのシステムはそれを記録しません。 ls -ltu /path/to/file またはstat /path/to/file ファイルのアクセス時間を示します。

ユーザーがファイルにアクセスし、自分のトラックを非表示にしようとしていない場合は、シェルの履歴(~/.bash_historyなど) )手がかりがあるかもしれません。

現在ファイルを開いているのは誰か、または誰であるかを確認するには、lsof /path/to/fileを使用します。 。

将来ファイルに何が起こるかをログに記録するには、いくつかの方法があります。

  • inotifywaitを使用します。 inotifywait -me access /path/to /path/to/ ACCESS fileの行を出力します 誰かがfileを読んだとき 。このインターフェースでは、誰がファイルにアクセスしたかはわかりません。 lsof /path/to/fileを呼び出すことができます この行が表示されるとすぐに、競合状態が発生します(lsofが実行されるまでにアクセスが終了する可能性があります)。

  • LoggedFSは、ファイルシステムツリーのビューを提供するスタック可能なファイルシステムであり、そのビューを介してすべてのアクセスのより詳細なログを実行できます。構成するには、LoggedFS構成ファイルの構文を参照してください。

  • Linuxの監査サブシステムを使用して、ファイルシステムアクセスを含む多数のログを記録できます。 auditdを確認してください デーモンが起動し、auditctlを使用してログに記録する内容を構成します 。ログに記録された各操作は、/var/log/audit/audit.logに記録されます。 (一般的なディストリビューションで)。特定のファイルの視聴を開始するには:

      auditctl -w /path/to/file
    

    ディレクトリに監視を配置すると、そのディレクトリ内のファイルとそのサブディレクトリも再帰的に監視されます。


Linux
  1. Linuxユーザーアカウント監視の概要

  2. UNIX/Linux :アクセス制御リスト (ACL) の基本

  3. ファイル linux への同時アクセス

  1. Linux –すべてがファイルですか?

  2. Linux でファイル アクセスを監査する方法

  3. ファイル変更の監視 c++ linux

  1. Linuxでファイルを移動する方法

  2. Linuxファイルのアクセス許可について

  3. Linuxテールコマンド