web-dev-qa-db-ja.com

ユーザーからのファイルアクセスをログに記録するにはどうすればよいですか?

誰かに自分のコンピューターへのアクセスを許可する必要がありますが、後でどのファイルにアクセスしたかを知りたいです...そのためのログファイルを作成できますか?そのための既存のプログラムはありますか?プロセスを追跡する方法は知っていますが、1人のユーザーがファイルにアクセスしたいだけです。

4
Nano

iWatchを使用

iWatcho_Oは、inotifyを使用したリアルタイムファイルシステム監視プログラムおよび動作中のローカルメールサービスです。


わかりにくくするには、メールアドレスを変更し、rootまたは他のユーザーとしてデーモンを起動する必要があります…:)


Sudo apt-get install iWatch
  1. iWatch.xmlという名前の構成ファイルを作成します

    <?xml version = "1.0"?> 
     <!DOCTYPE config SYSTEM "/etc/iWatch/iwatch.dtd"> 
     <config> 
     <guard email = "username @localhost "name =" iWatch "/>
     <watchlist> 
     <title> a title </ title> 
     <contactpoint email =" username @ localhost "name =" foo bar "/>
     <path type =" recursive "events =" default ">/home/username </ path> 
     </ watchlist> 
     </ config>
  2. デーモンを開始する

    iWatch -d -f iWatch.xml -p ~/iWatch.pid
    

    -dデーモンとしてアプリケーションを実行します。 iWatchは、このオプションなしでフォアグラウンドで実行されます。

    -f代替構成ファイルを指定します。デフォルトは/etc/iWatch/iwatch.xmlです

    -p代替pidファイルを指定します。デフォルト:/var/run/iWatch.pid

  3. ローカルメールを確認してください;)


Some interesting events

-e event [,event[,..]]
   Specify a list of events you want to watch. Following are the possible events you
   can use:
access          : file was modified
modify          : file was modified
attrib          : file attributes changed
close_write     : file closed, after being opened in writeable mode
close_nowrite   : file closed, after being opened in read-only mode
close           : file closed, regardless of read/write mode
open            : file was opened
moved_from      : File was moved away from.
moved_to        : File was moved to.
move            : a file/dir within watched directory was moved
create          : a file was created within watched director
delete          : a file was deleted within watched directory
delete_self     : the watched file was deleted
unmount         : file system on which watched file exists was unmounted
q_overflow      : Event queued overflowed
ignored         : File was ignored
isdir           : event occurred against dir
oneshot         : only send event once
all_events      : All events
default         : close_write, create, delete, move, delete_self and move_self.

詳細 こちら

4
A.B.

車輪を再発明しないでください-ひどく。

監査を使用します。誰がどのファイルにアクセスするかを追跡することは、正確に監査の目的です。

始めるための良いリンクは here です。

監査目標

強力な監査フレームワークを使用することにより、システムは多くのイベントタイプを追跡して、システムを監視および監査できます。例は次のとおりです。

  • 監査ファイルのアクセスと変更
    • 特定のファイルを変更した人を見る
    • 不正な変更を検出する
  • システムコールと機能の監視
  • プロセスのクラッシュなどの異常を検出
  • 侵入検知のためにトリップワイヤを設定する
  • 個々のユーザーが使用するコマンドを記録する
4
Andrew Henle

findを使用

次の解決策は、削除されたファイルでは機能せず、fstabにnot set noatimeがある場合、たとえば:

defaults,noatime

アカウントを取り戻した後、findを使用します。

find ~ -atime -1

つまり、アクセスされるのは1日未満です。

または組み合わせ:

find ~ -atime 1 -atime -2

1〜2日前


man findから

-atime n
      File  was  last  accessed n*24 hours ago.  When find figures
      out how many 24-hour periods ago the file was last accessed,
      any fractional part is ignored, so to match -atime +1, a file
      has to have been accessed at least two days ago.

-amin n
      File was last accessed n minutes ago.
1
A.B.