web-dev-qa-db-ja.com

Linuxサーバーで誰がファイルを削除しているかを知る方法は?

Ext4であるLinuxサーバーと、Windowsクライアントが共有フォルダーを持つISCSIを持つ別のLinuxサーバーがあります。

  1. ユーザーにファイルの変更を許可し、削除は許可しない。ユーザーはコンテンツを変更する権限を持っていますが、ファイル自体を削除することはできません。
    1. すべてのファイルの追加/削除/変更操作を英語のようなログ形式で監査します。
    2. 削除しようとした場合にアラートを送信する
7
ramdaz

WindowsクライアントがSamba/CIFS共有をマウントしている場合は、Sambaのfull_audit.soモジュールをチェックアウトする必要があります。

Samba:ユーザーアクティビティのログ

Samba-full_auditを使用したファイル監査ログ

Google検索-samba full_audit

2
kbulgrien

auditをチェックアウトすることをお勧めします- http://people.redhat.com/sgrubb/audit/

カーネルで行われるほぼすべてのことを監視できます。監査するシステムコールアクティビティのタイプに一致する独自のルールを定義します。

2
Olipro

Linux :: Inotify2Perlモジュールを使用します。 Perlスクリプトを記述し、実行中のデーモンとして保持します。

次のイベントについては、特定のディレクトリを監視し続けることができます。

IN_ACCESS            object was accessed
 IN_MODIFY            object was modified
 IN_ATTRIB            object metadata changed
 IN_CLOSE_WRITE       writable fd to file / to object was closed
 IN_CLOSE_NOWRITE     readonly fd to file / to object closed
 IN_OPEN              object was opened
 IN_MOVED_FROM        file was moved from this object (directory)
 IN_MOVED_TO          file was moved to this object (directory)
 IN_CREATE            file was created in this object (directory)
 IN_DELETE            file was deleted from this object (directory)
 IN_DELETE_SELF       object itself was deleted
 IN_MOVE_SELF         object itself was moved
 IN_ALL_EVENTS        all of the above events

 IN_ONESHOT           only send event once
 IN_ONLYDIR           only watch the path if it is a directory
 IN_DONT_FOLLOW       don't follow a sym link
 IN_MASK_ADD          not supported with the current version of this module

 IN_CLOSE             same as IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
 IN_MOVE              same as IN_MOVED_FROM | IN_MOVED_TO
1
MangeshBiradar

Inotifyツールを確認してください。プログラマーの場合は、自分に合ったツールを用意することができます。難しいことではありません。最も難しいのは、すべてのサブディレクトリを追跡し、ディレクトリの追加/削除/名前の変更を処理することです。

いくつかのサーバーでinotifyベースのプログラムを実行しています。たとえば、スキャンしたプライベートドキュメント(請求書、領収書など)を保存するものには、ディレクトリツリーで新しいファイルを監視するプログラムがあります。新しいドキュメントが作成されると、すぐにPGP暗号化されます(もちろん、新しいドキュメントIS pgp-encryptedを除く)。別の同様のプログラムが、特定のツリーの変更を別のツリーに送信しますサーバー、遠く。

そのうちの1つを変更して、監査ファイルに書き込むだけで、必要に応じて確認することができます。その中で最も難しいのは、監査ファイルが大きくなりすぎないようにすることです。

これらの1つをレビューして、それが公開可能かどうかを確認します。もしそうなら、それを共有する場所を見つけます。

1
Dennis