4 069
contributi
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, | 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 | 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, | 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, | 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 | # /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 | Si può controllare che il server sia correttamente partito eseguendo una query con i comandi: | ||
<pre> | <pre> | ||
# slapcat | |||
# ldapsearch -x | # ldapsearch -x | ||
</pre> | </pre> |