Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Server/DirectoryServer"
Differenze tra le versioni 1 e 15 (in 14 versioni)
Versione 1 del 06/04/2007 20.14.40
Dimensione: 18608
Commento:
Versione 15 del 11/10/2007 16.34.36
Dimensione: 17949
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from Server/Directory Server
Linea 3: Linea 4:
||<tablestyle="float:right; font-size: 0.9em; width:50%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]||

= Configurazione di un Servizio di Directory =

Un servi
zio di directory ha bisogno innanzitutto di una struttura ad albero dei nomi
(server DNS) e di una analoga struttura associata basata sul protocollo LDAP (slapd).

Inoltre per fornire anche il servizio di file server a macchine Windows  avrete bisogno del server SAMBA (samba) e per utilizzare la crittografia
basata sul protocollo Kerberos avete bisogno del server Kerberos e del software
per il server delle chiavi (krb5-admin-server e krb5-kdc).

Questo vi permetterà di avere un servizio di directory scalabile che potrete
utilizzare come backend per tutti i servizi della vostra azienda ,
dai vostr
i servizi di posta ai vostri utenti remoti che si collegano via RADIUS,
al server FTP.


== Installazione ==

Vi servono
i pacchetti : {{{
#apt-get -y install samba

#apt
-get -y install smbldap-tools

#apt-get -y install
krb5-ftpd

#apt-get -y install
krb5-telnetd
}}}

== Descrizione dell'architettura ==

Consideriamo una configurazione tipo con
: {{{
LDAP master con DNS master on-board

LDAP replica con DNS slave per fault tolerance

un file server SAMBA come PDC

un altro file server SAMBA come BDC

un KDC

i servers protetti da
Kerberos (tutti i clients e le 2 macchine SAMBA + la replica LDAP)
}}}

o
gni entry citata è su una macchina separata.

== Configurazione del master LDAP ==

Innanzitutto procedere alla configurazione del DNS master creando la zona diretta e
l'inversa per il vostr
o dominio.

Pertanto installate il pacchetto '''bind9''' con il comando : {{{
#apt-get -y install bind9
}}}

ed effettuate le configurazioni come indicato nel wiki '''Configurare un server DNS'''.


Fatto ciò installiamo poi i pacchetti necessari per il server LDAP : {{{
#apt-get -y install slapd

#apt-get -y install migrationtools

#apt-get -y install
ldap-utils
}}}

qualora vogliamo amministrare il server LDAP direttamente dal terminale e non da una
workstation remota installiamo anche il pacchetto per la gestione grafica del server LDAP : {{{
#apt-get -y install gq
}}}
||<tablestyle="float:right; font-size: 0.9em; width:30%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents]]||

= Introduzione =

Un ''s
ervizio di directory'' ha bisogno innanzitutto di una struttura ad albero dei nomi (server DNS) e di una analoga struttura associata basata sul protocollo LDAP (slapd).

Inoltre, per fornire anche il servizio di file server a macchine Windows, è necessario il server SAMBA e, per utilizzare la crittografia basata sul protocollo Kerberos, il server Kerberos.

Questo consente di avere un servizio di directory scala
bile da utilizzare come ''backend'' per tutti i servizi aziendali, dai servizi di posta agli utenti remoti che si collegano via RADIUS al server FTP.

= Installazione =

Per installare
i pacchetti necessari, in un terminale, copiare quanto segue: {{{
apt-get -y install samba smbldap-tools krb5-ftpd krb5-telnetd
}}}

= Descrizione dell'architettura =

Si consideri una configura
zione d'esempio di questo tipo:
 *
LDAP master con DNS master on-board
 * LDAP replica con DNS slave per fault tolerance
 * un file server SAMBA come PDC
 * un altro file server SAMBA come BDC
 * un KDC
 * i server protetti da '''Kerberos''' (tutti i client, le macchine SAMBA e la replica LDAP)

O
gni entry citata è su una macchina separata.

= Configurare il master LDAP =

Innanzitutto procedere alla configurazione del DNS master creando la zona diretta e inversa per il proprio dominio.

Installare il pacchetto ''bind9'', da terminale, digitando: {{{
apt-get -y install bind9
}}} ed effettuare le configurazioni indicate nella guida [:Server/Dns:alla configurazione di un server DNS].

Fatto ciò, installare i pacchetti necessari per il server LDAP. Da terminale, digitare: {{{
apt-get -y install slapd migrationtools ldap-utils
}}}

Qualora vogliamo amministrare il server LDAP direttamente dal terminale e non da una workstation remota installiamo anche il pacchetto per la gestione grafica del server LDAP: {{{
apt-get -y install gq
}}}
Linea 77: Linea 48:
Poi procediamo come segue :

 * nel file '''/usr/share/migrationtools/migrate_common.ph''' effetuaimo le sostituzioni : {{{
Poi procedere come segue :

 * Nel file `/usr/share/migrationtools/migrate_common.ph` sostituire: {{{
Linea 81: Linea 52:
Linea 83: Linea 53:
Linea 86: Linea 55:

* poi eseguire come root i comandi : {{{
#cd /usr/share/migrationtools

#./migrate_base.pl > /etc/ldap/base.ldif

#
./migrate_hosts.pl /etc/hosts > /etc/ldap/hosts.ldif

#
./migrate_group.pl /etc/group > /etc/ldap/group.ldif

#
./migrate_passwd.pl /etc/passwd > /etc/ldap/passwd.ldif

#
slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/base.ldif

#
slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/hosts.ldif

#
slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/group.ldif

#
slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/passwd.ldif
}}}

* generiamo poi le password dell'utente '''admin''' : {{{
#slappasswd -h {crypt} -s adminpassword
}}}

* a questo punto testiamo la configurazione con il comando : {{{
#ldapsearch -x -H ldap://IP master LDAP -b "dc=miodominio,dc=com" "(cn=nomeutente)"
}}}

* modificare il file '''/etc/ldap/slapd.conf''' come segue : {{{
 * Poi eseguire come root i comandi : {{{
cd /usr/share/migrationtools

./migrate_base.pl > /etc/ldap/base.ldif
./migrate_hosts.pl /etc/hosts > /etc/ldap/hosts.ldif
./migrate_group.pl /etc/group > /etc/ldap/group.ldif
./migrate_passwd.pl /etc/passwd > /etc/ldap/passwd.ldif
slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/base.ldif
slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/hosts.ldif
slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/group.ldif
slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/passwd.ldif
}}}
 * Generiamo poi le password dell'utente '''admin''' : {{{
slappasswd -h {crypt} -s adminpassword
}}}
 * A questo punto testiamo la configurazione con il comando : {{{
ldapsearch -x -H ldap://IP master LDAP -b "dc=miodominio,dc=com" "(cn=nomeutente)"
}}}
 * Modificare il file `/etc/ldap/slapd.conf` come segue : {{{
Linea 120: Linea 78:

 * installare l'utility '''smbldap-tools''' come root : {{{
#apt-get -y install smbldap-tools
}}}

 * eseguire il comando : {{{
#cp /usr/share/doc/smbldap-tools/samba.schema /etc/ldap/schema/samba.schema
}}}

ed inserire nel file '''/etc/ldap/slapd.conf''' dopo l'ultima direttiva '''include....'''
quella che segue : {{{
 * Installare l'utilità '''smbldap-tools''' come: {{{
sudo apt-get -y install smbldap-tools
}}}
 * Eseguire il comando : {{{
sudo cp /usr/share/doc/smbldap-tools/samba.schema /etc/ldap/schema/samba.schema
}}}
 * Ed inserire nel file `/etc/ldap/slapd.conf` dopo l'ultima direttiva `include....` quella che segue: {{{
Linea 133: Linea 87:

Ora procediamo alla configurazione del servizio di autenticazione crittografata
installando il pacchetto Kerberos come segue : {{{
#apt-get -y install krb5-kdc

#
apt-get -y install krb5-admin-server
}}}

e
seguire come root i seguenti comandi : {{{
#kdb5_util create -s

#
kadmin.local

#
kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin

#
kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/changepw

#
kadmin: addprinc -pw secret krbadm@MIODOMINIO.COM

#
kadmin: q

#
/etc/init.d/krb5-kdc start

#
/etc/init.d/krb5-admin-server start
}}}

== Configurazione della Replica LDAP ==

Innanzitutto procedere alla configurazione del DNS slave (ricordiamo che bisogna soltanto
modificare il file '''
/etc/bind9/named.conf.local''' aggiungendovi la zona diretta
e l'inversa del vostro dominio e specificando l'IP del DNS master per
la sincronizzazione delle zone).

Pertanto installate il pacchetto '''bind9''' con il comando : {{{
#apt-get -y install bind9
}}}

ed effettuate le configurazioni come indicato nel wiki '''Configurare un server DNS'''.
 * Ora procediamo alla configurazione del servizio di autenticazione crittografata installando il pacchetto ''Kerberos'' come segue : {{{
apt-get -y install krb5-kdc
apt-get -y install krb5-admin-server
}}}
 * Eseguire come root i seguenti comandi : {{{
kdb5_util create -s
kadmin.local
kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin
kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/changepw
kadmin: addprinc -pw secret krbadm@MIODOMINIO.COM
kadmin: q
/etc/init.d/krb5-kdc start
/etc/init.d/krb5-admin-server start
}}}

= Configurare la replica LDAP =

Innanzitutto procedere alla configurazione del DNS slave (ricordiamo che bisogna soltanto modificare il file `/etc/bind9/named.conf.local` aggiungendovi la zona diretta e l'inversa del vostro dominio e specificando l'IP del DNS master per la sincronizzazione delle zone).

Pertanto installate il pacchetto ''bind9'' con il comando : {{{
sudo apt-get -y install bind9
}}} ed effettuate le configurazioni come indicato nel wiki [:Server/Dns:Configurare un server DNS].
Linea 174: Linea 112:
 * in '''/etc/ldap/slapd.conf''' inserire direttive : {{{  * In `/etc/ldap/slapd.conf` inserire direttive : {{{
Linea 176: Linea 114:
Linea 178: Linea 115:
Linea 180: Linea 116:
Linea 188: Linea 123:
Linea 195: Linea 129:
'''N.B. :''' ricordatevi di creare nel DB LDAP sia l'utente '''samba''' che l'utente
'''nssuser'''.

Se volete usate l'utility '''gq''' da installare o sul server LDAP o su una workstation
remota da cui amministrare master e replica LDAP.

 * installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{
#apt-get -y install libpam-krb5

#
apt-get -y install krb5-user
}}}

* configurare i pacchetti per il supporto all'autenticazione Kerberos lato client

* modificare il file '''/etc/pam.d/common-account''' come segue : {{{
Ricordarsi di creare nel database LDAP sia l'utente '''samba''' che l'utente '''nssuser'''.

Se volete usate l'utility '''gq''' da installare o sul server LDAP o su una workstation remota da cui amministrare master e replica LDAP.

 * Installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{
apt-get -y install libpam-krb5
apt-get -y install krb5-user
}}}
 * Monfigurare i pacchetti per il supporto all'autenticazione Kerberos lato client
 * Modificare il file `/etc/pam.d/common-account` come segue : {{{
Linea 211: Linea 140:
Linea 214: Linea 142:

* modificare il file '''/etc/pam.d/common-auth''' come segue : {{{
 * Modificare il file `/etc/pam.d/common-auth` come segue : {{{
Linea 217: Linea 144:
Linea 220: Linea 146:

* modificare il file '''/etc/pam.d/common-session''' come segue : {{{
 * Modificare il file `/etc/pam.d/common-session` come segue : {{{
Linea 223: Linea 148:
Linea 227: Linea 151:
== Configurazione del PDC SAMBA ==

 * installate il pacchetto '''samba''' nel modo seguente : {{{
#apt-get -y install samba
}}}

* modificate il file '''/etc/samba/smb.conf''' come segue : {{{
= Configurare il PDC SAMBA =

 * Installate il pacchetto '''samba''' nel modo seguente : {{{
apt-get -y install samba
}}}
 * Modificate il file `/etc/samba/smb.conf` come segue : {{{
Linea 237: Linea 160:
Linea 239: Linea 161:
Linea 241: Linea 162:
Linea 243: Linea 163:
Linea 245: Linea 164:
Linea 247: Linea 165:
Linea 249: Linea 166:
Linea 262: Linea 178:
   
Linea 333: Linea 248:
 * create la share '''var/lib/samba/profiles''' e rendetela leggibile e scrivibile da tutti gli utenti del sistema :
{{{
#
mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
}}}

questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.

* creare l'utente '''samba''' e memorizzarne la password nel file
'''
/var/lib/samba/secrets.tdb''' come segue : {{{
 * Create la share `var/lib/samba/profiles` e rendetela leggibile e scrivibile da tutti gli utenti del sistema: {{{
mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
}}} questo è necessario poichè i client Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.
 * Creare l'utente '''samba''' e memorizzarne la password nel file `/var/lib/samba/secrets.tdb` come segue : {{{
Linea 343: Linea 253:
Linea 346: Linea 255:

* memorizzare il '''SID''' del server nel file '''/var/lib/samba/secrets.tdb'''
come segue : {{{
 * Memorizzare il '''SID''' del server nel file `/var/lib/samba/secrets.tdb` come segue : {{{
Linea 350: Linea 257:
Linea 352: Linea 258:
Linea 355: Linea 260:

* installare e configurare il pacchetto '''smbldap-tools''' come segue : {{{
#apt-get -y install smbldap-tools
}}}

* controllare la configurazione dei files : {{{
 * Installare e configurare il pacchetto '''smbldap-tools''' come segue : {{{
apt-get -y install smbldap-tools
}}}
 * Controllare la configurazione dei files : {{{
Linea 362: Linea 265:
Linea 365: Linea 267:

* lanciare i comandi : {{{
#smbldap-populate

#
smbldap-passwd Administrator

#
net rpc join miodominio.com -UAdministrator%password
}}}

* creare i nuovi utenti utilizzando le utilities '''smbldap-tools''' come negli esempi : {{{
#smbldap-useradd -a -g 512 -m -s /bin/sh -d /home/user_admin -F "" -P user-admin
}}}

consultate le man pages per tutte le opzioni (il valore di '''-F''' è il roaming profile
dell'utente).

* testate la vostra configurazione tramite i comandi : {{{
#smbclient //SRV/public -Uuser_admin%password

#
pdbedit -Lv user_admin
}}}

* aggiornate le policies SAMBA con i comandi : {{{
#pdbedit -P "password_history" -C 5
  #pdbedit -P "maximum_password_age" -C 180

#
pdbedit -P "min_password_length" -C 6
}}}

* installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{
#apt-get -y install libpam-krb5

#
apt-get -y install krb5-user
}}}

* configurare i pacchetti per il supporto all'autenticazione Kerberos lato client

* modificare il file '''/etc/pam.d/common-account''' come segue : {{{
 * Lanciare i comandi : {{{
smbldap-populate
smbldap-passwd Administrator
net rpc join miodominio.com -UAdministrator%password
}}}
 * Creare i nuovi utenti utilizzando le utilities '''smbldap-tools''' come negli esempi : {{{
smbldap-useradd -a -g 512 -m -s /bin/sh -d /home/user_admin -F "" -P user-admin
}}} consultate le man pages per tutte le opzioni (il valore di '''-F''' è il roaming profile dell'utente).
 * Testare la vostra configurazione tramite i comandi : {{{
smbclient //SRV/public -Uuser_admin%password
pdbedit -Lv user_admin
}}}
 * Aggiornate le policies SAMBA con i comandi : {{{
pdbedit -P "password_history" -C 5
pdbedit -P "maximum_password_age" -C 180
pdbedit -P "min_password_length" -C 6
}}}
 * Installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{
apt-get -y install libpam-krb5
apt-get -y install krb5-user
}}}
 * Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
 * Modificare il file `/etc/pam.d/common-account` come segue : {{{
Linea 405: Linea 291:
Linea 408: Linea 293:

* modificare il file '''/etc/pam.d/common-auth''' come segue : {{{
 * Modificare il file `/etc/pam.d/common-auth` come segue : {{{
Linea 411: Linea 295:
Linea 414: Linea 297:

* modificare il file '''/etc/pam.d/common-session''' come segue : {{{
 * Modificare il file `/etc/pam.d/common-session` come segue : {{{
Linea 417: Linea 299:
Linea 421: Linea 302:
== Altre utilità LDAP ==

Se dovete modificare le passwords agli utenti del DB LDAP creato potete usare il comando :

{{{
#ldappasswd -x -D "cn=admin,dc=miodominio,dc=com" -W -s nuovapasswordutente
= Altre utilità LDAP =

Se dovete modificare le passwords agli utenti del DB LDAP creato potete usare il comando: {{{
ldappasswd -x -D "cn=admin,dc=miodominio,dc=com" -W -s nuovapasswordutente
Linea 430: Linea 309:

=
= Configurazione del BDC SAMBA ==

 * installate il pacchetto '''samba''' nel modo seguente : {{{
#apt-get -y install samba
}}}

* modificate il file '''/etc/samba/smb.conf''' come segue : {{{
= Configurare BDC SAMBA =

 * Installate il pacchetto '''samba''' nel modo seguente : {{{
apt-get -y install samba
}}}
 * Modificate il file `/etc/samba/smb.conf` come segue : {{{
Linea 441: Linea 318:
Linea 443: Linea 319:
Linea 445: Linea 320:
Linea 447: Linea 321:
Linea 449: Linea 322:
Linea 451: Linea 323:
Linea 453: Linea 324:
Linea 467: Linea 337:
    
Linea 537: Linea 406:
 * create la share '''var/lib/samba/profiles''' e rendetela leggibile e scrivibile da tutti gli utenti del sistema :
{{{
#
mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
}}}

questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.

* il comando '''wins_server = yes''' unito ad una opportuna (vedi sezione dedicata alla configurazione
dei clients) qualifica il server SAMBA come WINS server e
permette pertanto di impedire di inutili broadcasts dei clients per localizzare il loro
NETBIOS server.

* acquisire il '''SID''' del PDC con il comando :

{{{
#
net rpc getsid
}}}

* installare i pacchetti per il supporto all'autenticazione Kerberos lato client

{{{
#
apt-get -y install libpam-krb5

#
apt-get -y install krb5-user
}}}

* configurare i pacchetti per il supporto all'autenticazione Kerberos lato client

* modificare il file '''/etc/pam.d/common-account''' come segue :

{{{
 * Create la share `var/lib/samba/profiles` e rendetela leggibile e scrivibile da tutti gli utenti del sistema: {{{
mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
}}} questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.
 * Il comando `wins_server = yes` unito ad una opportuna (vedi sezione dedicata alla configurazione dei clients) qualifica il server SAMBA come WINS server e permette pertanto di impedire di inutili broadcasts dei clients per localizzare il loro NETBIOS server.
 * Acquisire il '''SID''' del PDC con il comando: {{{
net rpc getsid
}}}
 * Installare i pacchetti per il supporto all'autenticazione Kerberos lato client {{{
apt-get -y install libpam-krb5
apt-get -y install krb5-user
}}}
 * Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
 * Modificare il file `/etc/pam.d/common-account` come segue: {{{
Linea 569: Linea 420:
Linea 572: Linea 422:

* modificare il file '''/etc/pam.d/common-auth''' come segue :

{{{
 * Modificare il file `/etc/pam.d/common-auth` come segue: {{{
Linea 577: Linea 424:
Linea 580: Linea 426:

* modificare il file '''/etc/pam.d/common-session''' come segue :

{{{
 * Modificare il file `/etc/pam.d/common-session` come segue: {{{
Linea 585: Linea 428:
Linea 589: Linea 431:



=
= Configurazione dei clients ==

 * installare come root la libreria per il supporto LDAP con il comando :

{{{
#apt-get -y install libnss-ldap
}}}

* modificare il file '''/etc/ldap/ldap.conf''' come segue :

{{{
= Configurare i client =

 * Installare come root la libreria per il supporto LDAP con il comando: {{{
apt-get -y install libnss-ldap
}}}
 * Modificare il file `/etc/ldap/ldap.conf` come segue: {{{
Linea 604: Linea 438:
Linea 607: Linea 440:

* modificare il file '''/etc/pam.d/common-account''' come segue :

{{{
 * Modificare il file `/etc/pam.d/common-account` come segue: {{{
Linea 612: Linea 442:
Linea 615: Linea 444:

* modificare il file '''/etc/pam.d/common-auth''' come segue :

{{{
 * Modificare il file `/etc/pam.d/common-auth` come segue: {{{
Linea 620: Linea 446:
Linea 623: Linea 448:

* modificare il file '''/etc/pam.d/common-session''' come segue :

{{{
 * Modificare il file `/etc/pam.d/common-session` come segue: {{{
Linea 628: Linea 450:
Linea 631: Linea 452:

'''N.B.
: ''' se volete usare soltanto LDAP e non permettere l'accesso ai clients
agli utenti locali dovete usare nei 3 files visti le direttive :


{{{
 * Se volete usare soltanto LDAP e non permettere l'accesso ai client agli utenti locali dovete usare nei tre files visti le direttive: {{{
Linea 638: Linea 454:
Linea 640: Linea 455:
Linea 643: Linea 457:


* eseguire il join al dominio SAMBA con il comando :

{{{
#
net rpc join miodominio.com -UAdministrator%password
}}}

* per poter accedere al filesystem SAMBA installare l'utility '''smbfs''' :

{{{
#
apt-get -y install smbfs
}}}

* per montare un filesystem remoto SAMBA utilizzare il comando :

{{{
#
smbmount //SRV/public /mnt/smb -o username=user_admin
}}}

* se volete abilitare l'automount del filesystem SAMBA utilizzate il programma
'''autofs''' installandolo come segue :

{{{
#
apt-get -y install autofs
}}}

* ora modificate il file '''/etc/auto.master''' come segue : {{{
 * Eseguire il join al dominio SAMBA con il comando: {{{
net rpc join miodominio.com -UAdministrator%password
}}}
 * Per poter accedere al filesystem SAMBA installare l'utility '''smbfs''': {{{
apt-get -y install smbfs
}}}
 * Per montare un filesystem remoto SAMBA utilizzare il comando: {{{
smbmount //SRV/public /mnt/smb -o username=user_admin
}}}
 * Se volete abilitare l'automount del filesystem SAMBA utilizzate il programma '''autofs''' installandolo come segue: {{{
apt-get -y install autofs
}}}
 * Ora modificate il file `/etc/auto.master` come segue: {{{
Linea 673: Linea 472:

e
d il file '''/etc/auto.smb''' come segue : {{{
 * Ed il file `/etc/auto.smb` come segue: {{{
Linea 677: Linea 475:

e
riavviate il servizio '''autofs''' con il comando : {{{
#/etc/init.d/autofs restart
}}}

 * ora per impedire il broadcast sulla rete per l'individuazione del server WINS
modificare il file '''
/etc/samba/smb.conf''' come segue : {{{
 * E riavviate il servizio '''autofs''' con il comando : {{{
/etc/init.d/autofs restart
}}}

 * Ora per impedire il broadcast sulla rete per l'individuazione del server WINS modificare il file `/etc/samba/smb.conf` come segue : {{{
Linea 688: Linea 484:
#apt-get -y install libpam-krb5

#
apt-get -y install krb5-user
}}}

* configurare i pacchetti per il supporto all'autenticazione Kerberos lato client

* modificare il file '''/etc/pam.d/common-account''' come segue : {{{
apt-get -y install libpam-krb5
apt-get -y install krb5-user
}}}
 * Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
 * Modificare il file `/etc/pam.d/common-account` come segue : {{{
Linea 697: Linea 490:
Linea 700: Linea 492:

* modificare il file '''/etc/pam.d/common-auth''' come segue : {{{
 * Modificare il file `/etc/pam.d/common-auth` come segue : {{{
Linea 703: Linea 494:
Linea 706: Linea 496:

* modificare il file '''/etc/pam.d/common-session''' come segue : {{{
 * Modificare il file `/etc/pam.d/common-session` come segue : {{{
Linea 709: Linea 498:
Linea 713: Linea 501:
= Ulteriori risorse =

 * [:InternetRete/Condivisione/Autofs:Guida a autofs]
Linea 714: Linea 506:
CategoryServer CategoryNuoviDocumenti CategoryServer CategoryDaRevisionare

BR

Introduzione

Un servizio di directory ha bisogno innanzitutto di una struttura ad albero dei nomi (server DNS) e di una analoga struttura associata basata sul protocollo LDAP (slapd).

Inoltre, per fornire anche il servizio di file server a macchine Windows, è necessario il server SAMBA e, per utilizzare la crittografia basata sul protocollo Kerberos, il server Kerberos.

Questo consente di avere un servizio di directory scalabile da utilizzare come backend per tutti i servizi aziendali, dai servizi di posta agli utenti remoti che si collegano via RADIUS al server FTP.

Installazione

Per installare i pacchetti necessari, in un terminale, copiare quanto segue:

apt-get -y install samba smbldap-tools krb5-ftpd krb5-telnetd

Descrizione dell'architettura

Si consideri una configurazione d'esempio di questo tipo:

  • LDAP master con DNS master on-board
  • LDAP replica con DNS slave per fault tolerance
  • un file server SAMBA come PDC
  • un altro file server SAMBA come BDC
  • un KDC
  • i server protetti da Kerberos (tutti i client, le macchine SAMBA e la replica LDAP)

Ogni entry citata è su una macchina separata.

Configurare il master LDAP

Innanzitutto procedere alla configurazione del DNS master creando la zona diretta e inversa per il proprio dominio.

Installare il pacchetto bind9, da terminale, digitando:

apt-get -y install bind9

ed effettuare le configurazioni indicate nella guida [:Server/Dns:alla configurazione di un server DNS].

Fatto ciò, installare i pacchetti necessari per il server LDAP. Da terminale, digitare:

apt-get -y install slapd migrationtools ldap-utils

Qualora vogliamo amministrare il server LDAP direttamente dal terminale e non da una workstation remota installiamo anche il pacchetto per la gestione grafica del server LDAP:

apt-get -y install gq

Poi procedere come segue :

  • Nel file /usr/share/migrationtools/migrate_common.ph sostituire:

    $DEFAULT_MAIL_DOMAIN = vostrodominio
    $DEFAULT_BASE = "dc=miodominio,dc=com" 
    $EXTENDED_SCHEMA = 1
  • Poi eseguire come root i comandi :

    cd /usr/share/migrationtools
    
    ./migrate_base.pl > /etc/ldap/base.ldif
    ./migrate_hosts.pl /etc/hosts > /etc/ldap/hosts.ldif
    ./migrate_group.pl /etc/group > /etc/ldap/group.ldif
    ./migrate_passwd.pl /etc/passwd > /etc/ldap/passwd.ldif
    slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/base.ldif
    slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/hosts.ldif
    slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/group.ldif
    slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/passwd.ldif
  • Generiamo poi le password dell'utente admin :

    slappasswd -h {crypt} -s adminpassword
  • A questo punto testiamo la configurazione con il comando :

    ldapsearch -x -H ldap://IP master LDAP -b "dc=miodominio,dc=com" "(cn=nomeutente)"
  • Modificare il file /etc/ldap/slapd.conf come segue :

    replica host = replicaFQDN bindmethod=simple \
    binddn="cn=replicator,ou=miaOU,dc=miodominio,dc=com" \
    credentials=replicatorpassword
  • Installare l'utilità smbldap-tools come:

    sudo apt-get -y install smbldap-tools
  • Eseguire il comando :

    sudo cp /usr/share/doc/smbldap-tools/samba.schema /etc/ldap/schema/samba.schema
  • Ed inserire nel file /etc/ldap/slapd.conf dopo l'ultima direttiva include.... quella che segue:

    include /etc/ldap/schema/samba.schema
  • Ora procediamo alla configurazione del servizio di autenticazione crittografata installando il pacchetto Kerberos come segue :

    apt-get -y install krb5-kdc
    apt-get -y install krb5-admin-server
  • Eseguire come root i seguenti comandi :

    kdb5_util create -s
    kadmin.local
    kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin
    kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/changepw
    kadmin: addprinc -pw secret krbadm@MIODOMINIO.COM
    kadmin: q
    /etc/init.d/krb5-kdc start
    /etc/init.d/krb5-admin-server start

Configurare la replica LDAP

Innanzitutto procedere alla configurazione del DNS slave (ricordiamo che bisogna soltanto modificare il file /etc/bind9/named.conf.local aggiungendovi la zona diretta e l'inversa del vostro dominio e specificando l'IP del DNS master per la sincronizzazione delle zone).

Pertanto installate il pacchetto bind9 con il comando :

sudo apt-get -y install bind9

ed effettuate le configurazioni come indicato nel wiki [:Server/Dns:Configurare un server DNS].

Procedere come segue :

  • In /etc/ldap/slapd.conf inserire direttive :

    referral ldap://<FQDN o IP LDAP master>
    updatedn "cn=replicator,ou=miaOU,dc=miodominio,dc=com" 
    updateref ldap://<FQDN o IP LDAP master>
    access to attrs = userPassword,sambaLMPassword,sambaNTPassword
                    by dn = "cn=admin,ou=miaOU,dc=miodominio,dc=com" write
                    by dn = "cn=samba,ou=miaOU,dc=miodominio,dc=com" write
                    by dn = "cn=nssuser,ou=miaOU,dc=miodominio,dc=com" read
                    by anonymous auth
                    by self write
                    by * none
    access to *
            by dn = "cn=admin,ou=miaOU,dc=miodominio,dc=com" write
            by anonymous auth
            by * none

Ricordarsi di creare nel database LDAP sia l'utente samba che l'utente nssuser.

Se volete usate l'utility gq da installare o sul server LDAP o su una workstation remota da cui amministrare master e replica LDAP.

  • Installare i pacchetti per il supporto all'autenticazione Kerberos lato client

    apt-get -y install libpam-krb5
    apt-get -y install krb5-user
  • Monfigurare i pacchetti per il supporto all'autenticazione Kerberos lato client
  • Modificare il file /etc/pam.d/common-account come segue :

    account sufficient pam_krb5.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue :

    auth sufficient pam_krb5.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue :

    session sufficient pam_krb5.so
    session required pam_unix.so

Configurare il PDC SAMBA

  • Installate il pacchetto samba nel modo seguente :

    apt-get -y install samba
  • Modificate il file /etc/samba/smb.conf come segue :

    workgroup = MIODOMINIO.COM
    
    domain master = yes
    domain logons = yes
    encrypt passwords = yes
    security = user
    os level = 65 
    wins support = yes
    name resolver order = wins lmhosts hosts bcast
    logon path = \\%N\profiles\%U
    logon drive = H:
    logon home = \\%N\%U\winprofile
    logon script = logon.bat
    log level = 1 
    printcap name = CUPS
    show add printer wizard = No
    shutdown script = /var/lib/samba/scripts/shutdown.sh
    abort shutdown script = /sbin/shutdown -c
    utmp = Yes
    map acl inherit = Yes
    printing = cups
      
    passdb backend = ldapsam:ldap://<IP LDAP master>/ ldap://<IP LDAP replica>/
    ldap admin dn = cn=admin,dc=miodominio,dc=com
    ldap suffix = dc=miodominio,dc=com
    ldap group suffix = ou=Groups
    ldap user suffix = ou=People
    ldap machine suffix = ou=Computers
    ldap idmap suffix = ou=People
    add user script = /usr/sbin/smbldap_useradd -m '%u'
    delete user script = /usr/sbin/smbldap-userdel -r "%u"
    add group script = /usr/sbin/smbldap-groupadd -p "%g" 
    delete group script = /usr/sbin/smbldap-groupdel "%g"
    add user to group script = /usr/sbin/smbldap_groupmod -m "%u" "%g"
    delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
    add machine script = /usr/sbin/smbldap_useradd -w '%u'
    set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
    ldap delete dn = Yes
    
    [homes]
       comment = Home Directories
       path = /home/%U
       browseable = yes
       writable = yes
       create mask = 0775
       directory mask = 0775
       valid users = %S
    
    [netlogon]
       comment = Network Logon Service
       path = /usr/local/netlogon
       guest ok = yes
       writable = yes
       share modes = no
       browseable = yes
            
    [profiles]
    path = /var/lib/samba/profiles
    read only = no
    create mask = 0600
    directory mask = 0700
    browseable = yes
    writable = yes
    directory mode = 0755
    
    [printers]
       comment = All Printers
       browseable = no
       path = /tmp
       printable = yes
       public = no
       writable = no
       create mode = 0700
    
    [print$]
       comment = Printer Drivers
       path = /var/lib/samba/printers
       browseable = yes
       read only = yes
       guest ok = no
    
    [whole_linux_server]
    comment = whole_linux_box
    path = /
    valid users = admin root dtrask
    admin users = admin root dtrask
    write list = admin root dtrask
    public = no
    writable = yes
  • Create la share var/lib/samba/profiles e rendetela leggibile e scrivibile da tutti gli utenti del sistema:

    mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
    questo è necessario poichè i client Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.
  • Creare l'utente samba e memorizzarne la password nel file /var/lib/samba/secrets.tdb come segue :

    #read -s -p "Digita la password dell'utente samba : " LDAP_BINDPW
    #smbpasswd -w $LDAP_BINDPW
  • Memorizzare il SID del server nel file /var/lib/samba/secrets.tdb come segue :

    #/etc/init.d/samba start
    #net getlocalsid
    #net rpc getsid miodominio.com
  • Installare e configurare il pacchetto smbldap-tools come segue :

    apt-get -y install smbldap-tools
  • Controllare la configurazione dei files :

    smbldap.conf
    smbldap-bind.conf
  • Lanciare i comandi :

    smbldap-populate  
    smbldap-passwd Administrator
    net rpc join miodominio.com -UAdministrator%password
  • Creare i nuovi utenti utilizzando le utilities smbldap-tools come negli esempi :

    smbldap-useradd -a -g 512 -m -s /bin/sh -d /home/user_admin -F "" -P user-admin

    consultate le man pages per tutte le opzioni (il valore di -F è il roaming profile dell'utente).

  • Testare la vostra configurazione tramite i comandi :

    smbclient //SRV/public -Uuser_admin%password
    pdbedit -Lv user_admin
  • Aggiornate le policies SAMBA con i comandi :

    pdbedit -P "password_history" -C 5
    pdbedit -P "maximum_password_age" -C 180
    pdbedit -P "min_password_length" -C 6
  • Installare i pacchetti per il supporto all'autenticazione Kerberos lato client

    apt-get -y install libpam-krb5
    apt-get -y install krb5-user
  • Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
  • Modificare il file /etc/pam.d/common-account come segue :

    account sufficient pam_krb5.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue :

    auth sufficient pam_krb5.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue :

    session sufficient pam_krb5.so
    session required pam_unix.so

Altre utilità LDAP

Se dovete modificare le passwords agli utenti del DB LDAP creato potete usare il comando:

ldappasswd -x -D "cn=admin,dc=miodominio,dc=com" -W -s nuovapasswordutente 
"cn=utente,ou=miaOU,dc=miodominio,dc=com" 

Configurare BDC SAMBA

  • Installate il pacchetto samba nel modo seguente :

    apt-get -y install samba
  • Modificate il file /etc/samba/smb.conf come segue :

    workgroup = MIODOMINIO.COM
    
    domain master = no
    domain logons = yes
    encrypt passwords = yes
    security = user
    os level = 65 
    wins support = yes
    name resolver order = wins lmhosts hosts bcast
    logon path = \\%N\profiles\%U
    logon drive = H:
    logon home = \\%N\%U\winprofile
    logon script = logon.bat
    log level = 1 
    printcap name = CUPS
    show add printer wizard = No
    shutdown script = /var/lib/samba/scripts/shutdown.sh
    abort shutdown script = /sbin/shutdown -c
    utmp = Yes
    map acl inherit = Yes
    printing = cups
       
    passdb backend = ldapsam:ldap://<IP LDAP master>/ ldap://<IP LDAP replica>/
    ldap admin dn = cn=admin,dc=miodominio,dc=com
    ldap suffix = dc=miodominio,dc=com
    ldap group suffix = ou=Groups
    ldap user suffix = ou=People
    ldap machine suffix = ou=Computers
    ldap idmap suffix = ou=People
    add user script = /usr/sbin/smbldap_useradd -m '%u'
    delete user script = /usr/sbin/smbldap-userdel -r "%u"
    add group script = /usr/sbin/smbldap-groupadd -p "%g" 
    delete group script = /usr/sbin/smbldap-groupdel "%g"
    add user to group script = /usr/sbin/smbldap_groupmod -m "%u" "%g"
    delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
    add machine script = /usr/sbin/smbldap_useradd -w '%u'
    set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
    ldap delete dn = Yes
    
    [homes]
       comment = Home Directories
       path = /home/%U
       browseable = yes
       writable = yes
       create mask = 0775
       directory mask = 0775
       valid users = %S
    
    [netlogon]
       comment = Network Logon Service
       path = /usr/local/netlogon
       guest ok = yes
       writable = yes
       share modes = no
       browseable = yes
            
    [profiles]
    path = /var/lib/samba/profiles
    read only = no
    create mask = 0600
    directory mask = 0700
    browseable = yes
    writable = yes
    directory mode = 0755
    
    [printers]
       comment = All Printers
       browseable = no
       path = /tmp
       printable = yes
       public = no
       writable = no
       create mode = 0700
    
    [print$]
       comment = Printer Drivers
       path = /var/lib/samba/printers
       browseable = yes
       read only = yes
       guest ok = no
    
    [whole_linux_server]
    comment = whole_linux_box
    path = /
    valid users = admin root dtrask
    admin users = admin root dtrask
    write list = admin root dtrask
    public = no
    writable = yes
  • Create la share var/lib/samba/profiles e rendetela leggibile e scrivibile da tutti gli utenti del sistema:

    mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles
    questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.
  • Il comando wins_server = yes unito ad una opportuna (vedi sezione dedicata alla configurazione dei clients) qualifica il server SAMBA come WINS server e permette pertanto di impedire di inutili broadcasts dei clients per localizzare il loro NETBIOS server.

  • Acquisire il SID del PDC con il comando:

    net rpc getsid
  • Installare i pacchetti per il supporto all'autenticazione Kerberos lato client

    apt-get -y install libpam-krb5
    apt-get -y install krb5-user
  • Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
  • Modificare il file /etc/pam.d/common-account come segue:

    account sufficient pam_krb5.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue:

    auth sufficient pam_krb5.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue:

    session sufficient pam_krb5.so
    session required pam_unix.so

Configurare i client

  • Installare come root la libreria per il supporto LDAP con il comando:

    apt-get -y install libnss-ldap
  • Modificare il file /etc/ldap/ldap.conf come segue:

    BASE dc=miodominio,dc=com
    URI ldap://<FQDN o IP LDAP master>   ldap://<FQDN o IP LDAP replica>
  • Modificare il file /etc/pam.d/common-account come segue:

    account sufficient pam_ldap.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue:

    auth sufficient pam_ldap.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue:

    session sufficient pam_ldap.so
    session required pam_unix.so
  • Se volete usare soltanto LDAP e non permettere l'accesso ai client agli utenti locali dovete usare nei tre files visti le direttive:

    account required pam_ldap.so
    account required pam_ldap.so nullok_secure
    account required pam_ldap.so
  • Eseguire il join al dominio SAMBA con il comando:

    net rpc join miodominio.com -UAdministrator%password
  • Per poter accedere al filesystem SAMBA installare l'utility smbfs:

    apt-get -y install smbfs
  • Per montare un filesystem remoto SAMBA utilizzare il comando:

    smbmount //SRV/public /mnt/smb -o username=user_admin
  • Se volete abilitare l'automount del filesystem SAMBA utilizzate il programma autofs installandolo come segue:

    apt-get -y install autofs
  • Ora modificate il file /etc/auto.master come segue:

    /auto   /etc/auto.smb
  • Ed il file /etc/auto.smb come segue:

    smb  -fstype=smbfs,rw,guest   ://SRV/public
  • E riavviate il servizio autofs con il comando :

    /etc/init.d/autofs restart
  • Ora per impedire il broadcast sulla rete per l'individuazione del server WINS modificare il file /etc/samba/smb.conf come segue :

    wins server = <IP o FQDN SAMBA PDC>
  • installare i pacchetti per il supporto all'autenticazione Kerberos lato client

    apt-get -y install libpam-krb5
    apt-get -y install krb5-user
  • Configurare i pacchetti per il supporto all'autenticazione Kerberos lato client
  • Modificare il file /etc/pam.d/common-account come segue :

    account sufficient pam_krb5.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue :

    auth sufficient pam_krb5.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue :

    session sufficient pam_krb5.so
    session required pam_unix.so

Ulteriori risorse

  • [:InternetRete/Condivisione/Autofs:Guida a autofs]


CategoryServer CategoryDaRevisionare