Saya masuk ke sistem melalui SSH dan saya ingin dapat memaksa perintah untuk dijalankan pada logout, apakah itu logout yang disengaja (keluar dari shell) atau karena koneksi SSH saya telah jatuh / telah diakhiri. Apakah ada cara untuk mengatur ini? Tebakan terbaik saya saat ini adalah mengubah shell login ke program yang memotong sinyal yang dikirim pada penutupan SSH (SIGHUP?) Dan mengeksekusi perintah itu, tapi saya bertanya-tanya apakah ada solusi yang lebih bersih.
13
Jawaban:
Cara terbaik untuk melakukan ini adalah menggunakan pam .
Di
/etc/pam.d
Anda akan memiliki beberapa file, salah satunya akan dipanggilsshd
. Jika Anda hanya ingin memengaruhi ssh, dan bukan info masuk lainnya (seperti GUI, atau TTY asli), Anda menginginkan file ini.Jika Anda ingin memengaruhi semua login, Anda akan menginginkan file 'umum'. Nama file 'umum' lainnya ini bervariasi menurut distro, tetapi Anda dapat melacaknya dengan mengikuti
include
dansubstack
pernyataan dalamsshd
file sampai Anda mendapatkan ke file dasar.Setelah Anda mengidentifikasi file
/etc/pam.d
yang ingin Anda gunakan, tambahkan baris seperti berikut ini kesession
bagian:Ini akan menghasilkan panggilan
/etc/pam_session.sh
setiap kali seseorang masuk dan keluar (apakah anggun atau tidak berterima kasih).Sekarang Anda hanya perlu membuat
/etc/pam_session.sh
. Di bawah ini adalah contoh yang bisa Anda gunakan untuk menjalankan sesuatu setiap kali seseorang keluar:(jangan lupa ke
chmod a+x
skrip)sumber