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

Vai alla navigazione Vai alla ricerca
m
→‎Introduzione: rimossa guida obsoleta
mNessun oggetto della modifica
m (→‎Introduzione: rimossa guida obsoleta)
 
(5 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{SAMBA}}{{Versioni compatibili|Squeeze}}
{{SAMBA
|precedente=Samba e OpenLDAP: creare un controller di dominio con Debian Lenny
|successivo=Samba e OpenLDAP: creare un controller di dominio Active Directory con Debian Wheezy}}{{Versioni compatibili|ONLY|Squeeze}}
== Introduzione ==
== Introduzione ==
Guide simili per precedenti versioni di Debian o altre distribuzioni linux:
Guide simili per precedenti versioni di Debian o altre distribuzioni linux:
Riga 5: Riga 7:
* [[Samba e OpenLDAP: creare un controller di dominio con Debian Etch | Debian Etch]]
* [[Samba e OpenLDAP: creare un controller di dominio con Debian Etch | Debian Etch]]
* [[Samba e OpenLDAP: creare un controller di dominio con Debian Lenny | Debian Lenny]]
* [[Samba e OpenLDAP: creare un controller di dominio con Debian Lenny | Debian Lenny]]
* [[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server | Ubuntu Lucid]]
Vedremo questa volta come installare un server basato su '''Debian Squeeze''' e Samba 3 con backend di un database LDAP, affinché funga da Primary Domain Controller di una rete Windows. Lo stesso server LDAP verrà utilizzato anche per la gestione in contemporanea degli utenti Unix, in modo da avere un controllo unico e centralizzato sia sugli utenti Windows sia sugli utenti Linux.<br/>
Vedremo questa volta come installare un server basato su '''Debian Squeeze''' e Samba 3 con backend di un database LDAP, affinché funga da Primary Domain Controller di una rete Windows. Lo stesso server LDAP verrà utilizzato anche per la gestione in contemporanea degli utenti Unix, in modo da avere un controllo unico e centralizzato sia sugli utenti Windows sia sugli utenti Linux.<br/>
Verranno illustrati due metodi di gestione del database LDAP, uno basato sui tools smbldap-tools e uno basato su interfaccia grafica in PHP.<br/>
Verranno illustrati due metodi di gestione del database LDAP, uno basato sui tools smbldap-tools e uno basato su interfaccia grafica in PHP.<br/>
Riga 39: Riga 40:
</pre>
</pre>
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 è <tt>dominio.local</tt>, un dominio interno non valido per Internet.
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 152: Riga 153:
Tuttavia, dato che non mi fido molto degli script, nel seguito della guida verranno date le indicazioni per procedere ad una configurazione manuale.
Tuttavia, dato che non mi fido molto degli script, nel seguito della guida verranno date le indicazioni per procedere ad una configurazione manuale.


Copiare inannzitutto i file <tt>smbldap.conf</tt> e <tt>smbldap_bind.conf</tt> in <tt>/etc/smbldap-tools</tt>.
Copiare inannzitutto i file <code>smbldap.conf</code> e <code>smbldap_bind.conf</code> in <code>/etc/smbldap-tools</code>.
<pre>
<pre>
# zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf
# zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf
# cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf
# cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf
</pre>
</pre>
Modificare il file <tt>/etc/smbldap-tools/smbldap_bind.conf</tt> inserendo il DN dell'amministratore del server LDAP e la sua password. Il DN dell'amministratore è stato impostato automaticamente durante l'installazione del pacchetto Debian di slapd e corrisponde a <nowiki>"cn=admin,dc=dominio,dc=local"</nowiki>, in cui il dominio dipende dalle configurazioni sopra riportate per il server LDAP. La password è quella richiesta in fase di installazione del server LDAP.<br/>
Modificare il file <code>/etc/smbldap-tools/smbldap_bind.conf</code> inserendo il DN dell'amministratore del server LDAP e la sua password. Il DN dell'amministratore è stato impostato automaticamente durante l'installazione del pacchetto Debian di slapd e corrisponde a <nowiki>"cn=admin,dc=dominio,dc=local"</nowiki>, in cui il dominio dipende dalle configurazioni sopra riportate per il server LDAP. La password è quella richiesta in fase di installazione del server LDAP.<br/>
Se non si è sicuri del DN da inserire lanciare il comando:
Se non si è sicuri del DN da inserire lanciare il comando:
<pre>
<pre>
Riga 191: Riga 192:
e copiare o prendere nota del codice che viene restituito.
e copiare o prendere nota del codice che viene restituito.
<br/>
<br/>
Modificare il file <tt>/etc/smbldap-tools/smbldap.conf</tt> inserendo il SID appena ottenuto e controllare gli indirizzi dei 2 server LDAP in modo che coincidano con il server locale (127.0.0.1).
Modificare il file <code>/etc/smbldap-tools/smbldap.conf</code> inserendo il SID appena ottenuto e controllare gli indirizzi dei 2 server LDAP in modo che coincidano con il server locale (127.0.0.1).
<pre>
<pre>
SID="S-1-5-21-2318037123-1631426476-2439636316"
SID="S-1-5-21-2318037123-1631426476-2439636316"
Riga 395: Riga 396:
# 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 <tt>/etc/ldap/schema</tt> lo schema LDAP necessario per SAMBA.
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>
# wget http://debian.easyteam.org/files/samba/hdb.schema -P /etc/ldap/schema/
# wget http://debian.easyteam.org/files/samba/hdb.schema -P /etc/ldap/schema/
Riga 565: Riga 566:
# slapcat > ~/slapd.ldif
# slapcat > ~/slapd.ldif
</pre>
</pre>
Adesso dobbiamo recuperare gli schemi mancanti, che aggiungeremo poi alla configurazione di LDAP, e copiare in <tt>/etc/ldap/schema</tt> lo schema LDAP necessario per SAMBA.
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>
# wget http://debian.easyteam.org/files/samba/hdb.schema -P /etc/ldap/schema/
# wget http://debian.easyteam.org/files/samba/hdb.schema -P /etc/ldap/schema/
Riga 576: Riga 577:
</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:
Ora occorre modificare il file di configurazione di slapd (<code>/etc/ldap/slapd.conf</code>) aggiungendo nella sezione <code>Schema and objectClass definitions</code> lo schema per samba:
<pre>
<pre>
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/samba.schema
</pre>
</pre>
Nella sezione <tt>Indexing options</tt> aggiungere una serie di indicizzazioni che ottimizzeranno le interogazioni per l'utilizzo del server SAMBA:
Nella sezione <code>Indexing options</code> aggiungere una serie di indicizzazioni che ottimizzeranno le interogazioni per l'utilizzo del server SAMBA:
<pre>
<pre>
index objectClass eq,pres
index objectClass eq,pres
Riga 786: Riga 787:
#suffix        "dc=debian,dc=org"
#suffix        "dc=debian,dc=org"
</pre>
</pre>
Possiamo far ripartire <tt>slapd</tt> affinché tutte le modifiche apportate siano prese in considerazione.
Possiamo far ripartire <code>slapd</code> affinché tutte le modifiche apportate siano prese in considerazione.
<pre>
<pre>
# /etc/init.d/slapd stop
# /etc/init.d/slapd stop
Riga 800: Riga 801:
# ldapsearch -x
# ldapsearch -x
</pre>
</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:
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 <code>slapd</code> può sempre tornare utile fermare il servizio e farlo partire, anziché con gli script standard debian con il comando:
<pre>
<pre>
# slapd -d 256
# slapd -d 256
Riga 807: Riga 808:


== Configurazione di Samba ==
== Configurazione di Samba ==
Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file <tt>/etc/smbldap-tools/smbldap.conf</tt>, quindi è bene stare attenti a non commettere errori.<br/>
Prima di iniziare a configurare Samba è necessario creare le directory nelle quali risiederanno le homes degli utenti, gli script di netlogon e i profili centralizzati (o profili roaming). Alcune di queste directory sono già state indicate nel file <code>/etc/smbldap-tools/smbldap.conf</code>, quindi è bene stare attenti a non commettere errori.<br/>
<pre>
<pre>
# mkdir /dominio
# mkdir /dominio
Riga 815: Riga 816:
# mkdir /dominio/pubblica
# mkdir /dominio/pubblica
</pre>
</pre>
La configurazione di Samba si riduce a modificare il file <tt>/etc/samba/smb.conf</tt>. State attenti: il file è molto lungo ed è facile tralasciare qualcosa o inserire opzioni in conflitto tra loro. Per iniziare ci si basi sul file di esempio, funzionante e testato, riportato di seguito con gli opportuni commenti:
La configurazione di Samba si riduce a modificare il file <code>/etc/samba/smb.conf</code>. State attenti: il file è molto lungo ed è facile tralasciare qualcosa o inserire opzioni in conflitto tra loro. Per iniziare ci si basi sul file di esempio, funzionante e testato, riportato di seguito con gli opportuni commenti:
<pre>
<pre>
# mv /etc/samba/smb.conf /etc/samba/smb.conf.original
# mv /etc/samba/smb.conf /etc/samba/smb.conf.original
Riga 1 119: Riga 1 120:
Per creare i gruppi predefiniti e gli utenti utilizzati da Samba è possibile procedere in due modi.
Per creare i gruppi predefiniti e gli utenti utilizzati da Samba è possibile procedere in due modi.
=== 1 - Utilizzo degli script forniti con smbldap-tools ===
=== 1 - Utilizzo degli script forniti con smbldap-tools ===
La prima via consiste nel fare uso di alcuni script forniti con il pacchetto <tt>smbldap-tools</tt> che abbiamo già installato:
La prima via consiste nel fare uso di alcuni script forniti con il pacchetto <code>smbldap-tools</code> che abbiamo già installato:
<pre>
<pre>
# smbldap-populate -a root -k 0
# smbldap-populate -a root -k 0
Riga 1 197: Riga 1 198:
* Account LDAP per root: ''cn=admin,dc=dominio,dc=local''
* Account LDAP per root: ''cn=admin,dc=dominio,dc=local''
* Password LDAP di root: ''mia_password''
* Password LDAP di root: ''mia_password''
Verifichiamo che il file <tt>/etc/pam_ldap.conf</tt> contenga almeno:
Verifichiamo che il file <code>/etc/pam_ldap.conf</code> contenga almeno:
<pre>
<pre>
host 127.0.0.1
host 127.0.0.1
Riga 1 206: Riga 1 207:
Assicuriamoci che l'uri sia settato correttamente in ''/etc/default/slapd'' alla voce ''SLAPD_SERVICES = ldap://10.0.0.10:389''.
Assicuriamoci che l'uri sia settato correttamente in ''/etc/default/slapd'' alla voce ''SLAPD_SERVICES = ldap://10.0.0.10:389''.
<br/><br/>
<br/><br/>
A questo punto bisogna modificare il file <tt>/etc/nsswitch.conf</tt> come indicato dall'installer. Prima però ne facciamo una copia di backup.
A questo punto bisogna modificare il file <code>/etc/nsswitch.conf</code> come indicato dall'installer. Prima però ne facciamo una copia di backup.
<pre>
<pre>
# cp -pf /etc/nsswitch.conf /etc/nsswitch.conf.orig
# cp -pf /etc/nsswitch.conf /etc/nsswitch.conf.orig
Riga 1 486: Riga 1 487:
=== Offline Physical Backup ===
=== Offline Physical Backup ===
Un offline physical backup deve essere effettuato sul server stesso. Lo svantaggio di questo tipo di backup è che il server LDAP non sarà disponibile per l'intera durata del processo.
Un offline physical backup deve essere effettuato sul server stesso. Lo svantaggio di questo tipo di backup è che il server LDAP non sarà disponibile per l'intera durata del processo.
# Stopare il server LDAP: <tt>/usr/sbin/rcldap stop</tt>
# Stopare il server LDAP: <code>/usr/sbin/rcldap stop</code>
# Copiare tutti i files in /var/lib/ldap/ dentro una directory di backup
# Copiare tutti i files in /var/lib/ldap/ dentro una directory di backup
# Riavviare il server LDAP: <tt>/usr/sbin/rcldap start</tt>
# Riavviare il server LDAP: <code>/usr/sbin/rcldap start</code>


=== Offline Logical Backup ===
=== Offline Logical Backup ===
Questo tipo di backup, noto anche come '''database dump''' richiede sempre l'arresto del servizio LDAP:
Questo tipo di backup, noto anche come '''database dump''' richiede sempre l'arresto del servizio LDAP:
# <tt>/usr/sbin/rcldap stop</tt>
# <code>/usr/sbin/rcldap stop</code>
# <tt>slapcat >ldap.\$(date +'\%Y\%m\%d-\%T')</tt> Questo comando genera nella directory corrente un file LDIF che può successivamente essere archiviato
# <code>slapcat >ldap.\$(date +'\%Y\%m\%d-\%T')</code> Questo comando genera nella directory corrente un file LDIF che può successivamente essere archiviato
# <tt>/usr/sbin/rcldap start</tt>
# <code>/usr/sbin/rcldap start</code>


=== Online Backup ===
=== Online Backup ===
Questo tipo di backup, a differenza dei precedenti, utilizza LDAP stesso per effettuare il dump dei dati del database e quindi, pur appensantendo il server, non richiede l'arresto del servizio.
Questo tipo di backup, a differenza dei precedenti, utilizza LDAP stesso per effettuare il dump dei dati del database e quindi, pur appensantendo il server, non richiede l'arresto del servizio.
# <tt>ldapsearch -h LDAPServer -x -b baseDN > ldap.\$(date +'\%Y\%m\%d-\%T')</tt><br/>
# <code>ldapsearch -h LDAPServer -x -b baseDN > ldap.\$(date +'\%Y\%m\%d-\%T')</code><br/>
dove <tt>LDAPServer</tt> è il nome del server e <tt>baseDN</tt> è il distinguished name (DN) della struttura LDAP, nel nostro caso <tt>dc=dominio,dc=local</tt>
dove <code>LDAPServer</code> è il nome del server e <code>baseDN</code> è il distinguished name (DN) della struttura LDAP, nel nostro caso <code>dc=dominio,dc=local</code>
=== Database Restore ===
=== Database Restore ===
# Per ripristinare un offline backup:
# Per ripristinare un offline backup:
## <tt>/usr/sbin/rcldap stop</tt>
## <code>/usr/sbin/rcldap stop</code>
## copiare i files salvati in /var/lib/ldap (Se Offline Physical Backup)
## copiare i files salvati in /var/lib/ldap (Se Offline Physical Backup)
## <tt>slapadd -l nome_del_backupfile</tt> (Se Offline Logical Backup)
## <code>slapadd -l nome_del_backupfile</code> (Se Offline Logical Backup)
## <tt>/usr/sbin/rcldap start</tt>
## <code>/usr/sbin/rcldap start</code>
# Per ripristinare un online backup:
# Per ripristinare un online backup:
## <tt>ldapadd -D adminDN -x -w adminPassword -h LDAPServer -x -f nome_del_backupfile</tt><br/>
## <code>ldapadd -D adminDN -x -w adminPassword -h LDAPServer -x -f nome_del_backupfile</code><br/>
dove <tt>adminDN</tt> è nel nostro caso dn=admin,dc=dominio,dc=local
dove <code>adminDN</code> è nel nostro caso dn=admin,dc=dominio,dc=local




Riga 1 633: Riga 1 634:
[[Samba: guida estesa]]<br/>
[[Samba: guida estesa]]<br/>
[[Samba: creare un cestino di rete per le condivisioni]]<br/>
[[Samba: creare un cestino di rete per le condivisioni]]<br/>
[[ClamAV: scansione antivirus delle condivisioni samba]]<br />
[[ClamAV: scansione antivirus delle condivisioni Samba]]<br />
<br/>
<br/>


{{Autori |Autore = [[Utente:Ferdybassi|Ferdybassi]]}}
{{Autori
|Autore = [[Utente:Ferdybassi|Ferdybassi]]
}}


[[Categoria:Reti con Windows]][[Categoria:Samba]]
[[Categoria:Reti con Windows]][[Categoria:Samba]]
3 581

contributi

Menu di navigazione