Samba e OpenLDAP: creare un controller di dominio con Debian Lenny: differenze tra le versioni

Riga 340: Riga 340:
===Configurazione del server LDAP===
===Configurazione del server LDAP===
Passiamo ora alla configurazione del server LDAP.<br/>
Passiamo ora alla configurazione del server LDAP.<br/>
Innanzitutto dobbiamo copiare in <tt>/etc/ldap/schema</tt> lo schema LDAP necessario per SAMBA.
 
Innanzitutto effettuiamo un backup di LDAP:
<pre>
slapcat > ~/slapd.ldif
</pre>
Adesso dobbiamo copiare in <tt>/etc/ldap/schema</tt> lo schema LDAP necessario per SAMBA.
<pre>
<pre>
# zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
# zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
</pre>
</pre>
Quindi generate l'hash MD5 della password di root di LDAP:
<pre>
slappasswd -h {MD5}
</pre>
e prendete nota del risultato.<br/>
Ora occorre modificare il file di configurazione di slapd (<tt>/etc/ldap/slapd.conf</tt>) aggiungendo nella sezione <tt>Schema and objectClass definitions</tt> lo schema per samba:
Ora occorre modificare il file di configurazione di slapd (<tt>/etc/ldap/slapd.conf</tt>) aggiungendo nella sezione <tt>Schema and objectClass definitions</tt> lo schema per samba:
<pre>
<pre>
Riga 350: Riga 360:
Nella sezione <tt>Indexing options</tt> aggiungere una serie di indicizzazioni che ottimizzeranno le interogazioni per l'utilizzo del server SAMBA:
Nella sezione <tt>Indexing options</tt> aggiungere una serie di indicizzazioni che ottimizzeranno le interogazioni per l'utilizzo del server SAMBA:
<pre>
<pre>
index objectClass eq
index objectClass eq,pres
index uid,uidNumber,gidNumber,memberUid eq
index uid,uidNumber,gidNumber,memberUid eq,pres
index cn,mail,surname,givenname eq,subinitial
index ou,cn,mail,surname,givenname eq,pres,sub
index loginShell                        eq,pres
index uid                              pres,sub,eq
index displayName                      pres,sub,eq
index nisMapName,nisMapEntry            eq,pres,sub
index sambaSID eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaPrimaryGroupSID eq
Riga 359: Riga 373:
index sambaSIDList eq
index sambaSIDList eq
index uniqueMember eq
index uniqueMember eq
index default                          sub
</pre>
</pre>
Bisogna consentire agli utenti di cambiare non solo la propria password LDAP, ma anche le password di SAMBA e contemporaneamente proteggere tali informazioni da un accesso pubblico sostituendo la riga:
Bisogna consentire agli utenti di cambiare non solo la propria password LDAP, ma anche le password di SAMBA e contemporaneamente proteggere tali informazioni da un accesso pubblico sostituendo la riga:
Riga 371: Riga 386:
<pre>
<pre>
rootdn          "cn=admin,dc=dominio,dc=local"
rootdn          "cn=admin,dc=dominio,dc=local"
rootpw          "password"
rootpw          {MD5}Qhz9FD5FDD9YFKBJVAngcw==
</pre>
</pre>
Il contenuto del file dovrebbe essere il seguente:<br/>
Il contenuto del file dovrebbe essere il seguente:<br/>
Riga 402: Riga 417:
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
index objectClass eq,pres
index uid,uidNumber,gidNumber,memberUid eq
index uid,uidNumber,gidNumber,memberUid eq,pres
index cn,mail,surname,givenname eq,subinitial
index ou,cn,mail,surname,givenname eq,pres,sub
index loginShell                        eq,pres
index uid                              pres,sub,eq
index displayName                      pres,sub,eq
index nisMapName,nisMapEntry            eq,pres,sub
index sambaSID eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaPrimaryGroupSID eq
Riga 411: Riga 430:
index sambaSIDList eq
index sambaSIDList eq
index uniqueMember eq
index uniqueMember eq
index default                          sub
lastmod on
lastmod on
access to attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword
access to attrs=userPassword,sambaNTPassword,sambaLMPassword,sambaPwdMustChange,sambaPwdLastSet
by dn="cn=admin,dc=dominio,dc=local" write
by dn="cn=admin,dc=dominio,dc=local" write
by anonymous auth
by anonymous auth
by self write
by self write
by * none
by * none
access to attrs=shadowLastChange,shadowMax
        by self write
        by * read
access to dn.base="" by * read
access to dn.base="" by * read
access to *
access to *
Riga 424: Riga 447:
Possiamo far ripartire <tt>slapd</tt> affinché tutte le modifiche apportate siano prese in considerazione.
Possiamo far ripartire <tt>slapd</tt> affinché tutte le modifiche apportate siano prese in considerazione.
<pre>
<pre>
# /etc/init.d/slapd restart
# /etc/init.d/slapd stop
# rm -rf /var/lib/ldap/*
# slapadd -l ~/slapd.ldif
# slapindex
# chown -Rf openldap:openldap /var/lib/ldap
# /etc/init.d/slapd start
</pre>
</pre>
Si può controllare che il server sia correttamente partito eseguendo una query con il comando:
Si può controllare che il server sia correttamente partito eseguendo una query con i comandi:
<pre>
<pre>
# slapcat
# ldapsearch -x
# ldapsearch -x
</pre>
</pre>