Saya ingin mengubah pengaturan riwayat untuk semua pengguna pada sistem yang saya kelola. Saya ingin memuat informasi dari terminal penghubung seperti dariwho
sysadmin:/ # who
sysadmin pts/0 Mar 26 07:11 (sysadmin.doofus.local)
Saat ini saya memodifikasi riwayat saya dengan cara-cara berikut. Saya tahu bahwa banyak dari pengaturan ini telah dibahas di sini beberapa kali. Namun, saya menarik kode ini dari " Resep Administrasi Sistem Linux oleh: Juliet Kemp " sejak lama.
shopt -s histappend
PROMPT_COMMAND='history -n;history -a'
HISTSIZE=100000
HISTFILESIZE=100000
HISTTIMEFORMAT="%m/%d/%y %T "
shopt -s histappend
memperbaiki masalah ketika Anda memiliki beberapa terminal, informasi terbuka mungkin hilang.
PROMPT_COMMAND='history -n;history -a'
meluas untuk memberikan penambahan waktu-nyata ke sejarah di beberapa terminal.
HISTSIZE=100000
HISTFILESIZE=100000
memperpanjang jumlah history
retensi
HISTTIMEFORMAT="%m/%d/%y %T
+ msgstr "awali setiap baris sejarah dengan cap waktu
Apa yang biasanya Anda dapatkan history
835 ls
836 cd ..
history
Hasil saya yang dimodifikasi saat ini
5853 03/26/12 07:16:49 ls
5854 03/26/12 07:16:50 ll
Kembali dari history
saya ingin melihat
5853 03/26/12 07:16:49 sysadmin.doofus.local ls
5854 03/26/12 07:16:50 sysadmin.doofus.local ll
001 03/26/12 05:11:29 demo_user.doofus.local cd
002 03/26/12 05:11:30 demo_user.doofus.local ll
Saya tidak "menikah" untuk melihat DNS
nama itu. Saya hanya ingin ada di sana jika menariknya dari who
atau lokasi lain tanpa perlu melakukan pencarian atau permintaan apa pun. Saya akan senang dengan alamat IP.
002 03/26/12 05:11:30 192.168.0.2 ll
Mengapa? Saya mengelola beberapa sistem di mana userid yang berbagi beberapa pengguna dari kelompok yang sama untuk melakukan tugas sehari-hari mereka. Ini akan memungkinkan saya untuk menghubungkan lokasi mereka yang sebenarnya & pengguna aktual dalam organisasi dengan apa yang mereka lakukan dalam sejarah.
Saya sadar bahwa ini tidak optimal dan ingin mengubahnya tetapi, ketika Anda berada di kapal seukuran kapal pesiar, Anda tidak berusaha membuat jepit rambut berputar. (Catatan: ketika Anda melakukannya, para penumpang mencoba untuk melemparkan Anda ke laut)
Lagi pula, sampai saya dapat memigrasikannya ke solusi yang lebih baik, saya ingin memiliki kemampuan pelacakan ini.
Juga, jika Anda memiliki rekomendasi apa pun yang sedang saya gunakan untuk history
modifikasi saya, saya akan senang mendengarnya.
Terima kasih,
Edit: 1
Saya tidak ingin menjalankan program lain atau harus mengkonfigurasi sesuatu tambahan "sesuai alasan."
Saya ingin menambahkan 0
overhead, jika saya harus menambahkannya harus kecil.
Saya percaya pengguna saya, saya hanya ingin (jika terjadi sesuatu) untuk melihat yang mana dari 10 pengguna yang masuk ke sistem dengan pengguna yang sama: kata sandi yang melakukannya. Atau, itu mungkin bukan pengguna itu bisa saja dilupakan cron
pada sistem yang melakukan koneksi sebagai pengguna untuk melakukan sesuatu. Atau aplikasi Ex: BMC Control-M
yang menghubungkan ssh
dan menjalankan tugas. Ini bukan tentang menemukan "pengguna jahat" karena dapat melacaknya dengan upaya minimal.
Edit 2:
Sistem menjalankan SLES dan RHEL
/proc
/dev
dan /home
direktori pengguna . Ini menambah overhead. Padahal history
sudah direkam dan informasi koneksinya diketahui oleh sistem yang menghubungkan IP dll ... Informasi ini jika belum tersedia "secara statis" dapat diatur seperti itu atau disimpan dalam variabel atau file dan input ke history
catatan dan kinerja hit akan menjadi sangat kecil atau 0.
auditd
. Saya tidak yakin apakah lognya akan memberi Anda informasi yang cukup. Kesulitan dari apa yang Anda inginkan justru mengapa akun yang dibagikan begitu dikecewakan.
auditd
sangat banyak seperti inotify
Anda harus mengatakan apa yang harus dimonitor untuk perubahan. File individual, direktori, dll. Saya tidak ingin pergi ke tingkat konfigurasi itu. Sebenarnya (saya lakukan) tetapi pada dasarnya tidak terlalu peduli. Saya harus puppet
menangani hal-hal itu. auditd
dilengkapi dengan beban tambahan dan waktu untuk pengaturan juga. Jika akun memodifikasi sesuatu, saya masih ingin melihat kembali sejarah dan melihat siapa atau apa yang masuk dan mencoba.
PROMPT_COMMAND=
hanya menjalankan perintah normal sebelum prompt berikutnya, tidak bisakah Anda menulis fungsi memanggil sed / awk yang bekerja pada baris terakhir dari file histori untuk menambahkan informasi. lalu panggil fungsi itu PROMPT_COMMAND=
untuk menambahkan data? itu akan menjadi peretasan tetapi harus melakukan pekerjaan.