Rumah > Operasi dan penyelenggaraan > operasi dan penyelenggaraan linux > Cara menggunakan fungsi rakaman perintah sejarah shell linux

Cara menggunakan fungsi rakaman perintah sejarah shell linux

WBOY
Lepaskan: 2023-05-12 13:19:18
ke hadapan
1788 orang telah melayarinya

Di bawah Linux, anda boleh menggunakan perintah sejarah untuk melihat semua operasi sejarah pengguna Pada masa yang sama, rekod operasi arahan shell disimpan dalam fail .bash_history dalam direktori pengguna secara lalai. Melalui fail ini, anda boleh menanyakan sejarah pelaksanaan perintah shell, yang membantu kakitangan operasi dan penyelenggaraan menjalankan audit sistem dan penyelesaian masalah Pada masa yang sama, selepas pelayan diserang oleh penggodam, anda juga boleh menanyakan operasi perintah sejarah penggodam. log masuk ke pelayan. Walau bagaimanapun, selepas penggodam menyerang, untuk memadamkan kesan, mereka akan memadamkan fail .bash_history Ini memerlukan sandaran yang munasabah bagi fail ini.

Arahan sejarah lalai hanya boleh melihat rekod operasi sejarah pengguna, tetapi ia tidak dapat membezakan masa setiap pengguna mengendalikan arahan itu. Ini agak menyusahkan untuk menyelesaikan masalah. Penyelesaiannya adalah dengan menambah empat baris berikut pada fail /etc/bashrc untuk membenarkan arahan sejarah secara automatik merekodkan masa pelaksanaan semua arahan shell:

Salin kod Kod adalah seperti berikut:

histfilesize=4000
histize=4000
histtimeformat='%f %t'
export histtimeformat

histfilesize mewakili jumlah bilangan rekod untuk menyimpan arahan fail .bash_history Nilai lalai ialah 1000 Mentakrifkan jumlah bilangan rekod keluaran oleh perintah sejarah mentakrifkan format paparan masa, yang sama dengan "+"%f %t"" selepas arahan tarikh; histtimeformat digunakan sebagai pembolehubah masa sejarah untuk menghantar nilai kepada arahan sejarah.

Petua Lanjutan

Walaupun yang di atas boleh merekod masa, ia tidak boleh digunakan untuk tujuan audit dan mudah diusik atau hilang oleh penggodam. Kaedah berikut merekodkan secara terperinci pengguna yang telah log masuk ke sistem, alamat IP, arahan shell dan masa operasi terperinci. Dan simpan maklumat ini dalam bentuk fail di tempat yang selamat untuk pengauditan sistem dan penyelesaian masalah.

Masukkan kod berikut ke dalam fail /etc/profile untuk mencapai fungsi di atas.

Salin kod Kod adalah seperti berikut:

#record history operation
user_ip=`who -u am i 2>/dev/null |awk '{print $ nf}' |sed -e 's/[()]//g'`
logname=`who -u am i |awk '{print $1}'`
histdir=/user/share/. sejarah
jika [ -z $user_ip]
maka
user_ip=`nama hos`
fi

jika [ ! -d $histdir]
maka
mkdir - p $histdir
chmod 777 $histdir
fi

jika [ ! -d $histdir/${nama log}]
maka
mkdir -p $histdir/${nama log}
chmod 300 $histdir/${logname}
fi

export histsize=4000

dt=`date +"%y%m%d_%h%m%s "`
eksport histfile="$histdir/${logname}/${user_ip}.history.$dt"
eksport histtimeformat="[%y.%m.%d %h:%m:% s]"
chmod 600 $histdir/${logname}/*.history* 2>/dev/null

Atas ialah kandungan terperinci Cara menggunakan fungsi rakaman perintah sejarah shell linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan