samba-dc.html 24.5 KB
<?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> &gt; <a href="http://help.ubuntu-it.org/11.04/ubuntu/index.html">Ubuntu 11.04</a> &gt; <span class="breadcrumb-link"><a href="index.html">Guida a Ubuntu Server</a></span> &gt; <span class="breadcrumb-link"><a href="windows-networking.html">Reti Windows</a></span> &gt; <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>