Negli ultimi giorni ho installato un sistema Linux con autenticazione LDAP e tutto funziona bene, ma c'è ancora qualcosa che non riesco davvero a capire riguardo a NSS e PAM, anche dopo molte ricerche.
citando:
NSS consente agli amministratori di specificare un elenco di fonti in cui verranno archiviati e cercati file di autenticazione, nomi host e altre informazioni
e
PAM è un insieme di librerie che forniscono una piattaforma di autenticazione configurabile per le applicazioni e il sistema operativo sottostante
Quello che non capisco è come PAM e NSS lavorano e interagiscono insieme. In questo libro l'architettura è spiegata abbastanza bene: configuro PAM per l'utilizzo pam_ldap
per account LDAP e pam_unix
per account locali, quindi configuro nsswitch.conf
per recuperare informazioni da file locali e LDAP.
Se ho capito bene LDAP è usato due volte: prima da pam_ldap
e poi da NSS, che è a sua volta chiamato pam_unix
. È giusto? LDAP è davvero usato due volte? Ma perché devo configurare sia NSS che PAM? La mia spiegazione è che PAM svolge compiti diversi rispetto a NSS ed è utilizzato da altri programmi. Ma, quindi, dovrebbe essere possibile utilizzare solo NSS o solo PAM, come ho letto in questa pagina .
Quindi ho sperimentato un po 'e ho prima provato a eliminare LDAP dal nsswitch.conf
(e l'autenticazione ha smesso di funzionare come se solo pam_ldap non fosse abbastanza per fare il lavoro). Quindi ho riabilitato LDAP in NSS e l'ho eliminato dalla configurazione PAM (questa volta tutto ha funzionato bene, come se pam_ldap
fosse inutile e NSS è sufficiente per autenticare un utente).
C'è qualcuno che può aiutarmi a chiarire questo? Molte grazie in anticipo.
AGGIORNARE
Ho appena provato qualcosa adesso. Ho rimosso di nuovo tutte le pam_ldap
voci in tutti i campi di configurazione pam e ho anche rimosso shadow: ldap
da nsswitch.conf
. Come ora in tutto il sistema ci sono solo le linee: passwd: ldap files
e group: ldap files
dentro nsswitch.conf
. Bene ... il login con gli utenti LDAP funziona perfettamente, quelle due righe (più /etc/ldap.conf
) sono sufficienti per configurare l'autenticazione LDAP.
Dalla mia conoscenza, PAM è indipendente da NSS, ma i miei test hanno dimostrato che non lo è. Quindi mi chiedo: è possibile disabilitare completamente NSS e usare solo PAM?
getent shadow | grep LDAPUSER
grep LDAPUSER /etc/shadow