Apakah ada cara di unix untuk mengetahui siapa yang mengakses file tertentu dalam 1 minggu terakhir? Mungkin pengguna atau beberapa skrip ftp ke tempat lain. Bisakah saya mendapatkan daftar nama pengguna yang mengakses file tertentu? Bagaimana cara mengetahui siapa yang mengakses file tertentu??
Jawaban yang Diterima:
Kecuali Anda memiliki kebijakan logging yang sangat tidak biasa, siapa yang mengakses file apa yang tidak dicatat (itu akan menjadi informasi yang sangat banyak). Anda dapat mengetahui siapa yang masuk pada jam berapa di log sistem; last
perintah memberi Anda riwayat masuk, dan log lain seperti /var/log/auth.log
akan memberi tahu Anda bagaimana pengguna mengautentikasi dan dari mana mereka masuk (terminal mana, atau host mana jika jarak jauh).
Tanggal di mana file terakhir dibaca disebut waktu aksesnya, atau singkatnya atime. Semua sistem file unix dapat menyimpannya, tetapi banyak sistem tidak merekamnya, karena memiliki penalti kinerja (biasanya kecil). ls -ltu /path/to/file
atau stat /path/to/file
menunjukkan waktu akses file.
Jika pengguna mengakses file dan tidak mencoba menyembunyikan jejaknya, riwayat shell-nya (mis. ~/.bash_history
) mungkin memiliki petunjuk.
Untuk mengetahui apa atau siapa yang membuka file sekarang, gunakan lsof /path/to/file
.
Untuk mencatat apa yang terjadi pada file di masa mendatang, ada beberapa cara:
-
Gunakan inotifywait.
inotifywait -me access /path/to
akan mencetak baris/path/to/ ACCESS file
ketika seseorang membacafile
. Antarmuka ini tidak akan memberi tahu Anda siapa yang mengakses file tersebut; Anda dapat memanggillsof /path/to/file
segera setelah garis ini muncul, tetapi ada kondisi balapan (akses mungkin berakhir pada saat lsof berjalan). -
LoggedFS adalah sistem file yang dapat ditumpuk yang menyediakan tampilan pohon sistem file, dan dapat melakukan logging yang lebih bagus untuk semua akses melalui tampilan itu. Untuk mengonfigurasinya, lihat sintaks file konfigurasi LoggedFS.
-
Anda dapat menggunakan subsistem audit Linux untuk mencatat banyak hal, termasuk akses sistem file. Pastikan
auditd
daemon dimulai, lalu konfigurasikan apa yang ingin Anda log denganauditctl
. Setiap operasi yang dicatat dicatat dalam/var/log/audit/audit.log
(pada distribusi tipikal). Untuk mulai menonton file tertentu:auditctl -w /path/to/file
Jika Anda meletakkan arloji di direktori, file di dalamnya dan subdirektori secara rekursif juga akan ditonton.