GNU/Linux >> Znalost Linux >  >> Linux

Rozumíte komunikaci mezi Pam a démonem vědomým si Pam?

Řekněme, že jsem nakonfiguroval sshd (propojeno s libpam.so.0 sdílená knihovna) k použití PAM a mám následující /etc/pam.d/sshd obsah:

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

Mám pravdu, že PAM informuje sshd o úspěchu nebo neúspěchu na konci každého stacku? Takže nejprve auth zařízení se zpracují a výsledek se vrátí do sshd a poté account zařízení jsou zpracovány a výsledkem account zásobník se vrátí do sshd , atd? Je PAM informován démonem o ukončení ověřené relace?

Přijatá odpověď:

V jistém smyslu se to tak děje, ale neformuloval bych to tak.
Protože PAM neinformuje sshd aktivně, ale sshd žádá PAM prostřednictvím volání funkcí (jako pam_authenticate , pam_acct_mgmt atd.) a jedná podle výsledků. PAM také automaticky neví, kdy je relace uzavřena, ale musí být informována prostřednictvím pam_close_session (protože relaci lze uzavřít z jiné aplikace).

Můžete si vyhledat zdrojový kód openssh, abyste pochopili, kde a jak sshd využívá PAM. Pokud vás zajímají podrobnosti, doporučil bych také příručku pro vývojáře aplikací Linux-PAM.


Linux
  1. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  2. Sdílení X serveru (relace) mezi počítači?

  3. Jaký je rozdíl mezi Sudo Su – a Sudo Su –?

  1. Rozdíl mezi Eot a Eof?

  2. Rozdíl mezi [0-9], [[:digit:]] a D?

  3. Rozdíl mezi Snat a Masquerade?

  1. Rozumíte Tc Qdisc a Iperf?

  2. Rozdíl mezi $HOME a '~' (tilda)?

  3. Je rozdíl mezi démonem a službou?