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

Cara menggunakan fungsi rakaman perintah sejarah shell linux

WBOY
WBOYke hadapan
2023-05-12 13:19:181760semak imbas

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Apakah kebenaran arahan Linux?Artikel seterusnya:Apakah kebenaran arahan Linux?