GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengidentifikasi Pengguna yang Menghapus File Dari Direktori yang Diberikan di Linux

Pertanyaan

Bagaimana cara menemukan pengguna mana yang menghapus file di bawah direktori tertentu di Linux?

Solusi

Anda dapat menggunakan layanan auditd untuk merekam pemberitahuan ketika ada perubahan yang dibuat pada file atau direktori tertentu. Di bawah ini adalah contoh yang akan merekam setiap perubahan yang dibuat pada file apa pun di bawah direktori /tmp/dir.

1. Jalankan perintah di bawah ini untuk menambahkan aturan audit:

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

Verifikasi aturan audit yang dikonfigurasi:

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

2. Hapus file di bawah direktori /tmp/dir/ lalu periksa file audit.log:

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

3. Anda dapat memeriksa audit.log dengan mengekornya:

# 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. Sebagai alternatif, file log dapat dicari menggunakan alat ausearch:

# 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"
Catatan :Sistem audit ini tidak dapat mencegah akses yang tidak diinginkan. Hanya entri jejak audit yang dapat dibuat. Audit untuk Modifikasi dan Eksekusi File di Linux


Linux
  1. Cara Menambah atau Menghapus Pengguna dari Grup di Linux

  2. Cara Mengekstrak File Tar ke Direktori Tertentu atau Berbeda di Linux

  3. Bagaimana mengelola pengguna dengan useradd di linux

  1. Linux – Bagaimana Cara Masuk Pengguna Ke Tty Dari Ssh?

  2. Cara mengembalikan file di bawah direktori home pengguna ke default di Linux

  3. linux:cara menjalankan perintah di direktori tertentu

  1. Cara Menghapus Akun Pengguna dengan Direktori Rumah di Linux

  2. Cara Menemukan dan Menyalin Jenis File Tertentu Dari Satu Direktori Ke Direktori Lain Di Linux

  3. Bagaimana saya bisa membuat daftar atribut pengguna Active Directory dari komputer linux?