+
+ <div class="section" id="id8">
+ <h2><a class="toc-backref" href=
+ "#id126">11.1 Pacchetti</a></h2>
+
+ <p>Per installare il demone vero e propio si usi il
+ pacchetto <tt class="docutils literal">vsftpd</tt> , per
+ aver un client da cui fare qualche test:</p>
+
+ <ul class="simple">
+ <li><tt class="docutils literal">ftp</tt> (pacchetto da
+ installare) e' il solito client a riga di comando</li>
+
+ <li><tt class="docutils literal">gftp</tt> e' un client
+ grafico simile al classico <em>WSftp</em></li>
+
+ <li>Normalmente i file mananager com Konqueror possono
+ lavarorare come client FTP</li>
+ </ul>
+ </div>
+
+ <div class="section" id="sessioni-ftp">
+ <h2><a class="toc-backref" href=
+ "#id127">11.2 Sessioni ftp</a></h2>
+
+ <p>Per gestire una sessione ftp a riga di comando
+ potrebbero essere utili i seguenti comandi:</p>
+
+ <dl class="docutils">
+ <dt>ftp nome_host</dt>
+
+ <dd>stabilire la connessione all'host, poi verra' chiesta
+ la password dell'utente. Se avete sbagliato utente: user
+ .</dd>
+
+ <dt>help</dt>
+
+ <dd>Lista dei comandi disponibili</dd>
+
+ <dt>help [nome_comando]</dt>
+
+ <dd>Cosa fa quel comando</dd>
+
+ <dt>put</dt>
+
+ <dd>Per caricare un file</dd>
+
+ <dt>get</dt>
+
+ <dd>Per scaricare un file</dd>
+
+ <dt>ls</dt>
+
+ <dd>Lista dei file disponibili</dd>
+
+ <dt>cd</dt>
+
+ <dd>Spostarsi in un altra directory</dd>
+
+ <dt>lcd</dt>
+
+ <dd>Cambio directory in LOCALE</dd>
+
+ <dt>mput/mget</dt>
+
+ <dd>Per lavorare su file multipli</dd>
+
+ <dt>prompt</dt>
+
+ <dd>
+ <dl class="first last docutils">
+ <dt>Per uscire dalla modalita' interattiva</dt>
+
+ <dd>
+ <dl class="first last docutils">
+ <dt>(non vi chiede conferma di ogni singola
+ operazione</dt>
+
+ <dd>su ogni singolo file...)</dd>
+ </dl>
+ </dd>
+ </dl>
+ </dd>
+
+ <dt>binary</dt>
+
+ <dd>Entra in modalita' trasferimento binario</dd>
+
+ <dt>asii</dt>
+
+ <dd>Entra in modalita' trasferimento ascii</dd>
+
+ <dt>bye</dt>
+
+ <dd>Per chiudere la sessione</dd>
+ </dl>
+ </div>
+
+ <div class="section" id="configurazione-iniziale">
+ <h2><a class="toc-backref" href=
+ "#id128">11.3 Configurazione
+ iniziale</a></h2>
+
+ <p>Il demone di vsftpd e' immediatamente disponibile ma
+ solo in modalita' anonima (si pensi a uno scenario in cui
+ si vuole rendere disponibili dei files tramite FTP) e in
+ <em>sola lettura</em>. Per accedere al servizio si usi
+ quini come utente <tt class=
+ "docutils literal">anonymous</tt> (la passwords in genere
+ e' il propio indirizzo email), la cui <em>home</em>
+ directory sara' <tt class=
+ "docutils literal">/home/ftp/</tt>:</p>
+ <pre class="literal-block">
+zoo:~# ftp localhost
+Connected to localhost.localdomain.
+220 (vsFTPd 2.0.7)
+Name (localhost:root): anonymous
+331 Please specify the password.
+Password:
+230 Login successful.
+Remote system type is UNIX.
+Using binary mode to transfer files.
+ftp> ls
+200 PORT command successful. Consider using PASV.
+150 Here comes the directory listing.
+-rw-r--r-- 1 0 0 0 Feb 03 17:17 anoni
+226 Directory send OK.
+</pre>
+ </div>
+
+ <div class="section" id="abilitare-gli-utenti-locali">
+ <h2><a class="toc-backref" href=
+ "#id129">11.4 Abilitare gli utenti
+ locali</a></h2>
+
+ <p>Per poter modificare le impostazioni iniziali, ad
+ esempio per permettere l'accesso agli utenti del server, si
+ modifichera' il file <tt class=
+ "docutils literal">/etc/vsftpd.conf</tt>, a seguire le
+ impostazioni fondamentali ed altre interessanti per rendere
+ il server accessibile da utenti di sistema (autenticati
+ tramite la loro password, quindi con PAM) per il tipico
+ utilizzo di web designers che debbano pubblicare le loro
+ pagine web (e non si siano fatti convincere a usare
+ SFTP!):</p>
+ <pre class="literal-block">
+# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
+anonymous_enable=NO
+# Disabilitiamo l'utente anonimo, a meno che non si intenda usarlo!
+
+# Uncomment this to allow local users to log in.
+local_enable=YES
+# Accesso garantito agli utenti di sistema
+
+# Uncomment this to enable any form of FTP write command.
+write_enable=YES
+# Permettiamo agli utenti di caricare documenti nella loro home
+
+# You may fully customise the login banner string:
+ftpd_banner=Benvenuti al servizio ftp di pinco pallino (che sareste voi).
+</pre>
+
+ <p>Per abilitare i cambiamenti si proceda a riavviare il
+ server: <tt class="docutils literal">/etc/init.d/vsftpd
+ restart</tt> e si controlli il file di log <tt class=
+ "docutils literal">tail <span class="pre">-f</span>
+ /var/log/vsftpd.log</tt> per controllarne il funzionamento
+ (e anche <tt class="docutils literal">/var/log/syslog</tt>
+ nel caso non si riuscisse a far partire correttamente il
+ servizio.</p>
+
+ <p>NOTE: Se non riuscite ad ottenere un <em>directory
+ listing</em> (<tt class="docutils literal">ls</tt>)
+ ottenendo un errore <tt class="docutils literal">500
+ Illegal PORT command? FTP error</tt> abilitare la modalita'
+ passiva col comando ftp <tt class=
+ "docutils literal">passive</tt>.</p>
+ </div>
+
+ <div class="section" id="jail-chroot">
+ <h2><a class="toc-backref" href=
+ "#id130">11.5 Jail chroot</a></h2>
+
+ <p>Si puo' impedire all'utente di spostarsi arbitrariamente
+ per il file system del server, ad esempio per vedere il
+ contenuto della directory <tt class=
+ "docutils literal">/etc</tt>, confinandolo in una jail
+ chroot limitata alla sua home directory:</p>
+ <pre class="literal-block">
+# You may restrict local users to their home directories. See the FAQ for
+# the possible risks in this before using chroot_local_user or
+# chroot_list_enable below.
+chroot_local_user=YES
+</pre>
+
+ <p>Tipicamente un utente non dovrebbe interessarsi di cosa
+ sia disponibile sul server al difuori degli spazi a lui
+ assegnati, ad esempio per poter conoscere quali servizi
+ sono installati:</p>
+ <pre class="literal-block">
+Remote system type is UNIX.
+Using binary mode to transfer files.
+ftp> pwd
+257 "/"
+ftp> cd /etc/
+550 Failed to change directory.
+</pre>
+ </div>
+
+ <div class="section" id="permessi-sul-filesystem">
+ <h2><a class="toc-backref" href=
+ "#id131">11.6 Permessi sul
+ filesystem</a></h2>
+
+ <p>Come accennato precedentemente e' opportuno che i
+ filesystems sui quali un utente puo' scrivere o modificare
+ il contenuto non abbiano i privilegi di eseguibilita' e
+ suid, nel nonstro caso vsftpd lavora sull'intere <tt class=
+ "docutils literal">/home/</tt> directory quindi avremo in
+ <tt class="docutils literal">/etc/fstab</tt>:</p>
+ <pre class="literal-block">
+/dev/mapper/store-homes /home ext3 rw,nosuid,noexec 0 2
+</pre>
+ </div>
+
+ <div class="section" id="altre-opzioni">
+ <h2><a class="toc-backref" href=
+ "#id132">11.7 Altre opzioni</a></h2>
+
+ <dl class="docutils">
+ <dt>xferlog_enable=YES</dt>
+
+ <dd>Verra' tenuto un file di log <tt class=
+ "docutils literal">/var/log/vsftpd.log</tt> degli upload
+ e download sul server</dd>
+
+ <dt>hide_ids=YES</dt>
+
+ <dd>Nasconde le userid e groupid mascherandole con
+ <tt class="docutils literal">ftp</tt></dd>
+
+ <dt>anon_root=/home/ftp</dt>
+
+ <dd>Home directory dell'utente anonimo</dd>
+
+ <dt>write_enable=YES</dt>
+
+ <dd>Permette agli utenti di eseguire i comandi che
+ possono modificare il filesystem: STOR, DELE, RNFR, RNTO,
+ MKD, RMD, APPE e SITE</dd>
+
+ <dt>idle_session_timeout=600</dt>
+
+ <dd>Permette agli utenti di restare connessi piu' a
+ lungo, utile per i webdesigners che passano intere
+ giornate connessi al server</dd>
+ </dl>
+ </div>