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

Riga 336: Riga 336:
*Utilizzare DHCP per i nomi Netbios: NO
*Utilizzare DHCP per i nomi Netbios: NO
Non preoccupatevi per eventuali errori, perchè tutta la configurazione verrà ripresa in un secondo momento.
Non preoccupatevi per eventuali errori, perchè tutta la configurazione verrà ripresa in un secondo momento.
<br/>
===Configurazione del server LDAP===
Passiamo ora alla configurazione del server LDAP.<br/>
Innanzitutto dobbiamo copiare in <tt>/etc/ldap/schema</tt> lo schema LDAP necessario per SAMBA.
<pre>
# zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
</pre>
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>
include /etc/ldap/schema/samba.schema
</pre>
Nella sezione <tt>Indexing options</tt> aggiungere una serie di indicizzazioni che ottimizzeranno le interogazioni per l'utilizzo del server SAMBA:
<pre>
index objectClass eq
index uid,uidNumber,gidNumber,memberUid eq
index cn,mail,surname,givenname eq,subinitial
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
</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:
<pre>
access to attribute=userPassword
</pre>
con:
<pre>
access to attrs=userPassword,sambaNTPassword,sambaLMPassword
</pre>
Infine aggiungere le informazioni per l'autenticazione:
<pre>
rootdn          "cn=admin,dc=dominio,dc=local"
rootpw          "password"
</pre>
Il contenuto del file dovrebbe essere il seguente:<br/>
'''/etc/ldap/sldap.conf''':
<pre>
# Allow LDAPv2 binds
allow bind_v2
# Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel 0
modulepath /usr/lib/ldap
moduleload back_bdb
sizelimit 500
tool-threads 1
backend bdb
checkpoint 512 30
database bdb
suffix "dc=dominio,dc=local"
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
lastmod on
access to attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword
by dn="cn=admin,dc=dominio,dc=local" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=dominio,dc=local" write
by * read
Possiamo far ripartire <tt>slapd</tt> affinché tutte le modifiche apportate siano prese in considerazione.
<pre>
# /etc/init.d/slapd restart
</pre>
Si può controllare che il server sia correttamente partito eseguendo una query con il comando:
<pre>
# ldapsearch -x
</pre>
La risposta deve essere un file LDIF. Se invece si ottiene un errore di connessione ricontrollare tutte le impostazioni e i file di log. Per controllare il funzionamento di <tt>slapd</tt> può sempre tornare utile fermare il servizio e farlo partire, anziché con gli script standard debian con il comando:
<pre>
# slapd -d 256
</pre>
In tal modo viene avviato visualizzando varie informazioni di debug a video.
<br/>
<br/>