GNU/Linux >> Belajar Linux >  >> Cent OS

CentOS/RHEL – Cara menjalankan skrip atau perintah ketika ada pengguna yang keluar dari sesi ssh

Pertanyaannya di sini adalah, ketika pengguna yang masuk log keluar dari sesi ssh, sistem harus menjalankan skrip atau perintah tertentu. Jadi seperti mengonfigurasi skrip posting atau pemicu untuk melakukan tindakan yang diinginkan saat pengguna keluar dari sesi ssh.

Ini dapat dengan mudah dilakukan dengan bantuan modul pam di sistem CentOS/RHEL. Ikuti langkah-langkah yang diuraikan di bawah ini untuk mengonfigurasi modul pam.

1. Tambahkan entri di bawah ini ke file konfigurasi pam /etc/pam.d/sshd :

# vi /etc/pam.d/sshd
session     optional    pam_exec.so quiet /var/tmp/post_session.sh

Di sini,
/var/tmp/post_session.sh adalah skrip kami yang akan dijalankan saat pengguna logout.

File konfigurasi /etc/pam.d/sshd akan terlihat seperti di bawah ini:

# cat /etc/pam.d/sshd 
#%PAM-1.0
auth    required pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
# Used with polkit to reauthorize users in remote sessions
-auth      optional     pam_reauthorize.so prepare
account    required     pam_nologin.so
account    required     pam_access.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed 
in the user context
session    required     pam_selinux.so open env_params
session    required     pam_namespace.so
####Trigger with user logout #####
session     optional    pam_exec.so quiet /var/tmp/post_session.sh
####
session    optional     pam_keyinit.so force revoke
session    include      password-auth
session    include      postlogin
# Used with polkit to reauthorize users in remote sessions
-session   optional     pam_reauthorize.so prepare

2. Sekarang Anda dapat mengonfigurasi skrip pemicu posting sesuai kebutuhan Anda. Demi posting ini saya hanya akan menambahkan waktu logout pengguna ke dalam file. Misalnya:

# cat /var/tmp/post_session.sh
#!/bin/bash
if [ "$PAM_TYPE" = "close_session" ]; then
date >> /var/tmp/user_logout.out        ##  This is the action to be performed when user logs out.
fi

3. Berikan izin eksekusi ke skrip /var/tmp/post_session.sh.

# chmod ugo+x /var/tmp/post_session.sh

4. Verifikasi dengan masuk dan keluar beberapa kali dan Anda harus mendapatkan waktu semua logout ditambahkan ke file /var/tmp/user_logout.out .


Cent OS
  1. Cara Menambah &Menghapus Pengguna di CentOS, RHEL &Fedora

  2. CentOS / RHEL 7 :Cara memodifikasi baris perintah kernel

  3. Cara Menjalankan Perintah Pstack Di CentOS/RHEL

  1. Cara Menjalankan ntpdate Secara Otomatis Saat Memulai NTPD di CentOS/RHEL 5

  2. Bagaimana cara menjalankan perintah sebagai pengguna tertentu dalam skrip init?

  3. Bagaimana cara menggunakan nohup untuk terus menjalankan perintah setelah pengguna logout?

  1. Bagaimana cara melihat proses yang berjalan dari setiap pengguna di SSH?

  2. cara menambahkan skrip khusus ke systemd di CentOS/RHEL 7

  3. Bagaimana menjalankan rsyslog sebagai pengguna non-root di CentOS/RHEL 7