3 581
contributi
S3v (discussione | contributi) 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]] | ||
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 è < | 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 < | 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 < | 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 < | 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 < | 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 < | 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 (< | 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 < | 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 < | 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 < | 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 < | 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 < | 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 < | 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 < | 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 < | 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: < | # 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: < | # 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: | ||
# < | # <code>/usr/sbin/rcldap stop</code> | ||
# < | # <code>slapcat >ldap.\$(date +'\%Y\%m\%d-\%T')</code> Questo comando genera nella directory corrente un file LDIF che può successivamente essere archiviato | ||
# < | # <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. | ||
# < | # <code>ldapsearch -h LDAPServer -x -b baseDN > ldap.\$(date +'\%Y\%m\%d-\%T')</code><br/> | ||
dove < | 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: | ||
## < | ## <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) | ||
## < | ## <code>slapadd -l nome_del_backupfile</code> (Se Offline Logical Backup) | ||
## < | ## <code>/usr/sbin/rcldap start</code> | ||
# Per ripristinare un online backup: | # Per ripristinare un online backup: | ||
## < | ## <code>ldapadd -D adminDN -x -w adminPassword -h LDAPServer -x -f nome_del_backupfile</code><br/> | ||
dove < | 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 | [[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]] |
contributi