GNU/Linux >> Tutoriels Linux >  >> Linux

Comprendre la communication entre Pam et le démon compatible Pam ?

Disons que j'ai configuré sshd (lié à libpam.so.0 bibliothèque partagée) pour utiliser PAM et j'ai suivi /etc/pam.d/sshd contenu :

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

Ai-je raison de dire que PAM informe sshd sur le succès ou l'échec à la fin de chaque pile ? Alors d'abord auth les installations sont traitées puis le résultat est renvoyé à sshd , puis account les installations sont traitées et résultent de account la pile est renvoyée à sshd , etc? PAM est-il informé par le démon lorsque la session authentifiée se termine ?

Réponse acceptée :

Dans un sens, c'est ce qui se passe, mais je ne le formulerais pas de cette façon.
Parce que PAM n'informe pas activement sshd, mais plutôt sshd demande à PAM via des appels de fonction (comme pam_authenticate , pam_acct_mgmt , etc.) et agit en fonction des résultats. PAM ne sait pas non plus automatiquement quand une session est fermée, mais doit être informé via pam_close_session (puisqu'une session peut être fermée depuis une autre application).

Vous pouvez rechercher le code source d'openssh afin de comprendre où et comment sshd utilise PAM. Je recommanderais également le Guide des développeurs d'applications Linux-PAM si vous êtes intéressé par les détails.


Linux
  1. Différence entre 2>&-, 2>/dev/null, |&, &>/dev/null et>/dev/null 2>&1 ?

  2. Quelle est la différence entre Sudo Su - et Sudo Su - ?

  3. Différence entre Eot et Eof?

  4. Différence entre [0-9], [[:digit:]] et D ?

  5. Différence entre snat et mascarade?

Comprendre la différence entre les commandes sudo et su sous Linux

Différence entre apt et apt-get expliquée

Partager un serveur X (session) sur plusieurs ordinateurs ?

Linux - Comment basculer entre les sessions Tty et Xorg ?

Vim vs Vi - Similitudes et différences entre VIM et VI ?

La différence entre /etc/pam.d/login et /etc/pam.d/system-auth ?