Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Server/Ftp"
Differenze tra le versioni 4 e 10 (in 6 versioni)
Versione 4 del 08/04/2007 17.33.28
Dimensione: 5456
Commento: inizita la revisione, va rivista un po' la pagina
Versione 10 del 27/04/2007 12.18.11
Dimensione: 9456
Commento: style
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
||<tablebgcolor="#f1f1ed" tablewidth="40%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">'''Indice'''[[BR]][[TableOfContents]] || ||<tablebgcolor="#f1f1ed" tablewidth="40%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">'''Indice'''[[BR]][[TableOfContents(1)]] ||
Linea 13: Linea 13:
Aprire un terminale e digitare: {{{
sudo apt-get -y install vsftpd.
}}}

L'opzione '''-y''' di '''apt-get''' non chiede la conferma per le azioni legate al processo di installazione del software. In questo modo viene installato il pacchetto ''vsftpd'' risolvendo automaticamente le dipendenze necessarie e avviando il server FTP con la configurazione predefinita.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">Il pacchetto ''vsftpd'' si trova nel repository [:Repository/Componenti#universe:universe], accertarsi di averlo abilitato, in caso consultare la pagina [:Repository#abilitare:Repository]. ||
È sufficiente installare il pacchetto ''vsftpd'' con il gestore di pacchetti preferito.

Da terminale basta digitare: {{{
sudo apt-get install vsftpd
}}}

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Per installare il pacchetto sopra citato è necessario abilitare il [:Repository:repository] '''Universe'''.'' ||

[[Anchor(avvio)]]
= Avvio, arresto del servizio =

Una volta installato il pacchetto ''vsftpd'', il servizio FTP viene avviato automaticamente.

Per fermare il servizio, da un terminale digitare: {{{
sudo /etc/init.d/vsftpd stop
}}}

Per avviare il servizio, una volta arrestato, da terminale digitare: {{{
sudo /etc/init.d/vsftpd start
}}}

Per riavviare (fermare e avviare) il servizio, da terminale digitare: {{{
sudo /etc/init.d/vsftpd restart
}}}
Linea 23: Linea 40:
Ora, consideriamo di doverci collegare al computer, con indirizzo IP '''192.168.1.2''', su cui è stato installato il server FTP. Per fare ciò, da un terminale, digitare: {{{ Ora, consideriamo di doverci collegare al computer, con indirizzo IP '''192.168.1.2''', su cui è stato installato il servizio FTP. Per fare ciò, da un terminale, digitare: {{{
Linea 27: Linea 44:
Viene visualizzato un messaggio ottiene una messaggio di richiesta di immissione delle credenziali di accesso del tipo: {{{ Viene visualizzato un messaggio di richiesta di immissione delle credenziali di accesso del tipo: {{{
Linea 70: Linea 87:
= ACL =

Il modo in cui il servizio FTP implementa le liste di controllo degli accessi (''Access Control List''), è attraverso l'uso di un file che contiene l'elenco degli utenti a cui l'accesso FTP è proibito. Questo file è il file `/etc/ftpusers`.

{{{
= Restringere l'accesso =

Il servizio FTP presenta alcuni problemi di sicurezza, tra cui l'invio delle password in chiaro. Per ovviare a questi, è possibile non consentire l'accesso via FTP a certi utenti "sensibili" del sistema, come l'utente '''root'''.

La configurazione di quali utenti escludere dal servizio FTP viene svolta attraverso il file `/etc/ftpusers`, il cui contenuto è simile a questo: {{{
Linea 91: Linea 108:
Pertanto se volete che l'utente di sistema '''marco''' non possa usare il servizio FTP dovete soltanto aggiungerlo nel file {{{/etc/ftpusers}}} e riavviare il servizio con il comando :

{{{
/etc/init.d/vsftpd restart
}}}
È bene mantenere questo elenco così com'è, aggiungendo altri utenti a cui non si vuole concedere l'utilizzo del servizio.

Per non consentire l'utilizzo del servizio all'utente '''mario''', basta semplicemente aggiungere in coda all'elenco presente nel file, il nome dell'utente, in questo caso '''mario'''. Una volta fatto questo, è necessario [#avvio riavviare il servizio].
Linea 99: Linea 114:
{{{
# Abilita/disabilita accesso anonimo
 anonymous_enable=YES
 ...
 ...
# Abilita/disabilita accesso agli user locali
 local_enable=YES
...
 ...
# Abilita/disabilita agli utente accesso in scrittura
 write_enable=YES
...
 ...
# Abitilità/disabilita la possibilità degli utenti anonimi di scaricare file
 # ha valore solo se write_enable è decomentato
 # Also, you will
 # obviously need to create a directory writable by the FTP user.
 # anon_upload_enable=YES
 ...
 ...
# Decomenta sei vuoi permettere agli utenti anonimi di creare nuove directory
 # anon_mkdir_write_enable=YES

 # Attiva i log su tutte le operazione di upload/download
 xferlog_enable=YES
 ...
 ...
Di seguito vengono presentati alcuni dei parametri che è possibile configurare per '''vsftpd''':

 * {{{
anonymous_enable=YES
}}} Abilita/disabilita l'accesso anonimo.

 * {{{
local_enable=YES
}}} Abilita/disabilita l'accesso agli utenti locali.

 * {{{
write_enable=YES
}}} Abilita/disabilita agli utenti l'accesso in scrittura.

 * {{{
anon_upload_enable=YES
}}} Abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se `write_enable` è impostata a vero.

 * {{{
anon_mkdir_write_enable=YES
}}} Abilita/disabilita la possibilità degli utenti anonimi di creare nuove directory.

 * {{{
xferlog_enable=YES
}}} Attiva i log su tutte le operazioni di scaricamento e caricamento file.

 * {{{
xferlog_file=/var/log/vsftpd.log
}}} Specifica il percorso per i file di log.

 * {{{
ftpd_banner=
}}} Imposta un messaggio di benvenuto visualizzato all'accesso al server FTP.

= Gestione di un server FTP =

Ci sono principalmente tre modi per configurare un server ftp, qui di seguito:

 0. '''[#ftp1 FTP anonimo]'''

 Sarà possibile accedere al server senza aver bisogno di un account registrato, qualsiasi utente sarà libero di eseguire upload, che verranno ovviamente controllati da alcune "regole" impostate dall'amministratore di sistema, che delimiteranno la grandezza degli upload, vietando in qualche caso anche alcuni tipi di file come giochi/film/musica piratati.
                         
 0. '''[#ftp2 FTP anonimo e controllato da password]'''

 Questo metodo darà la possibilità di accedere al server sia ad utenti anonimo che a quelli con un regolare account a cui sarà dato accesso ad alcune cartelle predefinite dall'amministratore, eccetto che per l'utente '''root''' che potrà vedere/modificare/cancellare tutte i file e/o le cartelle.
Linea 127: Linea 160:
 # Specificare il path dei log o lasciare quello di default
 # xferlog_file=/var/log/vsftpd.log
# Gli utenti contenuti nel file vsftp.chroot_list non avranno accesso
 # alla cartella superiore alla proprio home dir
 chroot_list_enable=YES
 chroot_list_file=/etc/vsftp.chroot_list
 # Nel file chroot_list mettere semplicemente il nome utente che deve essere limitato
}}}
 0. '''[#ftp3 FTP con utenti virtuali e il supporto di un database MySQL]'''

 Questo metodo abilita l'accesso al server solo per il gruppo di utenti che non ha un'autenticazione virtuale via shell nel sistema. Sarà richiesto l'uso di un database MySQL che conterrà tutte le informazioni riguardanti gli utenti.
[[Anchor(ftp1)]]
== FTP anonimo ==

Prima di creare un server con accesso anonimo, si dovrà aggiungere al sistema l'utente '''ftp''', con una sua directory home. Per farlo seguite questi comandi: {{{
useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload
}}}

Ci sono inoltre numerose variabili che possono essere aggiunte al server per poterlo configurare in ogni sua piccola parte, queste sono:

 * '''-e''' Accesso solo per gli utenti anonimi.
 * '''-B''' Avvia il server in modalità background.
 * '''-i''' Gli utenti anonimi non potranno effettuare uploads.
 * '''-M''' Permette agli utenti anonimi di creare cartelle.
 * '''-s''' I file degli utenti ftp non possono essere scaricati.
[[Anchor(ftp2)]]
== FTP anonimo e controllato da password ==

Per dare l'accesso al server sia ad utenti registrati sia ad anonimi, potete seguire questi semplici comandi:

 * '''-B ,-i ,M, -r, -s''' Stesse variabili descritte in precedenza.
 * '''-u <uid>''' Autorizza utenti con uno specifico ID(uid) ad accedere al server.
 * '''-V <Ip address>''' Solo specifici IP potranno accedere al server in modalità non-anonima.
[[Anchor(ftp3)]]
== FTP con utenti virtuali e il supporto di un database MySQL ==

Per creare un server con il supporto di un server che funga da storage di informazioni, potete utilizzare questa piccola guida:

 * Scaricate e installate '''User Manager for PureFTPd''' che potete trovare su http://machiel.generaal.net/index.php?subject=user_manager_pureftpd
  
 * Decomprimete il file e fate l'upload di tutto il suo contenuto nella cartella '''www''' del vostro server web, dopo di che via browser digitate: http://localhost/ftp/install.php

 * Seguite le informazioni a schermo che l'installer vi richiede

 * Copiate e salvate rge pureftpd-mysql.conf dentro la cartella di !PureFtpd User Manager

 * Fatto. Effettuate il login all'interfaccia web tramite browser su http://localhost/ftp

== Variabili aggiuntive ==

 * '''-c <num>''' Numero di client massimo abilitato ad effettuare l'accesso al server
 * '''-C <num>''' Numero massimo di connessioni per IP
 * '''-T <bandwitdh>''' Massima banda disponibile per ogni connessione
 * '''-n <MBytes>''' Numero massimo di MB disponibili per ogni utente
 * '''-m <Cpu Loading>''' Blocca gli upload da parte di utenti anonimi in caso che il caricamento della cpu superi il livello definito da questo comando.
Linea 143: Linea 217:
 CategoryServer CategoryServer

BR

Introduzione

FTP (File Transfer Protocol) è un protocollo standard per il trasferimento di file tra host all'interno di una rete. Solitamente prevede l'autenticazione degli utenti e una serie di comandi semplici per scaricare e caricare file da o per l'host desiderato.

Questa guida si occupa della configurazione del servizio FTP utilizzando il programma vsftpd (very secure FTP daemon), uno dei programmi maggiormente usati e sicuri per l'implementazione di questo servizio.

Installazione

È sufficiente installare il pacchetto vsftpd con il gestore di pacchetti preferito.

Da terminale basta digitare:

sudo apt-get install vsftpd

Immagine(Icone/Piccole/note.png,,center)

Per installare il pacchetto sopra citato è necessario abilitare il [:Repository:repository] Universe.

Anchor(avvio)

Avvio, arresto del servizio

Una volta installato il pacchetto vsftpd, il servizio FTP viene avviato automaticamente.

Per fermare il servizio, da un terminale digitare:

sudo /etc/init.d/vsftpd stop

Per avviare il servizio, una volta arrestato, da terminale digitare:

sudo /etc/init.d/vsftpd start

Per riavviare (fermare e avviare) il servizio, da terminale digitare:

sudo /etc/init.d/vsftpd restart

Prova del servizio

Ora, consideriamo di doverci collegare al computer, con indirizzo IP 192.168.1.2, su cui è stato installato il servizio FTP. Per fare ciò, da un terminale, digitare:

ftp 192.168.1.2

Viene visualizzato un messaggio di richiesta di immissione delle credenziali di accesso del tipo:

Connected to 192.168.1.2
Name (192.168.1.2):

Inserire come nome utente:

anonymous

e premere Invio.

Viene quindi chiesta la password. In questo caso basta premere Invio. L'utente anonymous non ha una password impostata.

A questo punto si accede come utente anonymous, ma ovviamente con possibilità limitate di esplorare le cartelle disponibili sul server e limitate possibilità di scaricamento e caricamento file. Gli utenti anonimi possono avere accesso soltanto alla cartella /home/ftp del server, nella quale, a seconda dei parametri di configurazione impostati, potranno soltanto leggere/scaricare, oppure anche scrivere/caricare.

Configurazione

Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli utenti del sistema, è necessario sul file di configurazione del servizio vsftpd /etc/vsftpd.conf.

Modificare la riga:

#local_enable=YES 

in:

local_enable= YES

Collegandosi al server con il comando:

ftp 192.168.1.2

gli utenti presenti all'interno di quella macchina potranno eseguire l'accesso inserendo il proprio nome utente e la propria password. Gli utenti del sistema avranno accesso al servizio FTP potendo esplorare tutte le cartelle del sistema.

Quando si abilita questa funzione è opportuno limitare l'accesso degli utenti registrati alla sola cartella /home/nomeutente ad essi già attribuita

Per fare questo è necessario modificare la riga:

#chroot_local_user=YES

in:

chroot_local_user=YES

Quindi, per esempio, l'utente mario avrà accesso alla sola cartella /home/mario.

Restringere l'accesso

Il servizio FTP presenta alcuni problemi di sicurezza, tra cui l'invio delle password in chiaro. Per ovviare a questi, è possibile non consentire l'accesso via FTP a certi utenti "sensibili" del sistema, come l'utente root.

La configurazione di quali utenti escludere dal servizio FTP viene svolta attraverso il file /etc/ftpusers, il cui contenuto è simile a questo:

# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).

root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody

È bene mantenere questo elenco così com'è, aggiungendo altri utenti a cui non si vuole concedere l'utilizzo del servizio.

Per non consentire l'utilizzo del servizio all'utente mario, basta semplicemente aggiungere in coda all'elenco presente nel file, il nome dell'utente, in questo caso mario. Una volta fatto questo, è necessario [#avvio riavviare il servizio].

Elenco dei parametri di vsftpd.conf

Di seguito vengono presentati alcuni dei parametri che è possibile configurare per vsftpd:

  • anonymous_enable=YES
    Abilita/disabilita l'accesso anonimo.
  • local_enable=YES
    Abilita/disabilita l'accesso agli utenti locali.
  • write_enable=YES
    Abilita/disabilita agli utenti l'accesso in scrittura.
  • anon_upload_enable=YES

    Abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se write_enable è impostata a vero.

  • anon_mkdir_write_enable=YES
    Abilita/disabilita la possibilità degli utenti anonimi di creare nuove directory.
  • xferlog_enable=YES
    Attiva i log su tutte le operazioni di scaricamento e caricamento file.
  • xferlog_file=/var/log/vsftpd.log
    Specifica il percorso per i file di log.
  • ftpd_banner=
    Imposta un messaggio di benvenuto visualizzato all'accesso al server FTP.

Gestione di un server FTP

Ci sono principalmente tre modi per configurare un server ftp, qui di seguito:

  1. [#ftp1 FTP anonimo] Sarà possibile accedere al server senza aver bisogno di un account registrato, qualsiasi utente sarà libero di eseguire upload, che verranno ovviamente controllati da alcune "regole" impostate dall'amministratore di sistema, che delimiteranno la grandezza degli upload, vietando in qualche caso anche alcuni tipi di file come giochi/film/musica piratati.

  2. [#ftp2 FTP anonimo e controllato da password]

    Questo metodo darà la possibilità di accedere al server sia ad utenti anonimo che a quelli con un regolare account a cui sarà dato accesso ad alcune cartelle predefinite dall'amministratore, eccetto che per l'utente root che potrà vedere/modificare/cancellare tutte i file e/o le cartelle.

  3. [#ftp3 FTP con utenti virtuali e il supporto di un database MySQL] Questo metodo abilita l'accesso al server solo per il gruppo di utenti che non ha un'autenticazione virtuale via shell nel sistema. Sarà richiesto l'uso di un database MySQL che conterrà tutte le informazioni riguardanti gli utenti.

Anchor(ftp1)

FTP anonimo

Prima di creare un server con accesso anonimo, si dovrà aggiungere al sistema l'utente ftp, con una sua directory home. Per farlo seguite questi comandi:

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

Ci sono inoltre numerose variabili che possono essere aggiunte al server per poterlo configurare in ogni sua piccola parte, queste sono:

  • -e Accesso solo per gli utenti anonimi.

  • -B Avvia il server in modalità background.

  • -i Gli utenti anonimi non potranno effettuare uploads.

  • -M Permette agli utenti anonimi di creare cartelle.

  • -s I file degli utenti ftp non possono essere scaricati.

Anchor(ftp2)

FTP anonimo e controllato da password

Per dare l'accesso al server sia ad utenti registrati sia ad anonimi, potete seguire questi semplici comandi:

  • -B ,-i ,M, -r, -s Stesse variabili descritte in precedenza.

  • -u <uid> Autorizza utenti con uno specifico ID(uid) ad accedere al server.

  • -V <Ip address> Solo specifici IP potranno accedere al server in modalità non-anonima.

Anchor(ftp3)

FTP con utenti virtuali e il supporto di un database MySQL

Per creare un server con il supporto di un server che funga da storage di informazioni, potete utilizzare questa piccola guida:

Variabili aggiuntive

  • -c <num> Numero di client massimo abilitato ad effettuare l'accesso al server

  • -C <num> Numero massimo di connessioni per IP

  • -T <bandwitdh> Massima banda disponibile per ogni connessione

  • -n <MBytes> Numero massimo di MB disponibili per ogni utente

  • -m <Cpu Loading> Blocca gli upload da parte di utenti anonimi in caso che il caricamento della cpu superi il livello definito da questo comando.

Ulteriori risorse


CategoryServer