3 581
contributi
(Nuova pagina: {{Sommario|titolo=Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server|contenuto= #[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Intro|Introduzio...) |
m (ha spostato Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server LDAP Server a Old:Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server LDAP Server) |
||
(10 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{ | {{Old:Template:Samba e OpenLDAP su Ubuntu server}} | ||
}} | |||
== LDAP Server == | == LDAP Server == | ||
=== Installazione del server LDAP === | === Installazione del server LDAP === | ||
Il server LDAP è essenzialmente un database gerarchico che viene utilizzato per la memorizzazione dei dati degli utenti, dei computer del dominio e di tutto quanto si desideri gestire tramite una base dati condivisibile via rete tra più sistemi.<br/> | Il server LDAP è essenzialmente un database gerarchico che viene utilizzato per la memorizzazione dei dati degli utenti, dei computer del dominio e di tutto quanto si desideri gestire tramite una base dati condivisibile via rete tra più sistemi.<br/> | ||
Si considera che il server in questione venga utilizzato all'interno di una rete aziendale altamente affidabile e non verranno, pertanto, trattati gli aspetti relativi alla crittografia delle comunicazioni. Questa scelta riduce la sicurezza, pertanto si consiglia di approfondire l'argomento. Se si è interessati ad un'implementazione sicura del protocollo LDAP si veda ad esempio la guida [[Samba, OpenLDAP, Kerberos: creare un controller di dominio sicuro con Debian Lenny]], che è basata sulla guida che state leggendo, ma che introduce e analizza una serie di aspetti legati alla trasmissione e all'archiviazione sicura delle informazioni.<br/> | Si considera che il server in questione venga utilizzato all'interno di una rete aziendale altamente affidabile e non verranno, pertanto, trattati gli aspetti relativi alla crittografia delle comunicazioni. Questa scelta riduce la sicurezza, pertanto si consiglia di approfondire l'argomento. Se si è interessati ad un'implementazione sicura del protocollo LDAP si veda ad esempio la guida [[Samba, OpenLDAP, Kerberos: creare un controller di dominio sicuro con Debian Lenny]], che è basata sulla guida che state leggendo, ma che introduce e analizza una serie di aspetti legati alla trasmissione e all'archiviazione sicura delle informazioni.<br/> | ||
Per utilizzare il server LDAP occorre installare il pacchetto slapd che costituisce un'implementazione di server LDAP per Linux e il pacchetto ldap-utils, un insieme di strumenti che ne permettono la gestione.<br/> | Per utilizzare il server LDAP occorre installare il pacchetto <code>slapd</code> che costituisce un'implementazione di server LDAP per Linux e il pacchetto <code>ldap-utils</code>, un insieme di strumenti che ne permettono la gestione.<br/> | ||
<pre> | <pre> | ||
# apt-get install slapd ldap-utils samba-doc | # apt-get install slapd ldap-utils samba-doc | ||
</pre> | </pre> | ||
Si presume che l'utente operi con l'account root per eseguire le operazioni di seguito descritte. | Si presume che l'utente operi con l'account [[root]] per eseguire le operazioni di seguito descritte.<br/> | ||
Durante l'installazione verranno richieste alcune informazioni necessarie a configurare il server LDAP. In particolare verrà richiesto il nome del dominio che può essere un dominio interno completamente inventato (es. miodominio.tld) o un dominio internet valido. La scelta è legata a politiche organizzative aziendali e tecniche che richiederebbero una trattazione approfondita e che esula da questo HOWTO.<br/> | Durante l'installazione verranno richieste alcune informazioni necessarie a configurare il server LDAP. In particolare verrà richiesto il nome del dominio che può essere un dominio interno completamente inventato (es. miodominio.tld) o un dominio internet valido. La scelta è legata a politiche organizzative aziendali e tecniche che richiederebbero una trattazione approfondita e che esula da questo HOWTO.<br/> | ||
Nei file riportati si considera che il dominio specificato è < | Nei file riportati si considera che il dominio specificato è <code>dominio.local</code>, un dominio interno non valido per Internet. | ||
In seguito verrà richiesta la password per l'utente amministratore. Scegliete una password particolarmente sicura, in quanto tramite essa si potrà avere accesso completo alla gestione degli utenti del vostro dominio e, pertanto, accedere a qualsiasi sistema presente sulla vostra rete. Questa password, inoltre, verrà utilizzata anche in seguito in alcuni file di configurazione, pertanto è bene ricordarsela.<br/> | In seguito verrà richiesta la password per l'utente amministratore. Scegliete una password particolarmente sicura, in quanto tramite essa si potrà avere accesso completo alla gestione degli utenti del vostro dominio e, pertanto, accedere a qualsiasi sistema presente sulla vostra rete. Questa password, inoltre, verrà utilizzata anche in seguito in alcuni file di configurazione, pertanto è bene ricordarsela.<br/> | ||
Come nome dell'organizzazione mettete una descrizione della vostra organizzazione: Rete LAN di Dominio.<br/> | Come nome dell'organizzazione mettete una descrizione della vostra organizzazione: Rete LAN di Dominio.<br/> | ||
Riga 55: | Riga 38: | ||
# cp -R /etc/ldap/slapd.d /etc/slapd.d.backup | # cp -R /etc/ldap/slapd.d /etc/slapd.d.backup | ||
</pre> | </pre> | ||
Adesso dobbiamo recuperare gli schemi mancanti, che aggiungeremo poi alla configurazione di LDAP, e copiare in < | Adesso dobbiamo recuperare gli schemi mancanti, che aggiungeremo poi alla configurazione di LDAP, e copiare in <code>/etc/ldap/schema</code> lo schema LDAP necessario per SAMBA. | ||
<pre> | <pre> | ||
# cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/ | # cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/ | ||
Riga 61: | Riga 44: | ||
# mkdir /tmp/ldif_output | # mkdir /tmp/ldif_output | ||
</pre> | </pre> | ||
Creiamo il file schema_convert.conf ed editatelo: | Creiamo il file <code>schema_convert.conf</code> ed editatelo: | ||
<pre> | <pre> | ||
#touch /tmp/schema_convert.conf | # touch /tmp/schema_convert.conf | ||
# vim /tmp/schema_convert.conf | # vim /tmp/schema_convert.conf | ||
</pre> | </pre> | ||
Riga 82: | Riga 65: | ||
include /etc/ldap/schema/samba.schema | include /etc/ldap/schema/samba.schema | ||
</pre> | </pre> | ||
salvate | salvate: | ||
<pre> | <pre> | ||
# slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={12}samba,cn=schema,cn=config" > /tmp/samba.ldif | # slapcat -f /tmp/schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={12}samba,cn=schema,cn=config" > /tmp/samba.ldif | ||
# vim /tmp/samba.ldif | # vim /tmp/samba.ldif | ||
</pre> | </pre> | ||
Riga 103: | Riga 86: | ||
modifyTimestamp: 20080827045234Z | modifyTimestamp: 20080827045234Z | ||
</pre> | </pre> | ||
Salvate tutto e copiare in /etc/ldap/schema: | Salvate tutto e copiare in <code>/etc/ldap/schema</code>: | ||
<pre> | <pre> | ||
#cp /tmp/samba.ldif /etc/ldap/schema | # cp /tmp/samba.ldif /etc/ldap/schema | ||
</pre> | </pre> | ||
Riga 114: | Riga 97: | ||
e prendete nota del risultato della password in md5. | e prendete nota del risultato della password in md5. | ||
La versione utilizzata di OpenLdap ha come file di configurazione la cartella slapd.d ubicata in /etc/ldap/slapd.d 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 | La versione utilizzata di OpenLdap ha come file di configurazione la cartella <code>slapd.d</code> ubicata in <code>/etc/ldap/slapd.d</code> ed è stato quindi soppresso il precedente <code>slapd.conf</code>. La differenza è nella configurazione e nella funzionalità degli stessi. Il primo file di configurazione era statico perciò richiedeva sempre lo stop del demone <code>slapd</code>. Il secondo è dinamico perciò va da sé che è molto più flessibile. | ||
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: | In questa guida verrà utilizzato <code>slapd.d</code> come di default, ma ricordo che in <code>/etc/default/slapd</code> si può impostare il vecchio database <code>slapd.conf</code> oppure si può convertire un vecchio database <code>slapd.conf</code> in <code>slapd.d</code> con il comando: | ||
<pre> | <pre> | ||
#slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d | # slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d | ||
</pre> | </pre> | ||
Ora occorre aggiungere gli schemi che ci serviranno per la | Ora occorre aggiungere gli schemi che ci serviranno per la configurazione: | ||
<pre> | <pre> | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif | # 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/nis.ldif | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif | # ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif | # ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif | ||
</pre> | </pre> | ||
Creare il file module.ldif per aggiungere il modulo del backend e crearlo: | Creare il file <code>module.ldif</code> per aggiungere il modulo del backend e crearlo: | ||
<pre> | <pre> | ||
# touch /tmp/module.ldif | # touch /tmp/module.ldif | ||
Riga 142: | Riga 125: | ||
salvare e caricare il file: | salvare e caricare il file: | ||
<pre> | <pre> | ||
ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/module.ldif | # ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/module.ldif | ||
</pre> | </pre> | ||
Creare il file backend.ldif ed editarlo: | Creare il file <code>backend.ldif</code> ed editarlo: | ||
<pre> | <pre> | ||
# touch /tmp/backend.ldif | # touch /tmp/backend.ldif | ||
Riga 151: | Riga 134: | ||
editarlo così: | editarlo così: | ||
<pre> | <pre> | ||
dn: cn=module,cn=config | |||
objectclass: olcModuleList | |||
cn: module | |||
olcModuleLoad: back_bdb.la | |||
dn: olcDatabase=bdb | dn: olcDatabase=bdb | ||
objectClass: olcDatabaseConfig | objectClass: olcDatabaseConfig | ||
Riga 186: | Riga 174: | ||
Aggiungere il backend così: | Aggiungere il backend così: | ||
<pre> | <pre> | ||
#ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/backend.ldif | # ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/backend.ldif | ||
</pre> | </pre> | ||
Riga 199: | Riga 187: | ||
</pre> | </pre> | ||
Editiamo cn=config.ldif così: | Editiamo <code>cn=config.ldif</code> così: | ||
<pre> | <pre> | ||
olcLogLevel: 1 2 8 64 128 256 512 | olcLogLevel: 1 2 8 64 128 256 512 | ||
Riga 205: | Riga 193: | ||
olcAuthzRegexp: uid=(.*),cn=.*,cn=auth ldap:///dc=milanoaccademia,dc=lan??sub?(uid=$1) | olcAuthzRegexp: uid=(.*),cn=.*,cn=auth ldap:///dc=milanoaccademia,dc=lan??sub?(uid=$1) | ||
</pre> | </pre> | ||
Eliminiamo il contenuto della cartella /var/lib/ldap: | Eliminiamo il contenuto della cartella <code>/var/lib/ldap</code>: | ||
<pre> | <pre> | ||
# rm -rf /var/lib/ldap/* | |||
</pre> | </pre> | ||
Riavviamo il demone < | Riavviamo il demone <code>slapd</code>: | ||
<pre> | <pre> | ||
# /etc/init.d/slapd restart | # /etc/init.d/slapd restart | ||
</pre> | </pre> |
contributi