Sebagai administrator Linux, Anda perlu melacak semua aktivitas pengguna. Ini akan sangat membantu ketika ada yang tidak beres di server. Anda dapat menganalisis dan menyelidiki aktivitas pengguna, dan mencoba menemukan akar penyebab masalah. Ada banyak cara untuk memantau pengguna. Dalam panduan ini, kita akan berbicara tentang utilitas akuntansi GNU yang dapat digunakan untuk memantau aktivitas pengguna di Linux. Utilitas akuntansi menyediakan informasi yang berguna tentang penggunaan sistem, seperti koneksi, program yang dijalankan, dan pemanfaatan sumber daya sistem. Utilitas akuntansi ini dapat diinstal menggunakan psacct atau bertindak kemasan. psacct atau acct sama. Dalam berbasis RPM, tersedia sebagai psacct, dan dalam sistem berbasis DEB tersedia sebagai acct.
Umumnya, detail riwayat baris perintah pengguna akan disimpan di .bash_history file di direktori $HOME mereka. Beberapa pengguna mungkin mencoba mengedit, mengubah, atau menghapus riwayat. Namun, utilitas akuntansi akan tetap dapat mengambil aktivitas pengguna meskipun mereka menghapus riwayat baris perintahnya sama sekali. Karena, semua file akuntansi proses dimiliki oleh pengguna root, dan pengguna biasa tidak dapat mengeditnya.
Instal psacct atau acct
Di RHEL, CentOS, Fedora, Scientific Linux, jalankan perintah berikut sebagai pengguna root untuk menginstal psacct:
$ sudo yum install psacct
Aktifkan dan mulai layanan psacct menggunakan perintah:
$ sudo systemctl enable psacct
$ sudo systemctl start psacct
Di Debian, Ubuntu, Linux Mint, instal seperti di bawah ini.
$ sudo apt-get install acct
Perintah di atas akan menginstal acct dan memulai layanannya secara otomatis.
Anda dapat memverifikasi apakah itu dimulai atau tidak menggunakan perintah:
$ sudo systemctl status acctUnduh - eBuku gratis:"Buku Pegangan Pemantauan Nagios"
Memantau Aktivitas Pengguna Di Linux
Paket psacct (Process accounting) berisi utilitas berguna berikut untuk memantau aktivitas pengguna dan proses.
- ac - Menampilkan statistik tentang berapa lama pengguna telah masuk.
- komunikasi terakhir - Menampilkan informasi tentang perintah yang dieksekusi sebelumnya.
- akton - Mengaktifkan atau menonaktifkan akuntansi proses.
- dump-acct - Mengubah file keluaran dari format accton ke format yang dapat dibaca manusia.
- dump-utmp - Mencetak file utmp dalam format yang dapat dibaca manusia.
- sa - Meringkas informasi tentang perintah yang dieksekusi sebelumnya.
Mari kita lihat satu per satu dengan contoh.
ac
ac utilitas akan menampilkan laporan waktu koneksi dalam jam. Ini dapat memberi tahu Anda berapa lama pengguna atau grup pengguna terhubung ke sistem.
$ ac
Perintah ini menampilkan total waktu koneksi semua pengguna dalam jam.
total 30.62
Anda dapat mengurutkan hasil ini berdasarkan hari dengan menggunakan -d bendera seperti yang ditunjukkan di bawah ini.
$ ac -d
Contoh keluaran:
Nov 24 total 0.81 Apr 12 total 0.01 Jun 20 total 9.27 Jun 30 total 0.23 Mar 11 total 5.34 Mar 16 total 0.70 Mar 21 total 9.55 Mar 23 total 1.77 Today total 3.03
Selain itu, Anda dapat menampilkan berapa lama setiap pengguna terhubung dengan sistem dengan -p bendera.
$ ac -p
Contoh keluaran:
sk 0.03 root 30.73 total 30.76
Dan juga, Anda juga dapat menampilkan total waktu login pengguna individu.
$ ac sk
Contoh keluaran:
total 0.03
Untuk menampilkan waktu login pengguna individu berdasarkan hari, jalankan:
$ ac -d root
Contoh keluaran:
Nov 24 total 0.81 Apr 12 total 0.01 Jun 20 total 9.27 Jun 30 total 0.23 Mar 11 total 5.34 Mar 16 total 0.70 Mar 21 total 9.55 Mar 23 total 1.77 Today total 3.41
Untuk detail lebih lanjut, lihat halaman manual.
$ man ac
komunikasi terakhir
komunikasi terakhir utilitas menampilkan daftar perintah yang dieksekusi sebelumnya. Perintah yang dieksekusi terbaru akan dicantumkan terlebih dahulu.
$ lastcomm
Contoh keluaran:
sshd SF sshd __ 0.01 secs Fri Mar 24 15:09 unix_chkpwd S root __ 0.00 secs Fri Mar 24 15:09 unix_chkpwd S root __ 0.00 secs Fri Mar 24 15:09 systemd-cgroups S root __ 0.00 secs Fri Mar 24 15:09 systemd-cgroups S root __ 0.00 secs Fri Mar 24 15:09 sshd S root __ 0.06 secs Fri Mar 24 15:09 sshd SF sk __ 0.06 secs Fri Mar 24 15:09 bash sk pts/1 0.00 secs Fri Mar 24 15:09 clear sk pts/1 0.00 secs Fri Mar 24 15:09 vi sk pts/1 0.00 secs Fri Mar 24 15:09 cat sk pts/1 0.00 secs Fri Mar 24 15:09 bash F sk pts/1 0.00 secs Fri Mar 24 15:09 consoletype sk pts/1 0.00 secs Fri Mar 24 15:09 grep sk pts/1 0.00 secs Fri Mar 24 15:09 bash F sk pts/1 0.00 secs Fri Mar 24 15:09
Perintah di atas menampilkan semua perintah pengguna. Anda dapat menampilkan perintah yang dieksekusi sebelumnya oleh pengguna tertentu menggunakan perintah:
$ lastcomm sk
Contoh keluaran:
sshd SF sk __ 0.06 secs Fri Mar 24 15:09 bash sk pts/1 0.00 secs Fri Mar 24 15:09 clear sk pts/1 0.00 secs Fri Mar 24 15:09 vi sk pts/1 0.00 secs Fri Mar 24 15:09 cat sk pts/1 0.00 secs Fri Mar 24 15:09 bash F sk pts/1 0.00 secs Fri Mar 24 15:09 consoletype sk pts/1 0.00 secs Fri Mar 24 15:09 grep sk pts/1 0.00 secs Fri Mar 24 15:09
Selain itu, Anda dapat melihat berapa kali perintah tertentu telah dijalankan.
$ lastcomm vi
Contoh keluaran:
vi sk pts/1 0.00 secs Fri Mar 24 15:09 vi root pts/1 0.00 secs Fri Mar 24 15:03
Seperti yang Anda lihat pada output di atas, perintah vi telah dieksekusi dua kali oleh pengguna root dan sk.
Untuk detail lebih lanjut, lihat halaman manual.
$ man lastcomm
akton
Utilitas ini akan memungkinkan Anda untuk mengaktifkan atau menonaktifkan akuntansi.
Untuk mengaktifkan akuntansi proses, jalankan:
$ accton on
Untuk mematikannya, jalankan:
$ accton off
Untuk detail lebih lanjut, lihat halaman manual.
$ man accton
dump-acct dan dump-utmp
aksi pembuangan utilitas menampilkan file output dari format accton ke format yang dapat dibaca manusia.
$ dump-acct /var/account/pacct
dump-utmp menampilkan file utmp dalam format yang dapat dibaca manusia.
$ dump-utmp /var/run/utmp
Untuk detail lebih lanjut, lihat halaman manual.
$ man dump-acct
$ man dump-utmp
pada
Utilitas sa akan merangkum informasi tentang perintah yang dieksekusi sebelumnya.
$ sa
Contoh keluaran:
318 951.07re 0.01cp 0avio 15299k 4 33.04re 0.01cp 0avio 26352k sshd 7 2.05re 0.00cp 0avio 25184k sshd* 2 0.01re 0.00cp 0avio 89856k dnf 35 0.00re 0.00cp 0avio 29767k man* 29 0.00re 0.00cp 0avio 7377k bash* 12 0.00re 0.00cp 0avio 6259k unix_chkpwd 12 0.00re 0.00cp 0avio 2674k systemd-cgroups 10 0.00re 0.00cp 0avio 2260k grep 9 166.31re 0.00cp 0avio 25375k ***other* 9 110.33re 0.00cp 0avio 0k kworker/0:2* 9 110.33re 0.00cp 0avio 0k kworker/0:0* 9 0.00re 0.00cp 0avio 3830k id 8 0.00re 0.00cp 0avio 1080k ac 8 0.00re 0.00cp 0avio 26976k logger 8 0.00re 0.00cp 0avio 26976k basename 6 93.90re 0.00cp 0avio 29712k man 6 0.00re 0.00cp 0avio 1629k clear 5 119.94re 0.00cp 0avio 0k kworker/0:2H* 5 93.90re 0.00cp 0avio 27568k less
Untuk mencetak jumlah proses dan jumlah menit CPU per pengguna, jalankan saja:
$ sa -m
Contoh keluaran:
337 961.10re 0.01cp 0avio 15593k root 286 857.82re 0.01cp 0avio 16672k sk 45 3.88re 0.00cp 0avio 7992k sshd 5 0.34re 0.00cp 0avio 20966k postfix 1 99.06re 0.00cp 0avio 22272k
Untuk detail lebih lanjut, lihat halaman manual.
$ man sa
Bacaan yang Disarankan:
- Cara Membatasi Akses Pengguna ke Sistem Linux
Dan, itu saja. Setiap administrator Linux harus mengetahui utilitas akuntansi GNU untuk mengawasi semua pengguna. Utilitas ini akan membantu dalam waktu pemecahan masalah.