Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Ufficio/EditorDiTesto/Helix"
Differenze tra le versioni 25 e 27 (in 2 versioni)
Versione 25 del 28/03/2014 03.11.24
Dimensione: 10268
Autore: jeremie2
Commento:
Versione 27 del 31/08/2014 23.35.54
Dimensione: 9674
Autore: jeremie2
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from GestioneDisco
Linea 5: Linea 4:
<<Indice(depth=1)>>

<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?f=46&t=221642")>>
<<Indice>>
Linea 11: Linea 8:
Questa guida è un'introduzione alla terminologia usata sui sistemi Linux per identificare i dispositivi di memoria, le partizioni e i loro formati, e per spiegare in che modo vengano utilizzate le partizioni per installare il sistema operativo attraverso il partizionamento.
    
= Dispositivi di memoria e partizioni =

I dispositivi di memoria vengono identificati come /dev/sda, /dev/sdb, /dev/sdc, ecc..

Le '''partizioni''', aree delimitata e ben definite del disco in cui vengono memorizzati dati, vengono identificate aggiungendo un numero alla sigla del dispositivo.<<BR>>Ad esempio se sul proprio pc è presente un unico hard disk, esso sarà individuato come '''/dev/sda''' e le partizioni al suo interno come '''/dev/sda1''', '''/dev/sda2''', ecc..

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''In precedenza esisteva la distinzione fra dispositivi IDE (PATA) riconosciuti come /dev/hdX, e dispositivi SATA, SCSI, USB riconosciuti come /dev/sdX.''||

= Tabella delle partizioni GPT e MBR =

Con l'introduzione dello [[Installazione/UEFI|UEFI]] (Bios di nuova generazione), lo standard per la gestione delle partizioni di un disco fisso è [[http://it.wikipedia.org/wiki/GUID_Partition_Table|GPT]] (GUID Partition Table), che sostituisce l'ormai obsoleto [[http://it.wikipedia.org/wiki/Master_boot_record|MBR]] (Master Boot Record).<<BR>>
La differenza principale dal punto di vista delle partizioni è che con il nuovo standard viene superato il limite delle 4 partizioni primarie e il limite dei 2 Terabyte per partizione. In definitiva su sistemi '''GPT''' sono presenti solo '''partizioni primarie'''.

 * '''Partizioni primarie ed estese'''<<BR>>Nei vecchi sistemi con '''MBR''' un disco fisso può avere un massimo di 4 '''partizioni primarie''', numerate da uno a quattro e precedute dal nome del disco cui appartengono. Per esempio, su un disco fisso riconosciuto come '''sda''' possono essere presenti le partizioni primarie '''sda1''', '''sda2''', '''sda3''', '''sda4'''.<<BR>>Una delle quattro partizioni primarie può essere usata come '''partizione estesa'''. Anziché contenere file sarà utilizzata per contenere partizioni logiche.

 * '''Partizioni logiche'''<<BR>>Vengono utilizzate come le partizioni primarie, dalle quali differiscono per il fatto che sono contenute tutte dentro una partizione primaria estesa e le loro descrizioni non si trovano nell'MBR. Le partizioni logiche vengono sempre numerate da 5 in su '''/dev/sda5''', '''/dev/sda5''', ecc..

= Formato delle partizioni =

Esistono diversi tipi di formato per le partizioni di un disco.

 * '''In ambiente Linux'''<<BR>>Il formato '''ext4''' è il formato predefinito su Ubuntu. In alternativa possono essere utilizzati i file system '''ext3''', '''ext2''', '''ReiserFS''' e '''Btrfs'''. Quest'ultimo però nonostante le alte prestazioni è ancora ritenuto sperimentale.

 * '''In ambiente Windows'''<<BR>>I formati predefiniti sono '''NTFS''' e '''FAT32'''. È bene conoscere anche questi ultimi due, in quanto non è raro trovare un sistema Linux in dual boot con Windows. Per '''NTFS''' e '''FAT32''' non è possibile da '''Ubuntu''' cambiare i permessi dei file. Nel caso si usufruisca del ''dual boot'', è consigliato creare una partizione per l'archiviazione e scambio di dati fra i due sistemi in formato NTFS, più moderno di FAT32.

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Il formato '''ext3/ext4''' non viene riconosciuto da Windows se non tramite l'uso di [[Hardware/DispositiviPartizioni/Ext2FSD|adeguate applicazioni]].''||

= Utilizzo delle partizioni =

Vengono qui elencate le partizioni necessarie per l'installazione di Ubuntu sia su computer dotati di '''UEFI''', sia su computer dotati di '''BIOS''' tradizionale.

||<tablestyle="width:80%" bgcolor="#cccccc":>'''Partizionamento GPT - UEFI'''||<style="border:none; "10%>||<bgcolor="#cccccc":>'''Partizionamento MBR - BIOS'''||
||Partizione di avvio '''EFI''' ||<style="border:none; ">||Partizione per area di '''swap''' ||
||Partizione per area di '''swap''' ||<style="border:none; ">||Partizione per il Filesystem "'''/'''"||
||Partizione per il Filesystem "'''/'''" ||<style="border:none; ">||<style="border:none; "> ||

 * '''swap'''<<BR>>Per [[Hardware/DispositiviPartizioni/SwapDomandeFrequenti|swap]] si intende un'area di appoggio alla memoria RAM che utilizza un formato a se stante '''linux-swap'''.<<BR>>Nei casi di ''multiboot'', cioè con più sistemi Linux installati, '''basta un unica area di swap''' che verrà utilizata di volta in volta dal sistema in uso.<<BR>>In caso di particolari necessità l'area di swap può essere omessa, tuttavia per un utilizzo standard è consigliabile utilizzarla.

 * '''EFI'''<<BR>>È richiesta dai Bios di nuova generazione [[Installazione/UEFI|UEFI]]. Si tratta di un'area di avvio in formato '''fat32''' collocata a seconda dei casi:
  * nella '''prima partizione''' /dev/sda1;
  * nella '''seconda partizione''' /dev/sda2 se nella /dev/sda1 è presente la partizione nascosta di ripristino di Windows.

 * '''Filesystem "/"'''<<BR>>Il [[AmministrazioneSistema/Filesystem|file system]] comunemente indicato con il simbolo "'''/'''" è l'area che accoglie il sistema operativo in formato '''ext4''' (vedere [[#Formato_delle_partizioni|formati alternativi]]).<<BR>>Il filesystem può essere suddiviso in modo tale che ogni singola directory possa essere destinata ad una partizione a se stante. Perticolarmente comune è il caso in cui la directory [[AmministrazioneSistema/Filesystem#A.2Fhome|/home]] viene assegnata ([[Hardware/DispositiviPartizioni/PartizionamentoManuale#Esempio_3_-_home_separata|vedere esempio]]) ad una partizone a se per fungere da partizone dati e preservare i dati personali e impostazioni dei software in successive reinstallazioni del sistema.

= Esempi pratici =

== Sistemi con MBR ==

In generale se si dispone di un computer con lo standard '''MBR''', per accogliere il sistema potranno essere indistintamente utilizzate partizioni '''primarie''' e '''logiche'''.<<BR>>

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">L'importante è di rispettare il '''limite delle 4 partizioni primarie'''. Se si sa già che quattro partizioni primarie non saranno sufficienti, una di esse dovrà essere impostata come partizione estesa, in modo da creare al suo interno tutte le partizioni logiche di cui si necessita.||

Ad esempio un disco con Windows e Ubuntu potrebbe avere tutte partizioni primarie (esempio di output non completo del comando '''`sudo fdisk -l`'''):
'''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 [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto ''vsftpd'', reperibile dal [[Repository/Componenti|componente]] '''universe'''.

<<Anchor(avvio)>>
= 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 [[Ufficio/EditorDiTesto|editor di testo]] messi a disposizione da Ubuntu.

Aprire una finestra di terminale e digitare il seguente comando:
Linea 67: Linea 59:
/dev/sda1 HPFS/NTFS (n.d.r. utilizzata da Windows)
/dev/sda2 Linux swap / Solaris (n.d.r. utilizzata dalla swap)
/dev/sda3 Linux (n.d.r. utilizzata da Ubuntu)
}}}
Come si vede dalla /dev/sda1 alla /dev/sda3 vengono utilizzate tutte partizioni primarie.<<BR>>
Oppure una disposizione alternativa potrebbero essere di questo tipo:
{{{
/dev/sda1 HPFS/NTFS (n.d.r. utilizzata da Windows)
/dev/sda2 HPFS/NTFS (n.d.r. utilizzata come partizione dati)
/dev/sda3 Linux swap / Solaris (n.d.r. utilizzata dalla swap)
/dev/sda4 Esteso (partizione estesa)
/dev/sda5 Linux (n.d.r. utilizzata dalla /home di Ubuntu)
/dev/sda6 Linux (n.d.r. utilizzata per / di Ubuntu)
}}}
Essendo le prime tre partizioni primarie già utilizzate rispettivamente da Windows, partizione dati e area di swap, la /dev/sda4 è stata creata come partizione estesa nella quale sono state create due partizioni logiche: /dev/sda5 per la `/home` di Ubuntu e /dev/sda6 per il filesystem "/".

== Sistemi con GPT ==

Se si dispone di computer con UEFI e quindi con il sistema di partizionamento '''GPT''', le partizioni saranno tutte viste come primarie. Se si creano partizioni su di un disco vuoto, occorre avere l'accortezza di collocare la partizione '''EFI''' nella prima posizione all'inizio del disco o al massimo in seconda posizione qualora fosse presente la partizione nascosta di ''recovery'' di Windows.

Vengono qui riportati un paio di esempi di output (non completo) del comando '''`sudo parted -l`''':

{{{
Numero Dimensione File system Nome Flag
 1 419MB ntfs Basic data partition nascosta, diag
 2 315MB fat32 EFI system partition avvio
 3 134MB Microsoft reserved partition msftres
 4 241GB ntfs Basic data partition
 6 61,0GB ext4
 7 8000MB linux-swap(v1)
 8 172GB ext4
 5 16,9GB ntfs Basic data partition nascosta, diag
}}}
I numeri laterali si riferiscono alle partizioni: 1 → /dev/sda1, 2 → /dev/sda2, e così via.<<BR>>In questo caso si può notare la presenza in posizione 1 della partizione nascosta di ripristino di Windows e quindi a seguire la partizione EFI.

{{{
Numero Dimensione File system Nome Flag
 1 262MB fat32 avvio
 2 4295MB linux-swap(v1)
 3 21,5GB ext4
 4 21,5GB ext4
 5 21,5GB ext4
 6 431GB ext4
}}}
In questo caso, un disco predisposto per contenere partizioni per sistemi Linux, si nota in posizione 1 l'area in formato fat32 per ospitare la partizione EFI.
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 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}}}: {{{
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).

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

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

= 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 [[AmministrazioneSistema/LogDiSistema|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:

 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).
                         
 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. '''[[#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)>>
== 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.

<<Anchor(ftp2)>>
== 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.

<<Anchor(ftp3)>>
== FTP con utenti virtuali e il supporto di un database MySQL ==

Per creare un server che affidi a '''My``SQL''' la gestione degli utenti, è possibile utilizzare 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 [[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.

 * 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 [[http://localhost/ftp|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
}}}
Linea 115: Linea 216:
 * [[Hardware/DispositiviPartizioni/MontarePartizioni|Guide al montaggio delle partizioni]]
 * [[Hardware/DispositiviPartizioni/PartizionamentoManuale|Guida al partizionamento manuale]]
 * [[http://vsftpd.beasts.org/|Sito ufficiale di vsftpd]]

 * [[http://vsftpd.beasts.org/vsftpd_conf.html|Guida alla configurazione di vsftpd]]
Linea 118: Linea 221:
CategoryHardware CategoryServer


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

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

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.

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

Ulteriori risorse


CategoryServer