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 25 e 40 (in 15 versioni)
Versione 25 del 26/06/2007 21.04.47
Dimensione: 11629
Commento: Ho aggiunto il paragrafo "aggiungere utenti con password"
Versione 40 del 14/12/2022 16.49.40
Dimensione: 9825
Autore: gnomefanatic
Commento: Revisione e aggiunta risorsa
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:

[[BR]]
||<tablebgcolor="#f1f1ed" tablewidth="40%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">'''Indice''' [[BR]] [[TableOfContents(1)]] ||
<<BR>>
<<Indice(depth=2)>>
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=80220&p";)>>
Linea 15: Linea 15:
È necessario installare il pacchetto ''vsftpd'', reperibile dal repository [:Repository:Universe], con uno fra [:SynapticHowto:Synaptic:], [:AdeptHowTo:Adept] e [:Apt:apt-get].

Per installare il pacchetto da terminale, è sufficiente digitare il seguente comando: {{{
sudo apt-get install vsftpd
}}}

[[Anchor(avvio)]]
È necessario [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto ''vsftpd'', reperibile dal [[Repository/Componenti|componente]] '''universe'''.

<<Anchor(avvio)>>
Linea 60: Linea 56:
Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli stessi del sistema, è necessario modificare il file di configurazione del servizio {{{/etc/vsftpd.conf}}} con uno degli [:EditorDiTesto:editor di testo] messi a disposizione da Ubuntu. Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli stessi del sistema, è necessario modificare il file di configurazione del servizio {{{/etc/vsftpd.conf}}} con uno degli [[Ufficio/EditorDiTesto|editor di testo]] messi a disposizione da Ubuntu.
Linea 84: Linea 80:
Per far ciò è utile modificare il file {{{/etc/ftpusers}}}, il quale contiene la lista degli utenti ai quali non è consentito accedere al servizio. Il seguente è del contenuto di default del file {{{/etc/ftpusers}}}: {{{ Per fare ciò è utile modificare il file {{{/etc/ftpusers}}}, il quale contiene la lista degli utenti ai quali non è consentito accedere al servizio. Quello riportato qui di seguito è il contenuto di default del file {{{/etc/ftpusers}}}: {{{
Linea 101: Linea 97:
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''È consigliato aggiungere gli utenti all'elenco senza cancellare quelli pre-esistenti.''' ||

Per non consentire l'utilizzo del servizio all'utente '''mario''', è sufficiente aggiungere il nome dell'utente in coda all'elenco, in questo caso '''mario'''. Effettuate le modifiche, è necessario [#avvio riavviare il servizio].
{{{#!wiki important
È consigliato aggiungere gli utenti all'elenco senza cancellare quelli pre-esistenti.}}}

Per non consentire l'utilizzo del servizio all'utente '''mario''', è sufficiente aggiungere il nome dell'utente in coda all'elenco, in questo caso '''mario'''. Per effettuare le modifiche, è necessario [[#avvio|riavviare il servizio]].
Linea 123: Linea 120:
}}} Abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se l'opzione precedente è impostata a vero. }}} Abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se l'opzione precedente è impostata su vero.
Linea 135: Linea 132:
}}} Specifica il percorso per i [:LogDiSistema:file di log].  }}} Specifica il percorso per i [[AmministrazioneSistema/LogDiSistema|file di log]].
Linea 143: Linea 140:
Ci sono principalmente tre modi per configurare un server ftp:

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

 Sarà possibile accedere al server senza aver bisogno di un account registrato; tutti gli utenti saranno liberi di eseguire upload, che verranno ovviamente controllati da alcune regole impostate dall'amministratore di sistema (limite di dimensione, controllo anti-pirateria, etc).
Ci sono principalmente tre modi per configurare un server FTP:
 0. '''[[#ftp1|FTP anonimo]]'''

 Sarà possibile accedere al server senza aver bisogno di un account registrato; tutti gli utenti saranno liberi di eseguire upload, che verranno ovviamente controllati da alcune regole impostate dall'amministratore di sistema (limite di dimensione, controllo anti-pirateria, ecc.).
Linea 149: Linea 145:
 0. '''[#ftp2 FTP anonimo e controllato da password]'''

 Questo metodo darà la possibilità di accedere al server sia ad utenti anonimi 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.
 0. '''[[#ftp2|FTP anonimo e controllato da password]]'''

 Questo metodo darà la possibilità di accedere al server sia a utenti anonimi 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 153: Linea 149:
 0. '''[#ftp3 Aggiungere utenti con password]'''

 Qui sarà spiegato come aggiungere degli utenti al sistema specificandone la password e la cartella home, quella che verrà aperta al collegamento con il server ftp.

 0. '''[#ftp4 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 [:Server/MySql:MySql] che conterrà tutte le informazioni riguardanti gli utenti.

[[Anchor(ftp1)]]
 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 [[Server/MySql|MySql]] che conterrà tutte le informazioni riguardanti gli utenti.

<<Anchor(ftp1)>>
Linea 173: Linea 165:
 * '''-i''' Gli utenti anonimi non potranno effettuare caricare i file.  * '''-i''' Gli utenti anonimi non potranno caricare file.
Linea 177: Linea 169:
[[Anchor(ftp2)]] <<Anchor(ftp2)>>
Linea 186: Linea 178:
[[Anchor(ftp3)]]
== Aggiungere utenti con password ==

Se si volessero aggiungere degli utenti per il server ftp si dovrebbero creare degli utenti del sistema. Prima di iniziare a crearli bisognerà pensare a quale cartella sarà la home dell'utente, ovvero quella a cui accederà collegandosi al server.[[BR]]
Per creare la cartella home aggiungere, al comando ''useradd'', ''-d'' seguito dal percorso della cartella, a cui aggiungiamo il parametro ''-m'' il quale creerà la cartella se questa non esistesse.[[BR]]
Esempio:
{{{
sudo useradd -d /home/mario -m mario
}}}
Digitando il comando precedente verrà creato un utente che disporrà della cartella /home/mario.[[BR]]
Adesso possiamo impostare la password per questo nuovo utente.
{{{
sudo passwd mario
}}}
Successivamente verrà chiesto di inserire la passwd per il root e poi la nuova password per l'utente ed infine una conferma della precedente.[[BR]]
Dopo aver seguito questa procedura sarà possibile connettersi al server ftp con i nuovi dati.
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Grandi/info.png,,center)]] ||<style="padding:0.5em; border:none;">''Se si avesse scelto di disattivare l'accesso anonimo potrebbe diventare necessario connettersi al server ftp digitando: `ftp://utente@server`, al posto di `server` mettere l'indirizzo del server, al posto di `utente` il nome dell'utente con il quale si vuole connettersi.'' ||

[[Anchor(ftp4)]]
<<Anchor(ftp3)>>
Linea 207: Linea 181:
Per creare un server che affidi a '''My``SQL''' la gestione degli utenti, è possibile utilizzare procedere come segue: Per creare un server che affidi a '''My``SQL''' la gestione degli utenti, è possibile procedere come segue:
Linea 213: Linea 187:
 * Scaricare '''User Manager for PureFTPd''' da [http://machiel.generaal.net/index.php?subject=user_manager_pureftpd questo] indirizzo.

 * Decomprimere il pacchetto e caricare il contenuto nella directory principale del server web, dunque aprire, con il proprio browser, [http://localhost/ftp/install.php questo] indirizzo.
 * Scaricare '''User Manager for PureFTPd''' da [[http://machiel.generaal.net/index.php?subject=user_manager_pureftpd|questo]] indirizzo.

 * Decomprimere il pacchetto e caricare il contenuto nella directory principale del server web, dunque aprire, con il proprio browser, [[http://localhost/ftp/install.php|questo]] indirizzo.
Linea 221: Linea 195:
 * Salvare la configurazione e chiudere. Per effettuare l'accesso tramite l'interfaccia web è sufficiente aprire [http://localhost/ftp questo] indirizzo con il proprio browser.  * Salvare la configurazione e chiudere. Per effettuare l'accesso tramite l'interfaccia web è sufficiente aprire [[http://localhost/ftp|questo]] indirizzo con il proprio browser.
Linea 225: Linea 199:
 * '''-c <num>''' Numero di client massimo abilitato ad effettuare l'accesso al server. Esempio: {{{pure-ftpd -c 3
}}}
 * '''-C <num>''' Numero massimo di connessioni per IP. '''Esempio:''' {{{ pure-ftpd -C 3
}}}
 * '''-T <bandwitdh>''' Massima banda disponibile per ogni connessione (in kb/s). '''Esempio:''' {{{pure-ftpd -T 150
}}}
 * '''-n <MBytes>''' Numero massimo di Mb disponibili per ogni utente. '''Esempio:''' {{{pure-ftpd -n 200
}}}
 * '''-m <Cpu Loading>''' Blocca gli upload da parte di utenti anonimi nel caso che il caricamento della CPU superi il livello definito in termini di percentuale. Esempio: {{{pure-ftpd -m 50
 * '''-c <num>''' Numero di client massimo abilitato a effettuare l'accesso al server. Esempio: {{{
pure-ftpd -c 3
}}}
 * '''-C <num>''' Numero massimo di connessioni per IP. '''Esempio:''' {{{
pure-ftpd -C 3
}}}
 * '''-T <bandwitdh>''' Massima banda disponibile per ogni connessione (in kb/s). '''Esempio:''' {{{
pure-ftpd -T 150
}}}
 * '''-n <MBytes>''' Numero massimo di Mb disponibili per ogni utente. '''Esempio:''' {{{
pure-ftpd -n 200
}}}
 * '''-m <Cpu Loading>''' Blocca gli upload da parte di utenti anonimi nel caso in cui il caricamento della CPU superi il livello definito in termini di percentuale. Esempio: {{{
pure-ftpd -m 50
Linea 238: Linea 217:
 * [http://vsftpd.beasts.org/ Sito ufficiale di vsftpd]

 * [http://vsftpd.beasts.org/vsftpd_conf.html Guida alla configurazione di vsftpd]
 * [[http://vsftpd.beasts.org/|Sito ufficiale di vsftpd]]

 * [[http://vsftpd.beasts.org/vsftpd_conf.html|Guida alla configurazione di vsftpd]]
 * [[https://www.ionos.it/digitalguide/server/configurazione/server-ftp-su-ubuntu-installazione-e-configurazione/|Guida alla configurazione del server FTP su Ubuntu]]
Linea 243: Linea 223:
CategoryServer CategoryServer CategoryDaRevisionare


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

FTP (File Transfer Protocol) è uno dei protocolli maggiormente usati per il trasferimento dei file. Solitamente prevede l'autenticazione degli utenti e una serie di comandi semplici per scaricare e caricare file.

Questa guida si occupa della configurazione del servizio FTP utilizzando il programma vsftpd (acronimo di Very Secure FTP Daemon), uno dei programmi più usati e sicuri per l'implementazione di questo servizio.

Installazione

È necessario installare il pacchetto vsftpd, reperibile dal componente universe.

Avvio e arresto del servizio

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

Per fermare il servizio digitare il seguente comando:

sudo /etc/init.d/vsftpd stop

Per avviare il servizio, una volta arrestato, digitare il seguente comando:

sudo /etc/init.d/vsftpd start

Per riavviare il servizio è utile digitare il seguente comando:

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 simile al seguente:

Connected to 192.168.1.2
Name (192.168.1.2):

Inserire come nome utente:

anonymous

e premere «Invio».

Viene dunque richiesta la password. In questo caso è sufficiente premere «Invio». Generalmente, per l'utente anonymous non viene impostata alcuna password.

Una volta effettuato l'accesso sarà possibile esplorare le cartelle disponibili sul server, dunque caricare e scaricare i file, limitatamente ai permessi impostati per il proprio utente. 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 stessi del sistema, è necessario modificare il file di configurazione del servizio /etc/vsftpd.conf con uno degli editor di testo messi a disposizione da Ubuntu.

Aprire una finestra di terminale e digitare il seguente comando:

sudo gedit /etc/vsftpd.conf

Cercare la seguente riga e cancellare il carattere di cancelletto «#» presente all'inizio della stessa:

#local_enable=YES 

Ora è possibile tentare di collegarsi al server con il comando descritto in precedenza ed effettuare l'accesso utilizzando uno degli account utente presenti sul sistema locale. Gli utenti del sistema avranno accesso al servizio FTP potendo esplorare tutte le cartelle del sistema.

Applicando le impostazioni sopra discusse, gli utenti del sistema avranno accesso, tramite il servizio FTP, a tutte le cartelle del filesystem locale. Per evitare ciò è opportuno limitare l'accesso degli utenti solamente alla propria cartella Home.

A tale scopo è utile decommentare la seguente riga:

#chroot_local_user=YES

Limitare l'accesso

Per rafforzare la sicurezza, è possibile scegliere gli utenti ai quali vietare l'accesso al servizio FTP.

Per fare ciò è utile modificare il file /etc/ftpusers, il quale contiene la lista degli utenti ai quali non è consentito accedere al servizio. Quello riportato qui di seguito è il contenuto di default del file /etc/ftpusers:

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

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

È consigliato aggiungere gli utenti all'elenco senza cancellare quelli pre-esistenti.

Per non consentire l'utilizzo del servizio all'utente mario, è sufficiente aggiungere il nome dell'utente in coda all'elenco, in questo caso mario. Per effettuare le modifiche, è necessario 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 l'opzione precedente è impostata su 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:

  1. FTP anonimo Sarà possibile accedere al server senza aver bisogno di un account registrato; tutti gli utenti saranno liberi di eseguire upload, che verranno ovviamente controllati da alcune regole impostate dall'amministratore di sistema (limite di dimensione, controllo anti-pirateria, ecc.).

  2. FTP anonimo e controllato da password

    Questo metodo darà la possibilità di accedere al server sia a utenti anonimi 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. 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.

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 opzioni con le quali avviare il server, in modo da configurarne ogni singolo aspetto. Alcune di queste opzioni sono le seguenti:

  • -e Accesso solo per gli utenti anonimi.

  • -B Avvia il server in modalità background.

  • -i Gli utenti anonimi non potranno caricare file.

  • -M Permette agli utenti anonimi di creare cartelle.

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

FTP anonimo e controllato da password

Per consentire l'accesso al server a tutti gli utenti (registrati e anonimi), è possibile 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.

FTP con utenti virtuali e il supporto di un database MySQL

Per creare un server che affidi a MySQL la gestione degli utenti, è possibile procedere come segue:

  • Aprire una finestra di terminale e digitare il seguente comando:

    sudo apt-get install pure-ftpd
  • Scaricare User Manager for PureFTPd da questo indirizzo.

  • Decomprimere il pacchetto e caricare il contenuto nella directory principale del server web, dunque aprire, con il proprio browser, questo indirizzo.

  • Seguire le indicazioni a schermo.
  • Copiare pureftpd-mysql.conf nella cartella di User Manager for PureFTPd.

  • Salvare la configurazione e chiudere. Per effettuare l'accesso tramite l'interfaccia web è sufficiente aprire questo indirizzo con il proprio browser.

Opzioni varie

  • -c <num> Numero di client massimo abilitato a effettuare l'accesso al server. Esempio:

    pure-ftpd -c 3
  • -C <num> Numero massimo di connessioni per IP. Esempio:

    pure-ftpd -C 3 
  • -T <bandwitdh> Massima banda disponibile per ogni connessione (in kb/s). Esempio:

    pure-ftpd -T 150
  • -n <MBytes> Numero massimo di Mb disponibili per ogni utente. Esempio:

    pure-ftpd -n 200
  • -m <Cpu Loading> Blocca gli upload da parte di utenti anonimi nel caso in cui il caricamento della CPU superi il livello definito in termini di percentuale. Esempio:

    pure-ftpd -m 50

Ulteriori risorse


CategoryServer CategoryDaRevisionare