GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So identifizieren Sie Benutzer, die Dateien aus einem bestimmten Verzeichnis in Linux löschen

Frage

Wie finde ich heraus, welcher Benutzer die Dateien in einem bestimmten Verzeichnis unter Linux löscht?

Lösung

Sie können den Dienst auditd verwenden, um eine Benachrichtigung aufzuzeichnen, wenn eine Änderung an einer bestimmten Datei oder einem bestimmten Verzeichnis vorgenommen wird. Unten ist ein Beispiel, das jede Änderung aufzeichnet, die an einer beliebigen Datei im Verzeichnis /tmp/dir vorgenommen wurde.

1. Führen Sie den folgenden Befehl aus, um die Überwachungsregel hinzuzufügen:

# auditctl -a always,exit -F dir=/tmp/dir/ -F perm=war -k file_del

Überprüfen Sie die konfigurierten Überwachungsregeln:

# auditctl -l
-w /tmp/dir// -p rwa -k file_del

2. Löschen Sie eine Datei im Verzeichnis /tmp/dir/ und überprüfen Sie dann die Datei audit.log:

$ date > /tmp/dir/when
$ rm /tmp/dir/when

3. Sie können das audit.log überprüfen, indem Sie es anhängen:

# tail -f /var/log/audit/audit.log
...
type=SYSCALL msg=audit(1515697690.586:2237): arch=c000003e syscall=2 success=yes exit=3 a0=251a9f0 a1=90800 a2=251a9c0 a3=a items=1 ppid=12424 pid=12425 auid=0 uid=501 gid=501 euid=501 suid=501 fsuid=501 egid=501 sgid=501 fsgid=501 tty=pts0 ses=332 comm="bash" exe="/bin/bash" key="file_del"
type=CWD msg=audit(1515697690.586:2237): cwd="/home/test"
type=PATH msg=audit(1515697690.586:2237): item=0 name="/tmp/dir/" inode=912888 dev=f9:00 mode=040777 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
type=PROCTITLE msg=audit(1515697690.586:2237): proctitle="-bash"
type=SYSCALL msg=audit(1515697690.861:2238): arch=c000003e syscall=263 success=yes exit=0 a0=ffffffffffffff9c a1=f2f0c0 a2=0 a3=100 items=2 ppid=12425 pid=12519 auid=0 uid=501 gid=501 euid=501 suid=501 fsuid=501 egid=501 sgid=501 fsgid=501 tty=pts0 ses=332 comm="rm" exe="/bin/rm" key="file_del"
type=CWD msg=audit(1515697690.861:2238): cwd="/home/test"
type=PATH msg=audit(1515697690.861:2238): item=0 name="/tmp/dir/" inode=912888 dev=f9:00 mode=040777 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=PATH msg=audit(1515697690.861:2238): item=1 name="/tmp/dir/when" inode=913056 dev=f9:00 mode=0100664 ouid=501 ogid=501 rdev=00:00 nametype=DELETE
type=PROCTITLE msg=audit(1515697690.861:2238): proctitle=726D002F746D702F6469722F31

4. Alternativ kann die Protokolldatei mit dem Suchtool durchsucht werden:

# ausearch -k file_del
----
time->Thu Jan 11 19:08:10 2018
type=PROCTITLE msg=audit(1515697690.586:2237): proctitle="-bash"
type=PATH msg=audit(1515697690.586:2237): item=0 name="/tmp/dir/" inode=912888 dev=f9:00 mode=040777 ouid=0 ogid=0 rdev=00:00 nametype=NORMAL
type=CWD msg=audit(1515697690.586:2237): cwd="/home/test"
type=SYSCALL msg=audit(1515697690.586:2237): arch=c000003e syscall=2 success=yes exit=3 a0=251a9f0 a1=90800 a2=251a9c0 a3=a items=1 ppid=12424 pid=12425 auid=0 uid=501 gid=501 euid=501 suid=501 fsuid=501 egid=501 sgid=501 fsgid=501 tty=pts0 ses=332 comm="bash" exe="/bin/bash" key="file_del"
----
time->Thu Jan 11 19:08:10 2018
type=PROCTITLE msg=audit(1515697690.861:2238): proctitle=726D002F746D702F6469722F31
type=PATH msg=audit(1515697690.861:2238): item=1 name="/tmp/dir/when" inode=913056 dev=f9:00 mode=0100664 ouid=501 ogid=501 rdev=00:00 nametype=DELETE
type=PATH msg=audit(1515697690.861:2238): item=0 name="/tmp/dir/" inode=912888 dev=f9:00 mode=040777 ouid=0 ogid=0 rdev=00:00 nametype=PARENT
type=CWD msg=audit(1515697690.861:2238): cwd="/home/test"
type=SYSCALL msg=audit(1515697690.861:2238): arch=c000003e syscall=263 success=yes exit=0 a0=ffffffffffffff9c a1=f2f0c0 a2=0 a3=100 items=2 ppid=12425 pid=12519 auid=0 uid=501 gid=501 euid=501 suid=501 fsuid=501 egid=501 sgid=501 fsgid=501 tty=pts0 ses=332 comm="rm" exe="/bin/rm" key="file_del"
Hinweis :Dieses Überwachungssystem kann einen unerwünschten Zugriff nicht verhindern. Es kann nur ein Audit-Trail-Eintrag erstellt werden. Überwachung auf Änderungen an und Ausführung von Dateien in Linux


Linux
  1. So fügen Sie einen Benutzer zu einer Gruppe in Linux hinzu oder entfernen ihn

  2. So extrahieren Sie Tar-Dateien in ein bestimmtes oder anderes Verzeichnis in Linux

  3. Linux – Wie melde ich mich von Ssh aus bei Tty an?

  4. So entfernen Sie Benutzer aus der Gruppe in Linux [Kurztipp]

  5. Wie kopiere ich eine Datei/einen Ordner aus dem Home-Verzeichnis eines anderen Benutzers in Linux?

So zählen Sie Dateien im Verzeichnis in Linux

So laden Sie Dateien von Remote-Linux-Servern herunter

Wie man Dateien in Linux rekursiv auflistet

So zählen Sie Dateien im Verzeichnis unter Linux

So zählen Sie die Anzahl der Dateien in einem Verzeichnis in Linux

So erstellen/fügen Sie Benutzer in Linux hinzu