Progetto

Generale

Profilo

OpenPrivacyHowTo » Cronologia » Versione 10

Simone Piccardi, 24-12-2010 12:29

1 8 Simone Piccardi
h1. Come installare OpenPrivacy
2 7 Amministratore Truelite
3 1 Amministratore Truelite
4
Le seguenti istruzioni sono obsolete, non verranno aggiornate, e fanno riferimento ad Debian Sarge; restano come _percorso manuale_ per l'installazione, dal Maggio 2006 infatti è disponibile un pacchetto Debian realizzato appositamente per automatizzare tutta la procedura. Si tenga presente però che il pacchetto è stato sviluppato per Debian Sarge e non è aggiornato né funziona sulle versioni successive.
5
6 8 Simone Piccardi
Infine l'uso dei due pacchetti truelite-fileserver e truelite-proxyserver (vedi http://labs.truelite.it/packages) permette di riottenere sostanzialmente le stesse funzionalità, i pacchetti sono aggiornati e funzionano su Etch (ma non su Sarge), inoltre dovrebbero essere in grado di funzionare anche su Ubuntu.
7 7 Amministratore Truelite
8
h2. Il sistema base
9
10 1 Amministratore Truelite
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:
11 8 Simone Piccardi
12 7 Amministratore Truelite
<pre>
13
dpkg --set-selections < listapacchetti.txt
14
apt-get dselect-upgrade
15 1 Amministratore Truelite
</pre>
16
17 8 Simone Piccardi
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 "OpenPrivacy":http://svn.truelite.it/truedoc/wiki/OpenPrivacy. L'unica eccezione è per le domande relative alla installazione del demone di LDAP (@slapd@).
18
19 7 Amministratore Truelite
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:
20 8 Simone Piccardi
21 1 Amministratore Truelite
<pre>
22 7 Amministratore Truelite
/dev/sda6       /      ext3    defaults,errors=remount-ro,acl 0     0      
23
</pre>
24 8 Simone Piccardi
25
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).
26
27
h2. La configurazione di LDAP
28 1 Amministratore Truelite
29 9 Simone Piccardi
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.
30 1 Amministratore Truelite
31 9 Simone Piccardi
La radice del database LDAP distribuita di default con "OpenPrivacy":http://svn.truelite.it/truedoc/wiki/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.
32 7 Amministratore Truelite
33 9 Simone Piccardi
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:
34
35 1 Amministratore Truelite
<pre>
36
BASE    dc=azienda, dc=local
37
URI     ldap://127.0.0.1/
38
</pre>
39
40 9 Simone Piccardi
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).
41
42 7 Amministratore Truelite
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:
43 9 Simone Piccardi
44 1 Amministratore Truelite
<pre>
45
zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > \
46
/etc/ldap/schema/samba.schema
47
</pre>
48 7 Amministratore Truelite
49 9 Simone Piccardi
Il secondo passo è utilizzare la configurazione distribuita con "OpenPrivacy":http://svn.truelite.it/truedoc/wiki/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.
50
51 1 Amministratore Truelite
Inoltre occorre modificare _/etc/default/slapd_ (la versione distribuita con "OpenPrivacy":http://svn.truelite.it/truedoc/wiki/OpenPrivacy contiene la modifica) per lanciare LDAP in ascolto solo su _localhost_, questo richiede l'inseremento della riga:
52 9 Simone Piccardi
53 1 Amministratore Truelite
<pre>
54
SLAPD_SERVICES="ldap://127.0.0.1"
55
</pre>
56 9 Simone Piccardi
57 1 Amministratore Truelite
ed il riavvio del server.
58
59 9 Simone Piccardi
h2. La configurazione di PAM e NSS per l'autenticazione Unix
60
61 10 Simone Piccardi
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.
62 1 Amministratore Truelite
63 9 Simone Piccardi
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:
64
65 1 Amministratore Truelite
<pre>
66
base dc=azienda,dc=local
67 7 Amministratore Truelite
</pre>
68
69 9 Simone Piccardi
per velocizzare l'accesso locale ai dati si può anche installare il demone @nscd@.
70 7 Amministratore Truelite
71 9 Simone Piccardi
Occorrerà poi modificare anche il file @/etc/nsswitch.conf@ per inserire la consultazione dei dati su LDAP, la versione distribuita con "OpenPrivacy":http://svn.truelite.it/truedoc/wiki/OpenPrivacy contiene le modifiche necessarie.
72 1 Amministratore Truelite
73 9 Simone Piccardi
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.
74 1 Amministratore Truelite
75 9 Simone Piccardi
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.
76
77
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:
78
79 7 Amministratore Truelite
<pre>
80
...
81 1 Amministratore Truelite
base dc=azienda,dc=local
82
...
83
rootbinddn cn=admin,dc=azienda,dc=local
84
</pre>
85
86 9 Simone Piccardi
h2. La configurazione di Samba
87
88
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:
89
90 7 Amministratore Truelite
<pre>
91 1 Amministratore Truelite
...
92
workgroup = OPENPRIVACY
93
...
94
ldap admin dn = cn=admin,dc=azienda,dc=local
95
ldap suffix = dc=azienda,dc=local
96
</pre>
97 9 Simone Piccardi
98 7 Amministratore Truelite
Per poter poi utilizzare l'accesso a LDAP è necessario istruire Samba riguardo la password dell'utente di amministrazione dello stesso, con:
99 9 Simone Piccardi
100 1 Amministratore Truelite
<pre>
101
smbpasswd -w password_segreta
102 7 Amministratore Truelite
</pre>
103 9 Simone Piccardi
104 7 Amministratore Truelite
(la password specificata sarà visibile sullo schermo).
105 1 Amministratore Truelite
106 9 Simone Piccardi
Fatto questo si può procedere a creare l'infrastruttura per Samba, per questo c'è uno script apposito distribuito con i file di "OpenPrivacy":http://svn.truelite.it/truedoc/wiki/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:
107
108 7 Amministratore Truelite
<pre>
109 1 Amministratore Truelite
./setsamba.sh 175 3
110
</pre>
111 9 Simone Piccardi
112 1 Amministratore Truelite
si imposta una durata delle password di 175 giorni ed uno storico di tre password.
113
114
La configurazione di base di "OpenPrivacy":http://svn.truelite.it/truedoc/wiki/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.
115 7 Amministratore Truelite
116 9 Simone Piccardi
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.
117 1 Amministratore Truelite
118 9 Simone Piccardi
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.
119 1 Amministratore Truelite
120 7 Amministratore Truelite
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.
121 1 Amministratore Truelite
122 7 Amministratore Truelite
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:
123 9 Simone Piccardi
124 1 Amministratore Truelite
<pre>
125
net getlocalsid
126
</pre>
127 9 Simone Piccardi
128 1 Amministratore Truelite
che darà luogo ad un risultato del tipo:
129 9 Simone Piccardi
130 1 Amministratore Truelite
<pre>
131
ellington:~# net getlocalsid
132
SID for domain ELLINGTON is: S-1-5-21-3844212382-3281708373-568733493
133
</pre>
134 9 Simone Piccardi
135
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:
136
137 7 Amministratore Truelite
<pre>
138
...
139
SID="S-1-5-21-3844212382-3281708373-568733493"
140 1 Amministratore Truelite
...
141
suffix="dc=azienda,dc=local"
142
...
143
defaultMaxPasswordAge="175"
144
...
145
userSmbHome="\\ELLINGTON\homes"
146
userProfile="\\ELLINGTON\profiles\%U"
147
mailDomain="azienda.local"
148
</pre>
149 9 Simone Piccardi
150
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@:
151
152 1 Amministratore Truelite
<pre>
153
ellington:~# smbldap-populate
154
Using workgroup name from sambaUnixIdPooldn (smbldap.conf): 
155
sambaDomainName=OPENPRIVACY
156
Using builtin directory structure
157
entry dc=azienda,dc=local already exist.
158
adding new entry: ou=Users,dc=azienda,dc=local
159
adding new entry: ou=Groups,dc=azienda,dc=local
160
adding new entry: ou=Computers,dc=azienda,dc=local
161
adding new entry: ou=Idmap,dc=azienda,dc=local
162
adding new entry: uid=Administrator,ou=Users,dc=azienda,dc=local
163
adding new entry: uid=nobody,ou=Users,dc=azienda,dc=local
164
adding new entry: cn=Domain Admins,ou=Groups,dc=azienda,dc=local
165
adding new entry: cn=Domain Users,ou=Groups,dc=azienda,dc=local
166
adding new entry: cn=Domain Guests,ou=Groups,dc=azienda,dc=local
167
adding new entry: cn=Domain Computers,ou=Groups,dc=azienda,dc=local
168
adding new entry: cn=Administrators,ou=Groups,dc=azienda,dc=local
169
adding new entry: cn=Print Operators,ou=Groups,dc=azienda,dc=local
170
adding new entry: cn=Backup Operators,ou=Groups,dc=azienda,dc=local
171
adding new entry: cn=Replicators,ou=Groups,dc=azienda,dc=local
172
</pre>
173 9 Simone Piccardi
174 1 Amministratore Truelite
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:
175 9 Simone Piccardi
176 1 Amministratore Truelite
<pre>
177
ellington:~# smbldap-passwd administrator
178
Changing password for administrator
179
New password :
180
Retype new password :
181
</pre>
182 9 Simone Piccardi
183 7 Amministratore Truelite
A questo punto si potranno inserire degli utenti con gli script di amministrazione; ad esempio si potrà creare un utente con:
184 9 Simone Piccardi
185 1 Amministratore Truelite
<pre>
186 7 Amministratore Truelite
smbldap-useradd -m -a prova
187 1 Amministratore Truelite
</pre>
188 9 Simone Piccardi
189 1 Amministratore Truelite
ed impostarne la password con:
190 9 Simone Piccardi
191 1 Amministratore Truelite
<pre>
192 7 Amministratore Truelite
smbldap-passwd prova
193 1 Amministratore Truelite
</pre>
194
195 9 Simone Piccardi
E si potrà verificare se il meccanismo funziona eseguendo un login sia Unix ssh prova@ellington che Windows @smbclient //ELLINGTON/amministrazione -U prova@.
196
197 1 Amministratore Truelite
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).
198 7 Amministratore Truelite
199 1 Amministratore Truelite
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.
200
201 9 Simone Piccardi
h2. La configurazione delle interfacce di gestione via web
202 1 Amministratore Truelite
203 9 Simone Piccardi
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.
204
205 1 Amministratore Truelite
La configurazione di LDAP Account Manager si effettua interamente dalla interfaccia web, che è disponibile direttamente come:
206 9 Simone Piccardi
207 1 Amministratore Truelite
<pre>
208
http://localhost/lam
209
</pre>
210 7 Amministratore Truelite
211 9 Simone Piccardi
e si otterrà la schermata di login.
212
213 1 Amministratore Truelite
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_.
214
215 10 Simone Piccardi
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:
216 9 Simone Piccardi
217 7 Amministratore Truelite
<pre>
218
# password to add/delete/rename configuration profiles
219 6 Amministratore Truelite
password: miapassword
220
221
# default profile, without ".conf"
222
default: mioprofilo
223
</pre>
224 7 Amministratore Truelite
225 9 Simone Piccardi
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.
226 1 Amministratore Truelite
227
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.
228 9 Simone Piccardi
229 1 Amministratore Truelite
NOTA:
230
231 9 Simone Piccardi
quando si usa @ldapsam:trusted = yes@ si deve avere cura che il gruppo primario dell'utente Administrator (o quello che si usa come amministratore di dominio) sia definito su LDAP, in genere il gruppo 0, creato di default da @smbldap-populate@, non lo è per cui occorre o cambiare o creare un gruppo con quel valore di GID su LDAP.