[Samba-it] PDC + Winbind

Simo Sorce simo.sorce at xsec.it
Thu Nov 3 04:50:01 MST 2005


On Wed, 2005-11-02 at 23:08 +0100, Carlo Piga wrote:

> Mi dispiace ma, anche se non ce lo volete permettetere, sembra 
> funzionare benissimo. Compresi i machine account, anche se non vengono 
> elencati da "getent passwd". Per chi vuole provare, è necessario creare
 
> un file di configurazione per winbind, uno per samba, joinare il proprio 
> dominio, configurare il file pam (compreso quello di samba) per usare 
> winbind e tutto va alla grande.
> Il ragionamento del loop non è privo di senso, però credo che le 
> chiamate che winbind fa a Samba riguardino solo il contenuto del 
> password backend, non richiede l'associazione al relativo utente Unix, 
> quindi tutto si ferma con
> sys->winbind->samba
> oppure se lo richiede semplicemente viene trovato perchè winbind ha gi
à 
> fatto in tempo a generarlo.
> sys->winbind->samba-(A questo punto l'utente Unix esiste)->sys
> Ieri sera ho fatto il login al dominio da un client win2000 utilizzando 
> un nome utente che non aveva corrispondente account Unix, lasciando che 
> facesse tutto winbind ed ha funzionato benissimo.
> Mi sa che mi toccherà scrivere un Howto ;)

Puoi dirmi che versione di samba hai usato e quale backend usi ?


Mi viene in mente che usando ldap come backend probabilmente si può fare
perché c'è una ottimizzazione ce permette di "trustare" il contenuto di
ldap (per cui il backend ldap NON fa chiamate getent).


Il loop non c'è perché lo impediamo proattivamente in winbindd.c:

        /* Set environment variable so we don't recursively call ourselves.
           This may also be useful interactively. */

        setenv(WINBINDD_DONT_ENV, "1", 1);

e in wb_common.c:

        /* Check for our tricky environment variable */

        if ( (env = getenv(WINBINDD_DONT_ENV)) != NULL ) {
                value = atoi(env);
                if ( value = 1 )
                        return NSS_STATUS_NOTFOUND;
        }


Per cui:

samba->sys->winbind->samba->sys->winbind-|NOT FOND|  in teoria...


Se mi dici ch funziona però sono curioso di capire dove questo
ragionamento falla, non ricordo siano state aggiunte modifiche che
eliminino alcune delle chiamate a getpwnam() o getgrnam() (ranne nel
caso del backend ldap ottimizzato) che dovrebbero incorrere in questo
problema anche se in passato se ne è parlato più e più volte. 

Simo.





-- 
Simo Sorce - simo.sorce at xsec.it
Xsec s.r.l. - http://www.xsec.it
via Garofalo, 39 - 20133 - Milano
mobile: +39 329 328 7702
tel. +39 02 2953 4143 - fax: +39 02 700 442 399




More information about the samba-it mailing list