Progetto

Generale

Profilo

OpenPrivacyHowTo » Cronologia » Versione 1

Amministratore Truelite, 26-01-2006 17:33

1 1 Amministratore Truelite
= Come installare OpenPrivacy =
2
== Il sistema base == 
3
4
Tralasciamo ovviamente le istruzioni per installare una Debian Sarge; si presuppone di poter disporre di un computer con un sistema minimale già installato. La lista degli ulteriori pacchetti necessari viene fornita con l'archivio delle configurazioni di OpenPrivacy, per cui basterà installarla con:
5
{{{
6
dpkg --set-selections < listapacchetti.txt
7
apt-get dselect-upgrade
8
}}}
9
Alle varie domande di ''debconf'' si può rispondere come si vuole (ad esempio accettando i default), in quanto poi le configurazioni di base le rifaremo da zero usando quelle distribuite con [http://svn.truelite.it/truedoc/wiki/OpenPrivacy OpenPrivacy]. L'unica eccezione è per le domande relative alla installazione del demone di LDAP (''slapd'').
10
11
Una volta installati i pacchetti è opportuno di predisporre l'uso delle ACL sul filesystem, per permetterne l'utilizzo diretto da parte di Samba e per avere uniformità in un eventuale accesso fatto da Linux; per questo rimonteremo gli opportuni filesystem utilizzando l'opzione ''acl'', un esempio potrebbe essere una riga del tipo:
12
{{{
13
/dev/sda6       /      ext3    defaults,errors=remount-ro,acl 0     0      
14
}}}
15
in ''/etc/fstab''. Fatto questo cambiamento occorrerà rimontare il filesystem (si abbia premura di usare un filesystem che supporta le ACL, cioè ext3, reiser o XFS).
16
La configurazione di LDAP
17
18
Nella configurazione iniziale di slapd le informazioni inserite con ''debconf'' vengono usate per creare l'infrastruttura di base del database ed impostare la relativa password di amministratore. Se non si sono inseriti dei valori validi conviene cancellare tutto (''apt-get remove --purge slapd; rm -f /var/lib/ldap/*'') e reinstallare il pacchetto da capo.
19
20
La radice del database LDAP distribuita di default con [http://svn.truelite.it/truedoc/wiki/OpenPrivacy OpenPrivacy] usa il dominio ''azienda.local'', questo andrà modificato a seconda delle proprie esigenze. In generale quello che deve essere fatto è inserire nelle schermate di configurazione il dominio voluto (la radice dell'albero LDAP sarà creata di conseguenza), in nome della organizzazione e la password dell'amministratore di LDAP. Alle altre domande si può rispondere con i valori di default.
21
22
Per verificare l'installazione iniziale dell'infrastruttura del database si possono usare i comandi del pacchetto ldap-utils, questi usano le configurazioni standard della libreria client ''libldap'' che stanno in ''/etc/ldap.conf''. Le due righe da modificare sono le seguenti:
23
{{{
24
BASE    dc=azienda, dc=local
25
URI     ldap://127.0.0.1/
26
}}}
27
a questo punto con ''ldapsearch -x'' si dovrebbero ottenere i dati presenti nel database (in sostanza solo la voce per l'utente di amministrazione di LDAP).
28
29
Il secondo passo è predisporre la configurazione di LDAP, che sarà posto in ascolto solo sul ''localhost''; per questo motivo occorre anzitutto copiare lo schema fornito con Samba che è necessario per la configurazione, con:
30
{{{
31
zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > \
32
/etc/ldap/schema/samba.schema
33
}}}
34
Il secondo passo è utilizzare la configurazione distribuita con [http://svn.truelite.it/truedoc/wiki/OpenPrivacy OpenPrivacy], copiando il relativo ''/etc/ldap/slapd.conf''; questo prevede una serie di modifiche relative all'aggiunta di indici e permessi di accesso ai vari attributi usati da Samba e per l'autenticazione.
35
36
Inoltre occorre modificare ''/etc/default/slapd'' (la versione distribuita con [http://svn.truelite.it/truedoc/wiki/OpenPrivacy OpenPrivacy] contiene la modifica) per lanciare LDAP in ascolto solo su ''localhost'', questo richiede l'inseremento della riga:
37
{{{
38
SLAPD_SERVICES="ldap://127.0.0.1"
39
}}}
40
ed il riavvio del server.
41
La configurazione di PAM e NSS per l'autenticazione Unix
42
43
Anzitutto si devono installare i due pacchetti libpam-ldap e libnss-ldap, che contengono il supporto per il Pluggable Authentication Method e per il Name Service Switch su LDAP.
44
45
Il primo passo è configurare il Name Service Switch, in questo caso si può prendere il file libnss-ldap.conf dalla distribuzione di OpenPrivacy, ma nelle ultime versioni debconf genera di suo un file corretto all'installazione di libnss-ldap, chiedendo i dati locali (il dominio). Tutto quello che serve in effetti è una riga del tipo:
46
{{{
47
base dc=azienda,dc=local
48
}}}
49
per velocizzare l'accesso locale ai dati si può anche installare il demone ''nscd''.
50
51
Occorrerà poi modificare anche il file ''/etc/nsswitch.conf'' per inserire la consultazione dei dati su LDAP, la versione distribuita con [http://svn.truelite.it/truedoc/wiki/OpenPrivacy OpenPrivacy] contiene le modifiche necessarie.
52
53
Se era precedentemente installato si abbia cura di riavviare il demone nscd e verificare il funzionamento del sistema con getent passwd, getent group, verificando la presenza degli eventuali utenti messi su LDAP.
54
55
Il secondo passo è configurare PAM; in questo caso occorre copiare i vari file common-* forniti con OpenPrivacy nella directory ''/etc/pam.d'', questi sono utilizzati dai vari servizi, e contengono le modifiche necessarie a far sì che le informazioni di autenticazione vengano richiesta su LDAP.
56
57
A questi si aggiunge il file pam_ldap.conf (che sta direttamente sotto ''/etc''), che contiene le informazioni di accesso al database. Di nuovo in questo caso occorrerà modificare la versione distribuita per utilizzare i dati del proprio database, in sostanza le due righe righe:
58
{{{
59
...
60
base dc=azienda,dc=local
61
...
62
rootbinddn cn=admin,dc=azienda,dc=local
63
}}}
64
La configurazione di Samba
65
66
Anzitutto occorre copiare la configurazione fornita su /etc/samba/smb.conf, di nuovo occorrerà modificare i dati relativi alla radice dell'albero LDAP adattandoli alla propria realtà e poi riavviare il servizio; le righe interessate sono le seguenti:
67
{{{
68
...
69
workgroup = OPENPRIVACY
70
...
71
ldap admin dn = cn=admin,dc=azienda,dc=local
72
ldap suffix = dc=azienda,dc=local
73
}}}
74
Per poter poi utilizzare l'accesso a LDAP è necessario istruire Samba riguardo la password dell'utente di amministrazione dello stesso, con:
75
{{{
76
smbpasswd -w password_segreta
77
}}}
78
(la password specificata sarà visibile sullo schermo).
79
80
Fatto questo si può procedere a creare l'infrastruttura per Samba, per questo c'è uno script apposito distribuito con i file di [http://svn.truelite.it/truedoc/wiki/OpenPrivacy OpenPrivacy], che crea le directory sotto ''/home'' per i profili ed il netlogon, ed imposta i valori relativi alla massima durata delle password ed al numero di password precedenti tenute in memoria che non possono essere riutilizzate. Lo script è setsamba.sh e prende due argomenti; ad esempio con:
81
{{{
82
./setsamba.sh 175 3
83
}}}
84
si imposta una durata delle password di 175 giorni ed uno storico di tre password.
85
86
La configurazione di base di [http://svn.truelite.it/truedoc/wiki/OpenPrivacy OpenPrivacy] prevede la presenza di due cartelle condivise (amministrazione e commerciale); non è invece previsto l'uso di cartelle personali degli utenti, dei quali verranno utilizzati solo i dati di autenticazione ed i permessi.
87
88
Una volta completata la configurazione base si possono usare gli script di gestione del pacchetto smbldap, questo prevede l'uso di due file di configurazione sotto ''/etc/smbldap/'', forniti con OpenPrivacy, ma che devono comunque essere adattati alle proprie esigenze.
89
90
In particolare in ''smbldap_bind.conf'' deve contenere i propri dati per il collegamento al server LDAP (utente e password dell'amministratore, e base dell'albero LDAP), mentre ''smbldap.conf'' contiene una serie di valori di configurazione per la strutturazione degli account che saranno inseriti nell'albero attraverso gli script del pacchetto.
91
92
Di nuovo deve essere specificata la radice dell'albero LDAP, il valore della durata delle password, il dominio di riferimento per il campo che identifica la e-mail dell'utente, ma soprattutto il valore del SID.
93
94
Quest'ultimo è fondamentale per il funzionamento di Samba, e variando da macchina a macchina deve essere ottenuto interrogando direttamente il server Samba una volta che questo è attivo; questo si fa usando il comando:
95
{{{
96
net getlocalsid
97
}}}
98
che darà luogo ad un risultato del tipo:
99
{{{
100
ellington:~# net getlocalsid
101
SID for domain ELLINGTON is: S-1-5-21-3844212382-3281708373-568733493
102
}}}
103
ed in questo caso si dovrà copiare ''S-1-5-21-3844212382-3281708373-568733493'' come valore della variabile di configurazione SID di ''smbldap.conf''. Un esempio delle righe da modificare è il seguente:
104
{{{
105
...
106
SID="S-1-5-21-3844212382-3281708373-568733493"
107
...
108
suffix="dc=azienda,dc=local"
109
...
110
defaultMaxPasswordAge="175"
111
...
112
userSmbHome="\\ELLINGTON\homes"
113
userProfile="\\ELLINGTON\profiles\%U"
114
mailDomain="azienda.local"
115
}}}
116
Una volta fatto questo si potrà creare l'infrastruttura iniziale del database di LDAP per l'uso di Samba come PDC usando lo script smbldap-populate:
117
{{{
118
ellington:~# smbldap-populate
119
Using workgroup name from sambaUnixIdPooldn (smbldap.conf): 
120
sambaDomainName=OPENPRIVACY
121
Using builtin directory structure
122
entry dc=azienda,dc=local already exist.
123
adding new entry: ou=Users,dc=azienda,dc=local
124
adding new entry: ou=Groups,dc=azienda,dc=local
125
adding new entry: ou=Computers,dc=azienda,dc=local
126
adding new entry: ou=Idmap,dc=azienda,dc=local
127
adding new entry: uid=Administrator,ou=Users,dc=azienda,dc=local
128
adding new entry: uid=nobody,ou=Users,dc=azienda,dc=local
129
adding new entry: cn=Domain Admins,ou=Groups,dc=azienda,dc=local
130
adding new entry: cn=Domain Users,ou=Groups,dc=azienda,dc=local
131
adding new entry: cn=Domain Guests,ou=Groups,dc=azienda,dc=local
132
adding new entry: cn=Domain Computers,ou=Groups,dc=azienda,dc=local
133
adding new entry: cn=Administrators,ou=Groups,dc=azienda,dc=local
134
adding new entry: cn=Print Operators,ou=Groups,dc=azienda,dc=local
135
adding new entry: cn=Backup Operators,ou=Groups,dc=azienda,dc=local
136
adding new entry: cn=Replicators,ou=Groups,dc=azienda,dc=local
137
}}}
138
A questo punto occorre anche impostare la password per l'utente di amministrazione del dominio, cioè administrator, questo si fa direttamente con con il comando fornito dagli script di smbldap:
139
{{{
140
ellington:~# smbldap-passwd administrator
141
Changing password for administrator
142
New password :
143
Retype new password :
144
}}}
145
A questo punto si potranno inserire degli utenti con gli script di amministrazione; ad esempio si potrà creare un utente con:
146
{{{
147
smbldap-useradd -m -a prova
148
}}}
149
ed impostarne la password con:
150
{{{
151
smbldap-passwd prova
152
}}}
153
E si potrà verificare se il meccanismo funziona eseguendo un login sia Unix ssh prova@ellington che Windows ''smbclient //ELLINGTON/amministrazione -U prova''.
154
155
L'assegnazione di nuovi utenti viene controllata dal valore che viene memorizzato all'interno dell'albero stesso, nello speciale dominio SMB3, che contiene solo due attributi, ''gidNumber'' e ''uidNumber'' che dichiarano rispettivamente il primo ''group-ID'' e ''user-ID'' disponibili (questi valori vengono solo incrementati, per cui gli ID non verranno riciclati se si cancella un utente).
156
157
Per modificare il valore di default, che su Debian è di 1000, si può usare un qualunque programma di accesso all'albero (come gq) per sovrascriverne i valori.
158
La configurazione delle interfacce di gestione via web
159
160
La prima interfaccia che si può utilizzare è LAM (LDAP Account Manager), che viene distribuita direttamente come pacchetto Debian con ldap-account-manager. La configurazione di default sta sotto /etc/ldap-account-manager/, e prevede un unico profilo di nome lam e password lam.
161
162
La configurazione di LDAP Account Manager si effettua interamente dalla interfaccia web, che è disponibile direttamente come:
163
{{{
164
http://localhost/lam
165
}}}
166
e si otterrà come schermata di login:
167
168
In genere la prima cosa da fare è creare un proprio profilo, per questo si deve usare utilizzare il link in alto a destra ''Configuration Login'' e collegarsi con il profilo e la password predefinita. Saranno così disponibili i due collegamenti ''Manage profiles'' e ''Configuration wizard''.
169
170
L'uso di ''Manage profiles'' consente di creare un nuovo profilo ed cambiare la password, e di cancellare il vecchio. E' sempre opportuno definire il proprio e cambiare la password master. Inoltre è opportuno pure rimuovere il profilo di default. Questo però causerà dei problemi al rientro nella schermata di login, che fa riferimento ad esso. Per questo conviene, una volta creato il poprio profile, modificare direttamente a mano la configurazione in ''/etc/ldap-account-manager/config.cfg'', mettendo le due righe:
171
{{{
172
# password to add/delete/rename configuration profiles
173
password: miapassword
174
175
# default profile, without ".conf"
176
default: mioprofilo
177
}}}
178
L'uso di Configuration wizard permette di creare la configurazione per l'accesso ai dati, i valori di default usati per le varie ou dei dati dell'albero sono diversi rispetto a quelli creati da ''smbldap-populate'' e dagli script di IDEALX, per cui occorrerà modificare i default.
179
180
Inoltre nel caso di ''smbldap-populate'' non esiste una unità operativa destinata ai domini, per cui questi vengono registrati direttamente sotto la base, e così dovranno essere specificati anche con LDAP Account Manager.