4 069
contributi
Riga 440: | Riga 440: | ||
</pre> | </pre> | ||
e prendete nota del risultato.<br/> | 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: | <br/> | ||
La versione utilizzata di OpenLdap ha come file di configurazione la cartella slapd.d ubicata in <code>/etc/ldap/slapd.d</code> ed è stato quindi soppresso il precedente ''slapd.conf''. La differenza è nella configurazione e nella funzionalità degli stessi. Il primo file di configurazione era statico perciò richiedeva sempre lo stop del demone slapd. Il secondo è dinamico perciò va da sè che è molto più flessibile. | |||
<br/> | |||
In questa guida verrà utilizzato ''slapd.d'' come di default, ma ricordo che in ''/etc/default/slapd'' si può impostare il vecchio database ''slapd.conf'' oppure si può convertire un vecchio database slapd.conf in slapd.d con il comando: | |||
<pre> | |||
#slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d | |||
</pre> | |||
Un esempio di configurazione con il vecchio ''slapd.conf'' sarà riportato nel capitolo seguente della guida. | |||
<br/> | |||
Ora occorre aggiungere gli schemi che ci serviranno per la configurazione: | |||
<pre> | |||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif | |||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif | |||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif | |||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif | |||
</pre> | |||
Creiamo il file ''module.ldif'' per aggiungere il modulo del backend: | |||
<pre> | |||
# touch /tmp/module.ldif | |||
# nano /tmp/module.ldif | |||
</pre> | |||
editandolo così: | |||
<pre> | |||
dn: cn=module,cn=config | |||
objectClass: olcModuleList | |||
cn: module | |||
olcModulepath: /usr/lib/ldap | |||
olcModuleload: back_bdb.la | |||
</pre> | |||
Quindi salviamo e carichiamo il file nella configurazione di LDAP: | |||
<pre> | |||
ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/module.ldif | |||
</pre> | |||
Creiamo il file ''backend.ldif'': | |||
<pre> | |||
# touch /tmp/backend.ldif | |||
# nano /tmp/backend.ldif | |||
</pre> | |||
editandolo così: | |||
<pre> | |||
dn: olcDatabase=bdb | |||
objectClass: olcDatabaseConfig | |||
objectClass: olcBdbConfig | |||
olcDatabase: bdb | |||
olcDbDirectory: /var/lib/ldap | |||
olcSuffix: dc=dominio,dc=local | |||
olcAccess: {0}to attrs=userPassword,SambaLMPassword,SambaNTPassword,sambaPwdLastSet,sambaPwdMustChange,sambaPasswordHistory by dn="cn=admin,dc=dominio,dc=local" write by anonymous auth by self write by * none | |||
olcAccess: {1}to attrs=shadowLastChange by self write by * read | |||
olcAccess: {2}to dn.base="" by self write by * read | |||
olcAccess: {3}to * by dn="cn=admin,dc=dominio,dc=local" write by * read | |||
olcLastMod: TRUE | |||
olcRootDN: cn=admin,dc=dominio,dc=local | |||
olcDbCheckpoint: 512 30 | |||
olcDbConfig: {0}set_cachesize 0 2097152 0 | |||
olcDbConfig: {1}set_lk_max_objects 1500 | |||
olcDbConfig: {2}set_lk_max_locks 1500 | |||
olcDbConfig: {3}set_lk_max_lockers 1500 | |||
olcDbIndex: objectClass eq | |||
olcDbIndex: uidNumber eq | |||
olcDbIndex: cn pres,sub,eq | |||
olcDbIndex: sn pres,sub,eq | |||
olcDbIndex: gidNumber eq | |||
olcDbIndex: uid pres,sub,eq | |||
olcDbIndex: memberUid eq | |||
olcDbIndex: uniqueMember eq | |||
olcDbIndex: displayName pres,sub,eq | |||
olcDbIndex: sambaSID eq | |||
olcDbIndex: sambaPrimaryGroupSID eq | |||
olcDbIndex: sambaDomainName eq | |||
olcDbIndex: sambaSIDList eq | |||
olcDbIndex: sambaGroupType eq | |||
olcDbIndex: default sub | |||
</pre> | |||
Aggiungiamo alla configurazione il backend in questo modo: | |||
<pre> | |||
#ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/backend.ldif | |||
</pre> | |||
Infine aggiungiamo le informazioni per l'autenticazione e la criptazione della password degli utenti: | |||
<pre> | |||
# nano /etc/ldap/slapd.d/cn=config/olcDatabase={1}bdb.ldif | |||
</pre> | |||
editandolo così: | |||
<pre> | |||
olcRootPW: {MD5}mia_password_crittata | |||
olcPasswordHash: {MD5} | |||
</pre> | |||
Editiamo ''cn=config.ldif'' così: | |||
<pre> | |||
olcLogLevel: 1 2 8 64 128 256 512 | |||
olcAuthzPolicy: none | |||
olcAuthzRegexp: uid=(.*),cn=.*,cn=auth ldap:///dc=dominio,dc=lan??sub?(uid=$1) | |||
</pre> | |||
Eliminiamo quindi il contenuto della cartella /var/lib/ldap: | |||
<pre> | |||
## rm -rf /var/lib/ldap/* | |||
</pre> | |||
Riavviamo infine il demone <code>slapd</code>: | |||
<pre> | |||
# /etc/init.d/slapd restart | |||
</pre> | |||
=== Configurazione di LDAP con il vecchio metodo ''slapd.conf'' === | |||
Per prima cosa 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> | ||
include /etc/ldap/schema/samba.schema | include /etc/ldap/schema/samba.schema |