[Samba-it] Samba PDC LDAP - non va niente !

Luigi Iotti luigi at iotti.biz
Mon Mar 7 19:02:01 MST 2005


> >
> >Ti sbagli ha bisogno solo di NSS e NON di PAM, NSS e PAM sono due
> >sottosistemi separati e distinti.
> >
> >Simo.
> >
> >
> >
> La cosa mi interessa molto.
> Hai ragione, il NameService e il Pam sono due cose diverse, ma nel corso
> del tempo
> (parlo da RedHattista, e il Pam, se non ricordo male, e' stato
> introdotto ufficialmente
> dalla release 5.2 - 1998/1999?) hanno stabilito una congiunzione
> inossidabile.

???
Da quel che ho empre visto io sono 2 cose distinte.. che poi spesso vengano
usate una dopo l'altra, è incidentale. nss dà info su utenti , gruppi ed
altro (in pratica virtualizza il db degli utenti, gruppi ecc. che una volta
poteva stare solo in /etc/passwd, shadow, group e compagia); pam permette di
verificare una password o altre forme di credenziali, verificare se altre
condizioni permettono l'accesso, cambiare la password ecc. su backend
differenti (i moduli pam).
Mi sembrano 2 cose ben diverse: se tu dai a login il nome utente 'pippo', è
una getpwnam() che ti da l'uid, x esempio. E questa dipende da nss.
Se poi a login dai una password, è pam che ti consente di verificare che
quella password, unita all'utente pippo, sia corretta.

Mi pare dalle tue parole che si sottintenda che pam consente di avere la
lista degli utenti, oppure avere gli attibuti di un utente (uid, shell
iniziale, insomma quelle cose che si trovano in /etc/passwd e che nss
virtualizza): a me questo non è mai risultato.

> Non che sia impensabile o impossibile una risoluzione diversa da quella
> offerta dal pam
> (del resto, cosa succedeva prima dell'avvento in grande stile del pam?),
> ma questa
> oramai e' stata adottata in Linux come la comune e mi pare non ci siano
> alternative convenienti
> e praticabili.

Risoluzione? Ribadisco: pam controlla le password.

> Per la maggior parte dei programmi base, da login a ssh, le informazioni
> relative
> ad auth, session, account e password sono fornite da pam (dalla libreria
> e dai suoi moduli).

Appunto: auth dice come verificare la password (o altre credenziali, tipo
certificati, impronte digitali..)
account gestisce gli aspetti della discriminazione dell'accesso non
strettamente riguardanti l'autenticazione
session è usato per gestire la sessione dell'utente: può eseguire codice
prima o dopo che venga fornito il servizio (montare la $HOME? scrivere log?)
password consente di effettuare i cambi dei token usati in auth

Sono cose differenti da quello che fa il name service switch.

> Non c'e' verso, e alcuni programmi pensati e scritti prima del pam si
> sono poi
> "pamificati" per supportare lo standard e facilitare l'integrazione.

Cha poi pam dia dei vantaggi, e quindi molti programmi siano stati
modificati per usarlo, è indubbio. Ma da qui ad attribuirgli funzionalità
che non ha...

> Magari parliamo due lingue diverse, ma quello che dici tu non si scontra
> con l'esperienza comune?
> Se Samba avesse davvero l'indipendenza dal pam (posto che il pam, negli
> odierni sistemi Linux,
> e' il sistema elementare di autenticazione degli utenti nel loro accesso
> e riconoscimento al sistema), perche'
> dovrebbe appoggiarsi a utenti unix?

Perchè il demone smbd deve girare con un utente Unix, come tutti i processi
Unix.
Pam può essere usato x autenticare gli utenti (inteso nel senso verificare
la password); ma una caratteristica di pam è che può verificare password
plaintext, mentre samba dispone della password cifrata lm o ntlm.

> Cioe', l'utente Samba, nella sua
> configurazione minimale (quella
> locale, smbpasswd) presuppone un'utente unix ed e' indubbio che le
> informazioni di tale utente siano
> raccolte via pam.

Mi pare proprio che quest'ultima affermazione sia in forte dubbio...
Attenzione che l'utente unix non è solo quello descritto in /etc/passwd, ma
anche quello descritto in un db ldap che viene acceduto mediante nss.
Mediante nss si scopre quale è l'uid con cui far girare il demone smbd. Per
quanto rigauarda che le informazioni di tale utente che vengono raccolte via
pam... mi piacerebbe vedere (x puro sfizio, non sono un programmatore) uno
spezzone di codice.

Ciao






More information about the samba-it mailing list