PAMとPAM認識デーモン間の通信の理解

PAMとPAM認識デーモン間の通信の理解

sshdPAMを使用するように設定(libpam.so.0共有ライブラリに接続)し、次のものがあるとします/etc/pam.d/sshd

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

sshdPAMが各スタックの終わりに成功または失敗を知らせるのは正しいですか?では、まずauth施設を処理してから結果を に返しsshd、次にaccount施設を処理してaccountスタック結果を に返すsshd式ですか?認証されたセッションが終了すると、デーモンはPAMに通知しますか?

ベストアンサー1

ある意味、そんなことが起きていますが、私はそう言いたくありません。 PAMはsshdに積極的に通知しませんが、sshdは関数呼び出しを介してPAMに要求するためです(例:pam_authenticatepam_acct_mgmt等)結果に応じた措置をとる。 PAMはまた、セッションがいつ閉じられるかを自動的に知りませんが、セッションが閉じるのを通過する必要があります。pam_close_session(他のアプリケーションでセッションを閉じることができるからです。)

opensshのソースを見つけて、sshdがPAMを利用する場所と方法を確認できます。私もお勧めしますLinux-PAMアプリケーション開発者ガイド詳細に興味があれば。

おすすめ記事