Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "leuci-giulio/revisioneFTP"
Differenze tra le versioni 1 e 4 (in 3 versioni)
Versione 1 del 26/06/2016 12.56.46
Dimensione: 9700
Autore: leuci-giulio
Commento:
Versione 4 del 26/06/2016 13.28.29
Dimensione: 9234
Autore: leuci-giulio
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 22: Linea 22:
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: {{{ Collegarsi al computer con, come esempio, indirizzo IP '''192.168.1.2''' su cui è stato installato il servizio FTP. Per fare ciò, digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] i seguenti comandi:{{{
Linea 26: Linea 26:
Viene visualizzato un messaggio di richiesta di immissione delle credenziali di accesso simile al seguente: {{{ Verrà visualizzato un messaggio di richiesta di immissione delle credenziali di accesso simile al seguente: {{{
Linea 34: Linea 34:
e premere «'''Invio'''». e premere '''Invio'''.
Linea 36: Linea 36:
Viene dunque richiesta la password. In questo caso è sufficiente premere «'''Invio'''». Generalmente, per l'utente '''anonymous''' non viene impostata alcuna password. Viene dunque richiesta la password, in questo caso è sufficiente premere '''Invio'''. Generalmente, per l'utente '''anonymous''' non viene impostata alcuna password.
Linea 42: Linea 42:
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.

Aprire una finestra di terminale e digitare il seguente comando:
{{{
sudo gedit /etc/vsftpd.conf
}}}
Per configurare un server FTP in cui gli utenti abilitati ad accedere siano gli stessi del sistema, è necessario modificare con i privilegi di amministratore il file di configurazione `/etc/vsftpd.conf` con uno degli [[Ufficio/EditorDiTesto|editor di testo]] messi a disposizione da Ubuntu.
Linea 53: Linea 48:
 * {{{
anonymous_enable=YES
}}}
Abilita/disabilita l'accesso anonimo.
 * `anonymous_enable=YES`: abilita/disabilita l'accesso anonimo.
Linea 57: Linea 50:
 * {{{
local_enable=YES
}}}
Abilita/disabilita l'accesso agli utenti locali.
 * `local_enable=YES`: abilita/disabilita l'accesso agli utenti locali.
Linea 61: Linea 52:
 * {{{
write_enable=YES
}}}
Abilita/disabilita agli utenti l'accesso in scrittura.
 * `write_enable=YES`:  abilita/disabilita agli utenti l'accesso in scrittura.
Linea 65: Linea 54:
 * {{{
anon_upload_enable=YES
}}}
Abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se l'opzione precedente è impostata a vero.
 * `anon_upload_enable=YES`: abilita/disabilita la possibilità degli utenti anonimi di caricare file. Valido solo se l'opzione precedente è impostata a vero.
Linea 69: Linea 56:
 * {{{
anon_mkdir_write_enable=YES
}}}
Abilita/disabilita la possibilità degli utenti anonimi di creare nuove directory.
 * `anon_mkdir_write_enable=YES`: abilita/disabilita la possibilità degli utenti anonimi di creare nuove directory.
Linea 73: Linea 58:
 * {{{
xferlog_enable=YES
}}}
Attiva i log su tutte le operazioni di scaricamento e caricamento file.
 * `xferlog_enable=YES`: attiva i log su tutte le operazioni di scaricamento e caricamento file.
Linea 77: Linea 60:
 * {{{
xferlog_file=/var/log/vsftpd.log
}}}
Specifica il percorso per i [[AmministrazioneSistema/LogDiSistema|file di log]].
 * `xferlog_file=/var/log/vsftpd.log`: specifica il percorso per i [[AmministrazioneSistema/LogDiSistema|file di log]].
Linea 81: Linea 62:
 * {{{
ftpd_banner=
}}} I
mposta un messaggio di benvenuto visualizzato all'accesso al server FTP.
 * {{{
chroot_local_user=
}}} L
imita/Non limita l'accesso degli utenti solamente alla propria cartella '''Home'''.
 * {{{
connect_from_port_20=
}}} U
sa/non usa la porta 20 al posto della porta 21.
 * {{{
listen=
}}} A
bilita/Disabilita l'ascolto da parte dei client al server.
 * {{{
listen_port=21
}}} S
eleziona la porta di ascolto.
 * `ftpd_banner=`: imposta un messaggio di benvenuto visualizzato all'accesso al server FTP.

* `chroot_local_user=`: limita/Non limita l'accesso degli utenti solamente alla propria cartella '''Home'''.

* `connect_from_port_20=`: usa/non usa la porta 20 al posto della porta 21.

* `listen=`: abilita/Disabilita l'ascolto da parte dei client al server.

* `listen_port=21`: seleziona la porta di ascolto.
Linea 99: Linea 74:
Per rafforzare la sicurezza, è possibile scegliere gli utenti ai quali vietare l'accesso al servizio FTP. Per rafforzare la sicurezza è possibile scegliere gli utenti ai quali vietare l'accesso al servizio FTP.
Linea 101: Linea 76:
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 far ciò è utile modificare il file `/etc/ftpusers`, il quale contiene la lista degli utenti ai quali non è consentito accedere al servizio. Il suo contenuto di default è il seguente: {{{
Linea 126: Linea 101:
 0. '''[[#ftp1|FTP anonimo]]'''

 S
arà 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).
 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).
Linea 130: Linea 103:
 0. '''[[#ftp2|FTP anonimo e controllato da password]]'''

 Q
uesto 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 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.
Linea 134: Linea 105:
 0. '''[[#ftp3|FTP con utenti virtuali e il supporto di un database MySQL]]'''

 Q
uesto 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.
 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.
Linea 141: Linea 110:
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: {{{ Prima di creare un server con accesso anonimo, si dovrà aggiungere al sistema l'utente '''ftp''', con una sua directory '''Home'''. Per farlo digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] i seguenti comandi: {{{
Linea 146: Linea 115:
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: 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:
Linea 166: Linea 135:
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 168: Linea 137:
 * Aprire una finestra di terminale e digitare il seguente comando: {{{  * Digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando: {{{
Linea 178: Linea 147:
 * Copiare {{{pureftpd-mysql.conf}}} nella cartella di '''User Manager for PureFTPd'''.  * Copiare `pureftpd-mysql.conf` nella cartella di '''User Manager for PureFTPd'''.
Linea 184: Linea 153:
 * '''-c <num>''' Numero di client massimo abilitato ad effettuare l'accesso al server. Esempio: {{{  * '''-c <num>''' Numero di client massimo abilitato ad effettuare l'accesso al server. '''Esempio''': {{{
Linea 196: Linea 165:
 * '''-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: {{{  * '''-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''': {{{
Linea 199: Linea 168:
Linea 201: Linea 171:
Se si volessero creare degli utenti appositi che hanno disponibile l'accesso al solo server FTP, ecco cosa si deve fare: {{{ Se si volessero creare degli utenti appositi che hanno disponibile l'accesso al solo server FTP, digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando: {{{
Linea 204: Linea 174:
Analizziamo il comando:
 * {{{
sudo}}} fa si che il comando sia eseguito come Super User.
 * {{{
useradd}}} è il comando per aggiungere un utente
 * {{{
-c"Utente FTP"}}} Indica il nome utente.
 * {{{
-g ftp}}} Aggiunge l'utente al gruppo ftp.
 * {{{
-m}}} Dice al comando di creare una nuova directory per l'utente.
 * {{{
 -k /dev/null}}} Indica la directory da usare se la directory principale non c'è
 * {{{
-s /bin/false}}} Indica la shell che l'utente deve usare (In questo caso è disabilitata).
 * {{{
-d /home/utenteftp}}} Indica la home dell'utente.
dove al posto di `Utente FTP` va inserito il nome dell'utente e al posto di `utenteftp` va inserito il nome della '''Home''' dell'utente.


REVISIONE DELLA PAGINA SERVER FTP

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.

Prova del servizio

Collegarsi al computer con, come esempio, indirizzo IP 192.168.1.2 su cui è stato installato il servizio FTP. Per fare ciò, digitare nel terminale i seguenti comandi:

ftp 192.168.1.2

Verrà 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 /srv/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 con i privilegi di amministratore il file di configurazione /etc/vsftpd.conf con uno degli editor di testo messi a disposizione da Ubuntu.

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 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.

  • chroot_local_user=: limita/Non limita l'accesso degli utenti solamente alla propria cartella Home.

  • connect_from_port_20=: usa/non usa la porta 20 al posto della porta 21.

  • listen=: abilita/Disabilita l'ascolto da parte dei client al server.

  • listen_port=21: seleziona la porta di ascolto.

Limitare l'accesso

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

Per far ciò è utile modificare il file /etc/ftpusers, il quale contiene la lista degli utenti ai quali non è consentito accedere al servizio. Il suo contenuto di default è il seguente:

# /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. Effettuate le modifiche, è necessario riavviare il servizio.

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, etc).

  2. 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.

  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 digitare nel terminale i seguenti 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:

  • Digitare nel terminale 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 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

Creare utenti appositi per il server FTP

Se si volessero creare degli utenti appositi che hanno disponibile l'accesso al solo server FTP, digitare nel terminale il seguente comando:

sudo useradd -c "Utente FTP" -g ftp -m -k /dev/null -s /bin/false -d /home/utenteftp utenteftp

dove al posto di Utente FTP va inserito il nome dell'utente e al posto di utenteftp va inserito il nome della Home dell'utente.

Ulteriori risorse


CategoryServer