1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title xmlns="">Samba come controller di dominio</title>
<link rel="stylesheet" href="../../libs/ubuntu-book.css" type="text/css" />
<link rel="home" href="index.html" title="Guida a Ubuntu Server" />
<link rel="up" href="windows-networking.html" title="Capitolo 17. Reti Windows" />
<link rel="prev" href="samba-fileprint-security.html" title="Sicurezza di un server di file e di stampa Samba" />
<link rel="next" href="samba-ad-integration.html" title="Integrare Samba con Active Directory" />
<link rel="copyright" href="legal.html" title="Riconoscimenti e licenza" />
</head>
<link href="http://help.ubuntu-it.org/favicon.ico" rel="shortcut icon" />
<body>
<div id="page-border-left-repeat">
<div id="page-border-right-repeat">
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8147493-2");
pageTracker._trackPageview();
} catch(err) {}</script>
<div id="page-border-top-repeat">
<div id="header">
<div id="header-navigation">
<ul>
<li>
<a href="http://www.ubuntu-it.org">Web</a>
</li>
<li>
<a href="http://wiki.ubuntu-it.org">Documentazione</a>
</li>
<li>
<a href="http://forum.ubuntu-it.org">Forum</a>
</li>
<li>
<a href="http://planet.ubuntu-it.org">Planet</a>
</li>
</ul>
</div>
<form action="http://help.ubuntu-it.org/11.04/ubuntu/search.php" id="cse-search-box">
<div>
<input type="text" name="s" size="28" title="search" />
<input type="submit" value="Cerca" title="search" />
</div>
</form>
</div>
</div>
<div>
<div id="bodyarea">
<div class="pagelocation"><a href="http://help.ubuntu-it.org/">Documentazione di Ubuntu</a> > <a href="http://help.ubuntu-it.org/11.04/ubuntu/index.html">Ubuntu 11.04</a> > <span class="breadcrumb-link"><a href="index.html">Guida a Ubuntu Server</a></span> > <span class="breadcrumb-link"><a href="windows-networking.html">Reti Windows</a></span> > <span class="breadcrumb-node">Samba come controller di dominio</span></div>
<div xmlns="http://www.w3.org/1999/xhtml" class="sect1" title="Samba come controller di dominio">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both"><a id="samba-dc"></a>Samba come controller di dominio</h2>
</div>
</div>
</div>
<p>Benché non possa funzionare come un controller di dominio primario (PDC) Active Directory, un server Samba può essere configurato per apparire come un controller di dominio in stile Windows NT4. Uno dei vantaggi di questa configurazione consiste nell'abilità di centralizzare le credenziali di utenti e computer, inoltre, Samba può utilizzare diversi backend per archiviare le informazioni.</p>
<div class="sect2" title="Controller di dominio primario (PDC)">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="samba-pdc-smbpasswd"></a>Controller di dominio primario (PDC)</h3>
</div>
</div>
</div>
<p>Questa sezione spiega come configurare Samba come controller di dominio primario (PDC) usando il backend predefinito «smbpasswd».</p>
<div class="procedure">
<ol class="procedure" type="1">
<li class="step" title="Passo 1">
<p>Per prima cosa, installare Samba e <span class="application"><strong>libpam-smbpass</strong></span> per sincronizzare gli account utente digitando quanto segue in un terminale:</p>
<pre class="screen">
<span class="command"><strong>sudo apt-get install samba libpam-smbpass</strong></span>
</pre>
</li>
<li class="step" title="Passo 2">
<p>Configurare Samba modificando il file <code class="filename">/etc/samba/smb.conf</code>. La variabile <span class="emphasis"><em>security</em></span> dovrebbe essere impostata a <span class="italic">user</span> e il <span class="emphasis"><em>workgroup</em></span> dovrebbe essere relativo alla propria organizzazione.</p>
<pre class="programlisting">
workgroup = ESEMPIO
...
security = user
</pre>
</li>
<li class="step" title="Passo 3">
<p>Nelle sezione <span class="quote">«<span class="quote">Domains</span>»</span> aggiungere o togliere il commento a quanto segue:</p>
<pre class="programlisting">
domain logons = yes
logon path = \\%N\%U\profile
logon drive = H:
logon home = \\%N\%U
logon script = logon.cmd
add machine script = sudo /usr/sbin/useradd -N -g machines -c Machine -d /var/lib/samba -s /bin/false %u
</pre>
<div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25">
<img alt="[Nota]" src="../../libs/admon/note.png" />
</td>
<th align="left"></th>
</tr>
<tr>
<td align="left" valign="top">
<p>Per non usare i profili <span class="emphasis"><em>roaming</em></span>, non togliere il commento alle opzioni <span class="emphasis"><em>logon home</em></span> e <span class="emphasis"><em>logon path</em></span>.</p>
</td>
</tr>
</table>
</div>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p><span class="emphasis"><em>domain logons</em></span>: fornisce il servizio netlogon facendo in modo che Samba si comporti come un controller di dominio.</p>
</li>
<li class="listitem">
<p><span class="emphasis"><em>logon path</em></span>: posiziona il profilo degli utenti Windows all'interno della loro directory home. È possibile anche configurare una condivisione <span class="emphasis"><em>[profiles]</em></span> posizionando tutti i profili all'interno di una sola directory.</p>
</li>
<li class="listitem">
<p><span class="emphasis"><em>logon drive</em></span>: specifica il percorso locale della directory home.</p>
</li>
<li class="listitem">
<p><span class="emphasis"><em>logon home</em></span>: specifica la posizione della directory home.</p>
</li>
<li class="listitem">
<p><span class="emphasis"><em>logon script</em></span>: determina quale script eseguire localmente una volta che un utente ha eseguito l'accesso. Lo script deve essere all'interno della condivisione <span class="emphasis"><em>[netlogon]</em></span>.</p>
</li>
<li class="listitem">
<p><span class="emphasis"><em>add machine script</em></span>: uno script che crea automaticamente lo <span class="emphasis"><em>Machine Trust Account</em></span> necessario per accedere al dominio.</p>
<p>In questo esempio il gruppo <span class="emphasis"><em>machines</em></span> deve essere creato usando l'utilità <span class="application"><strong>addgroup</strong></span>. Per maggiori informazioni, consultare <a class="xref" href="user-management.html#adding-deleting-users" title="Aggiungere e rimuovere utenti">la sezione chiamata «Aggiungere e rimuovere utenti»</a>.</p>
</li>
</ul>
</div>
</li>
<li class="step" title="Passo 4">
<p>Togliere il commento alla condivisione <span class="emphasis"><em>[homes]</em></span> per consentire la mappatura di <span class="italic">logon home</span>:</p>
<pre class="programlisting">
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
</pre>
</li>
<li class="step" title="Passo 5">
<p>Quando configurato come controller di dominio, è necessario configurare una condivisione <span class="emphasis"><em>[netlogon]</em></span>. Per abilitarla, togliere il commento a:</p>
<pre class="programlisting">
[netlogon]
comment = Network Logon Service
path = /srv/samba/netlogon
guest ok = yes
read only = yes
share modes = no
</pre>
<div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25">
<img alt="[Nota]" src="../../libs/admon/note.png" />
</td>
<th align="left"></th>
</tr>
<tr>
<td align="left" valign="top">
<p>Il percorso della condivisione predefinita di <span class="emphasis"><em>netlogon</em></span> è <code class="filename">/home/samba/netlogon</code>, ma in base allo «Filesystem Hierarchy Standard» (FHS), <a class="ulink" href="http://www.pathname.com/fhs/pub/fhs-2.3.html#SRVDATAFORSERVICESPROVIDEDBYSYSTEM" target="_top">/srv</a> è la corretta posizione i cui dovrebbero essere tenuti i file specifici dei siti forniti dal sistema.</p>
</td>
</tr>
</table>
</div>
</li>
<li class="step" title="Passo 6">
<p>Creare la directory <code class="filename">netlogon</code> e un file <code class="filename">logon.cmd</code> per ora vuoto:</p>
<pre class="screen">
<span class="command"><strong>sudo mkdir -p /srv/samba/netlogon</strong></span>
<span class="command"><strong>sudo touch /srv/samba/netlogon/logon.cmd</strong></span>
</pre>
<p>È possibile inserire qualsiasi comando di logon Windows in <code class="filename">logon.cmd</code> per personalizzare l'ambiente del client.</p>
</li>
<li class="step" title="Passo 7">
<p>
Restart Samba to enable the new domain controller:
</p>
<pre class="screen">
<span class="command"><strong>sudo restart smbd</strong></span>
<span class="command"><strong>sudo restart nmbd</strong></span>
</pre>
</li>
<li class="step" title="Passo 8">
<p>
Lastly, there are a few additional commands needed to setup the appropriate rights.
</p>
<p>Con l'utente <span class="emphasis"><em>root</em></span> disabilitato in modo predefinito, per poter inserire una workstation nel dominio, un gruppo di sistema deve essere mappato al gruppo Windows <span class="emphasis"><em>Domain Admins</em></span>. Usando l'utilità <span class="application"><strong>net</strong></span>, da un terminale digitare:</p>
<pre class="screen">
<span class="command"><strong>sudo net groupmap add ntgroup="Domain Admins" unixgroup=sysadmin rid=512 type=d</strong></span>
</pre>
<div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25">
<img alt="[Nota]" src="../../libs/admon/note.png" />
</td>
<th align="left"></th>
</tr>
<tr>
<td align="left" valign="top">
<p>Modificare <span class="italic">sysadmin</span> con un qualsiasi altro gruppo si voglia usare. Inoltre, l'utente usato per unirsi al dominio deve essere membro del gruppo <span class="emphasis"><em>sysadmin</em></span> oltre al gruppo <span class="emphasis"><em>admin</em></span>. Il gruppo <span class="emphasis"><em>admin</em></span> consente l'utilizzo di <span class="application"><strong>sudo</strong></span>.</p>
<p>
If the user does not have Samba credentials yet, you can add them with
the <span class="application"><strong>smbpasswd</strong></span> utility, change the <span class="emphasis"><em>sysadmin</em></span> username appropriately:
</p>
<pre class="screen">
<span class="command"><strong>sudo smbpasswd -a sysadmin</strong></span>
</pre>
<p>
</p>
</td>
</tr>
</table>
</div>
<p>Inoltre, è necessario fornire i diritti al gruppo <span class="emphasis"><em>Domain Admins</em></span> per consentire ad <span class="emphasis"><em>add machine script</em></span> (e altre funzioni di amministrazione) di funzionare. Per fare ciò:</p>
<pre class="screen">
<span class="command"><strong>net rpc rights grant -U sysadmin "EXAMPLE\Domain Admins" SeMachineAccountPrivilege \
SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege SeRemoteShutdownPrivilege</strong></span>
</pre>
</li>
<li class="step" title="Passo 9">
<p>Dovrebbe ora essere possibile unire i client Windows al dominio come in un dominio NT4 in esecuzione su un server Windows.</p>
</li>
</ol>
</div>
</div>
<div class="sect2" title="Controller di dominio di backup">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="samba-bdc-smbpasswd"></a>Controller di dominio di backup</h3>
</div>
</div>
</div>
<p>Con la presenza di un controller di dominio primario (PDC) all'interno delle rete è utile avere anche un controller di dominio di backup (BDC). In questo modo i client potranno autenticarsi anche nel caso in cui il PDC non sia più disponibile.</p>
<p>Quando si configura Samba come BDC, è necessario avere un metodo di sincronizzazione delle informazioni sugli account con il PDC. A questo scopo è possibile usare <span class="application"><strong>scp</strong></span>, <span class="application"><strong>rsync</strong></span> oppure <span class="application"><strong>LDAP</strong></span> come backend <span class="emphasis"><em>passdb</em></span>.</p>
<p>Il metodo migliore per sincronizzare le informazioni sugli account consiste nell'usare LDAP, poiché entrambi i controller di dominio possono usare le stesse informazioni in tempo reale. Configurare un server LDAP potrebbe essere troppo complicato per un esiguo numero di utenti e computer. Per maggiori informazioni, consultare <a class="xref" href="samba-ldap.html" title="Samba e LDAP">la sezione chiamata «Samba e LDAP»</a>.</p>
<div class="procedure">
<ol class="procedure" type="1">
<li class="step" title="Passo 1">
<p>Installare <span class="application"><strong>samba</strong></span> e <span class="application"><strong>libpam-smbpass</strong></span>. Da un terminale digitare:</p>
<pre class="screen">
<span class="command"><strong>sudo apt-get install samba libpam-smbpass</strong></span>
</pre>
</li>
<li class="step" title="Passo 2">
<p>Modificare il file <code class="filename">/etc/samba/smb.conf</code> e togliere il commento a quanto segue nella sezione <span class="emphasis"><em>[global]</em></span>:</p>
<pre class="programlisting">
workgroup = ESEMPIO
...
security = user
</pre>
</li>
<li class="step" title="Passo 3">
<p>Nella sezione <span class="emphasis"><em>Domains</em></span> togliere il commento o aggiungere quanto segue:</p>
<pre class="programlisting">
domain logons = yes
domain master = no
</pre>
</li>
<li class="step" title="Passo 4">
<p>Assicurarsi che un utente abbia i permessi di lettura sui file in <code class="filename">/var/lib/samba</code>. Per esempio, per consentire agli utenti del gruppo <span class="emphasis"><em>admin</em></span> di eseguire <span class="application"><strong>scp</strong></span> sui file, digitare:</p>
<pre class="screen">
<span class="command"><strong>sudo chgrp -R admin /var/lib/samba</strong></span>
</pre>
</li>
<li class="step" title="Passo 5">
<p>Sincronizzare gli account utente usando <span class="application"><strong>scp</strong></span> per copiare la directory <code class="filename">/var/lib/samba</code> dal PDC:</p>
<pre class="screen">
<span class="command"><strong>sudo scp -r NOME_UTENTE@PDC:/var/lib/samba /var/lib</strong></span>
</pre>
<div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;">
<table border="0" summary="Note">
<tr>
<td rowspan="2" align="center" valign="top" width="25">
<img alt="[Nota]" src="../../libs/admon/note.png" />
</td>
<th align="left"></th>
</tr>
<tr>
<td align="left" valign="top">
<p>Sostituire <span class="emphasis"><em>NOME_UTENTE</em></span> con un nome utente valido e <span class="emphasis"><em>PDC</em></span> con il nome host o l'indirizzo IP del controller di dominio primario.</p>
</td>
</tr>
</table>
</div>
</li>
<li class="step" title="Passo 6">
<p>Riavviare <span class="application"><strong>samba</strong></span>:</p>
<pre class="screen">
<span class="command"><strong>sudo restart smbd</strong></span>
<span class="command"><strong>sudo restart nmbd</strong></span>
</pre>
</li>
</ol>
</div>
<p>È possibile verificare se il controller di dominio di backup è funzionante fermando il demone Samba sul PDC e quindi cercando di eseguire l'accesso su un client Windows all'interno del dominio.</p>
<p>È utile ricordare anche che se è stata configurata l'opzione <span class="emphasis"><em>logon home</em></span> come directory sul PDC e quest'ultimo non è più disponibile, anche l'accesso al drive <span class="emphasis"><em>home</em></span> degli utenti non lo sarà. Per questo motivo è utile configurare <span class="emphasis"><em>logon home</em></span> affinché sia posizionato in un server di file separato da PDC e BDC.</p>
</div>
<div class="sect2" title="Risorse">
<div class="titlepage">
<div>
<div>
<h3 class="title"><a id="samba-dc-resources"></a>Risorse</h3>
</div>
</div>
</div>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>Per delle configurazioni più dettagliate riguardo Samba, consultare <a class="ulink" href="http://samba.org/samba/docs/man/Samba-HOWTO-Collection/" target="_top">Samba HOWTO Collection</a></p>
</li>
<li class="listitem">
<p>La guida è disponibile anche in <a class="ulink" href="http://www.amazon.com/exec/obidos/tg/detail/-/0131882228" target="_top">formato cartaceo</a>.</p>
</li>
<li class="listitem">
<p>Il libro <a class="ulink" href="http://www.oreilly.com/catalog/9780596007690/" target="_top">Using Samba</a> di O'Reilly è un'altra buona lettura.</p>
</li>
<li class="listitem">
<p>Il <a class="ulink" href="http://samba.org/samba/docs/man/Samba-HOWTO-Collection/samba-pdc.html" target="_top">capitolo 4</a> della «Samba HOWTO Collection» spiega come configurare un controller di dominio primario.</p>
</li>
<li class="listitem">
<p>Il <a class="ulink" href="http://us3.samba.org/samba/docs/man/Samba-HOWTO-Collection/samba-bdc.html" target="_top">capitolo 5</a> della «Samba HOWTO Collection» spiega come configurare un controller di dominio di backup.</p>
</li>
<li class="listitem">
<p>La pagina <a class="ulink" href="https://help.ubuntu.com/community/Samba" target="_top">su Samba</a> della documentazione.</p>
</li>
</ul>
</div>
</div>
</div>
<div xmlns="http://www.w3.org/1999/xhtml" class="navfooter">
<hr />
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"><a accesskey="p" href="samba-fileprint-security.html"><img src="../../libs/navig/prev.png" alt="Indietro" /></a> </td>
<td width="20%" align="center">
<a accesskey="u" href="windows-networking.html">
<img src="../../libs/navig/up.png" alt="Risali" />
</a>
</td>
<td width="40%" align="right"> <a accesskey="n" href="samba-ad-integration.html"><img src="../../libs/navig/next.png" alt="Avanti" /></a></td>
</tr>
<tr>
<td width="40%" align="left" valign="top">Sicurezza di un server di file e di stampa Samba </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">
<img src="../../libs/navig/home.png" alt="Partenza" />
</a>
</td>
<td width="40%" align="right" valign="top"> Integrare Samba con Active Directory</td>
</tr>
</table>
</div>
</div>
</div>
<div id="page-border-bottom-repeat">
<div id="footer">
<div id="copyright">
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.
</div>
</div>
</div>
<div id="page-border-right-top"></div>
<div id="page-border-right-bottom"></div>
</div>
<div id="page-border-left-top"></div>
<div id="page-border-left-bottom"></div>
</div>
<p></p>
</body>
</html>