GNU/Linux >> Belajar Linux >  >> Linux

Memahami Komunikasi Antara Pam dan Daemon Pam-aware?

Katakanlah saya telah mengonfigurasi sshd (ditautkan ke libpam.so.0 perpustakaan bersama) untuk menggunakan PAM dan saya telah mengikuti /etc/pam.d/sshd konten:

auth        requisite   pam_nologin.so
auth    required        pam_env.so
auth    required        pam_unix.so     try_first_pass 
auth    required        pam_google_authenticator.so
account     requisite   pam_nologin.so
account required        pam_unix.so     try_first_pass
password        requisite       pam_cracklib.so
password        required        pam_unix.so     use_authtok nullok shadow try_first_pass 
session     required    pam_loginuid.so
session required        pam_limits.so
session required        pam_unix.so     try_first_pass 
session optional        pam_umask.so
session optional        pam_systemd.so
session optional        pam_env.so
session  optional       pam_lastlog.so   silent noupdate showfailed

Apakah saya benar bahwa PAM menginformasikan sshd tentang keberhasilan atau kegagalan di akhir setiap tumpukan? Jadi pertama auth fasilitas diproses kemudian hasilnya dikembalikan ke sshd , lalu account fasilitas diproses dan hasil account tumpukan dikembalikan ke sshd , dll? Apakah PAM diinformasikan oleh daemon saat sesi terotentikasi berakhir?

Jawaban yang Diterima:

Dalam arti itulah yang terjadi, tetapi saya tidak akan mengatakannya seperti itu.
Karena PAM tidak menginformasikan sshd secara aktif, melainkan sshd meminta PAM melalui panggilan fungsi (seperti pam_authenticate , pam_acct_mgmt , dll.) dan bertindak sesuai dengan hasil. PAM juga tidak secara otomatis mengetahui, kapan suatu sesi ditutup, tetapi harus diinformasikan melalui pam_close_session (karena sesi dapat ditutup dari aplikasi lain).

Anda dapat mencari kode sumber openssh untuk memahami di mana dan bagaimana sshd menggunakan PAM. Saya juga akan merekomendasikan Panduan Pengembang Aplikasi Linux-PAM jika Anda tertarik dengan detailnya.


Linux
  1. Perbedaan Antara Shell Login dan Shell Non-login?

  2. Berbagi X Server (sesi) Antar Komputer?

  3. Apa Perbedaan Antara Sudo Su – Dan Sudo Su —?

  1. Linux – Bagaimana Cara Beralih Antara Sesi Tty dan Xorg?

  2. Perbedaan Antara Eot dan Eof?

  3. Perbedaan Antara [0-9], [[:digit:]] Dan D?

  1. Perbedaan Antara Snat dan Masquerade?

  2. Memahami Tc Qdisc Dan Iperf?

  3. Perbedaan antara $HOME dan '~' (tilde)?