+FTP Server
+===========
+
+Il File Transfer Protocol (FTP) (protocollo di trasferimento file), รจ un Protocollo per la trasmissione di dati tra host basato su TCP, in genere usato dagli autori di pagine web per *pubblicare* queste nei propio spazi web. Storicamente veniva usato, mediate l'utilizzo di utenti anonimi, come punto di scambio per materiali di diversi utenti tra loro sconosciuti (una directory dei materiali scaricabili e una dedicata agli *uploads* delgi utenti, poi riordinat dall'*ftpmaster*). Tuttora si mantiene la cosuetudine di renedere disponibile i materiali dei *mirrors* anche tramite FTP, probabilmente garantire l'accesso ai client piu' datati che non possono utilizzare tecnologie piu' recenti.
+
+Vsftp e' un server FTP con una forte inclinazione alla sicurezza: *Very Secure FTP Daemon*. Il protocollo FTP e' in chiaro (cioe' non criptato), sia per quanto riguarda il traffico ad esso associato che per il passaggio delle passwords degli utenti, facilmente sniffabili da chiunque abbia accesso alla rete. Naturalmente vsftp per quanto votato alla sicurezza non modifica queste caratteristiche del protocollo FTP.
+
+Se propio si deve mettere a disposizione un server FTP ai propi utenti si considerino almeno le segiuenti alternative:
+
+- Spingere gli utenti ad usare SFTP invece che FTP
+- Nel caso di webdesigners si consideri la possibilita' di offrire alternative come GIT, Subversion, Rsync o Webdav
+
+Nel caso non si possa evitare il server FTP:
+
+- Non dare agli utenti FTP una shell di sistema ( Concedere come shell ``ftp`` al posto di ``bash`` in ``/etc/passwd``)
+- Rendere il filesytem su cui scrive il demone FTP ``noexec`` e ``nosuid`` (vedi dopo)
+- Utilizzare un demone FTP come Vsftp
+
+Per maggiori informazioni sull'attitudine alla sicurezza del demone si veda: http://vsftpd.beasts.org/DESIGN
+
+Vsftp mette a disposizione le seguenti funzionalita':
+
+- Virtual IP configurations
+- Virtual users
+- Standalone or inetd operation
+- Powerful per-user configurability
+- Bandwidth throttling
+- Per-source-IP configurability
+- Per-source-IP limits
+- IPv6
+- Encryption support through SSL integration
+
+
+Pacchetti
+---------------
+
+Per installare il demone vero e propio si usi il pacchetto ``vsftpd`` , per aver un client da cui fare qualche test:
+
+- ``ftp`` (pacchetto da installare) e' il solito client a riga di comando
+- ``gftp`` e' un client grafico simile al classico *WSftp*
+- Normalmente i file mananager com Konqueror possono lavarorare come client FTP
+
+
+Sessioni ftp
+-------------
+
+Per gestire una sessione ftp a riga di comando potrebbero essere utili i seguenti comandi:
+
+ftp nome_host
+ stabilire la connessione all'host, poi verra' chiesta la password dell'utente. Se avete sbagliato utente: user .
+
+help
+ Lista dei comandi disponibili
+help [nome_comando]
+ Cosa fa quel comando
+put
+ Per caricare un file
+get
+ Per scaricare un file
+ls
+ Lista dei file disponibili
+cd
+ Spostarsi in un altra directory
+lcd
+ Cambio directory in LOCALE
+mput/mget
+ Per lavorare su file multipli
+prompt
+ Per uscire dalla modalita' interattiva
+ (non vi chiede conferma di ogni singola operazione
+ su ogni singolo file...)
+binary
+ Entra in modalita' trasferimento binario
+asii
+ Entra in modalita' trasferimento ascii
+bye
+ Per chiudere la sessione
+
+
+Configurazione iniziale
+------------------------
+
+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 *sola lettura*. Per accedere al servizio si usi quini come utente ``anonymous`` (la passwords in genere e' il propio indirizzo email), la cui *home* directory sara' ``/home/ftp/``::
+
+ 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.
+
+
+
+Abilitare gli utenti locali
+----------------------------
+
+
+Per poter modificare le impostazioni iniziali, ad esempio per permettere l'accesso agli utenti del server, si modifichera' il file ``/etc/vsftpd.conf``, 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!)::