Installare un server FTP con ProFTPD: differenze tra le versioni

m
fix broken links
m (fix broken links)
 
(11 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili}}
{{Versioni compatibili|Squeeze|Wheezy|Jessie|Testing_2015}}
 
== Introduzione ==
== Introduzione ==
Installare un server FTP su Debian è un'operazione non particolarmente complessa, ma che merita alcune attenzioni. In questa guida utilizzerò ProFTPD, un FTP server scritto per essere utilizzato su Unix e sistemi operativi Unix-like come il nostro Linux.
Installare un server FTP su Debian è un'operazione non particolarmente complessa, ma che merita alcune attenzioni. In questa guida utilizzerò ProFTPD, un FTP server scritto per essere utilizzato su Unix e sistemi operativi Unix-like come il nostro Linux.
Riga 65: Riga 66:
     </Limit>
     </Limit>
      
      
     <Limit LIST STOR STOU CDUP CWD PWD XCWD XCUP>
     <Limit LIST STOR STOU CWD PWD NOOP XCWD>
       AllowAll
       AllowAll
     </Limit>
     </Limit>
Riga 85: Riga 86:
;MaxClients: numero massimo di client connessi.
;MaxClients: numero massimo di client connessi.
; Limit ALL: impedisce a chiunque l'esecuzione di "ogni" comando FTP, a meno che non sia esplicitamente consentito da una direttiva seguente.
; Limit ALL: impedisce a chiunque l'esecuzione di "ogni" comando FTP, a meno che non sia esplicitamente consentito da una direttiva seguente.
; Limit LIST STOR STOU CDUP CWD PWD XCWD XCUP: permette i comandi specificati. In particolare "STOR" che consente l'upload di un file e "LIST" che consente di ottenere una lista dei file/directory.
; Limit LIST STOR STOU CWD PWD NOOP XCWD: permette i comandi specificati. In particolare "STOR" che consente l'upload di un file, "LIST" che consente di ottenere una lista dei file/directory e "NOOP" per mantenere la connessione attiva.


Leggere anche le informazioni sulla configurazione di ''<Limit>''<sup>[[#Documentazione esterna|[3]]]</sup> e i comandi FTP supportati<sup>[[#Documentazione esterna|[4]]]</sup>.
Leggere anche le informazioni sulla configurazione di ''<Limit>''<sup>[[#Documentazione esterna|[3]]]</sup> e i comandi FTP supportati<sup>[[#Documentazione esterna|[4]]]</sup>.
Riga 112: Riga 113:
# Fare in modo che abbia come utente:gruppo proprietari "ftp:nogroup":<pre># chown ftp:nogroup /home/ftp-anonimo</pre>
# Fare in modo che abbia come utente:gruppo proprietari "ftp:nogroup":<pre># chown ftp:nogroup /home/ftp-anonimo</pre>
# Modificare la riga di "proftpd.conf" in:<pre><Anonymous /home/ftp-anonimo></pre>
# Modificare la riga di "proftpd.conf" in:<pre><Anonymous /home/ftp-anonimo></pre>
== Quote ==
Le quote (''quota'') sono il meccanismo con cui ProFTPD impone dei limiti al numero di byte/file che possono essere inviati/trasferiti/scaricati da/al server FTP. Questo evita che le directory diventino luoghi in cui trovare un po' di tutto e, soprattutto, consumino senza alcun limite lo spazio disponibile sul disco.<br/>
In alternativa, il meccanismo delle quote può essere implementato dall'amministratore direttamente a livello di filesystem.
Per la gestione delle quote, ProFTPD utilizza il comando "ftpquota".
=== Le tabelle ===
ProFTPD gestisce le quote utilizzando due tabelle:
;''ftpquota.limittab'':permette a ProFTPD di conoscere che tipo di limite imporre e a chi (utente, gruppo, classe).
;''ftpquota.tallytab'':permette a ProFTPD di tener traccia dei byte/file trasferiti/inviati/scaricati dal server.
La loro creazione avviene con:
<pre>
# ftpquota --create-table --table-path /etc/proftpd/ftpquota.limittab --type=limit
# ftpquota --create-table --table-path /etc/proftpd/ftpquota.tallytab --type=tally
</pre>
;--type=''tipo'': necessario per creare una tabella di tipo "limit" o "tally"
;--table-path ''/path/tabella'': facoltativo. Se non si utilizza questa opzione, verrà creata la tabella nella directory corrente con il nome di default "ftpquota.limittab" o "ftpquota.tallytab" in base al tipo scelto.
=== Limiti ===
Le quote possono essere impostate sui byte trasferiti/inviati/scaricati dal server e/o sui file trasferiti/inviati/scaricati dal server. È importante sapere che:
* I byte/file trasferiti sono la somma dei byte/file inviati e dei byte/file scaricati
* Il limite predominante è il valore più basso impostato: se il limite di invio byte è 10MB e quello di scaricamento è di 20MB, non sarà possibile il download se si sono già raggiunti i 10MB in upload.
I limiti che è possibile impostare sono:
;File inviati: si utilizza l'opzione "--file-upload".
;File scaricati: si utilizza l'opzione "--file-download".
;File trasferiti: si utilizza l'opzione "--file-xfer".
;Byte inviati: si utilizza l'opzione "--byte-upload". Se non viene specificata l'opzione "--units", il numero indica i byte.
;Byte scaricati: si utilizza l'opzione "--byte-download". Se non viene specificata l'opzione "--units", il numero indica i byte.
;Byte trasferiti: si utilizza l'opzione "--byte-xfer". Se non viene specificata l'opzione "--units", il numero indica i byte.
==== Limiti hard e soft ====
Un limite "hard" o "soft" indica a ProFTPD come comportarsi se l'operazione che si sta svolgendo porta a superare il limite impostato. Influenza solo limiti di tipo byte-*.
;hard limit: l'operazione non andrà a buon fine se porta a superare la quota impostata.
;soft limit: l'operazione sarà consentita anche se porta a superare la quota impostata. Le successive operazioni che portano a superare la quota non saranno, però, consentite.
Un limite di tipo "hard" o "soft" si imposta con l'opzione "--limit-type". Di default si ha un hard limit.
=== Creazione ===
Per impostare una quota si deve aggiungere un record alla tabella "ftpquota.limittab". Nel successivo esempio di imposta una quota di 60 MB in upload per l'utente "nomeutente":
<pre>
# ftpquota --add-record --type limit --limit-type hard --quota-type user --name nomeutente --bytes-upload 60 --units Mb --table-path /etc/proftpd/ftpquota.limittab
</pre>
;--add-record: aggiunge un record alla tabella specificata.
;--type limit: indica che si sta operando sulla tabella "ftpquota.limittab".
;--limit-type hard: il limite sarà "hard".
;--quota-type user: necessario per operare sui limiti per gli utenti.
;--name ''nomeutente'': il nome dell'utente interessato dal limite imposto.
;--bytes-upload 60 --units Mb: il tipo di limite (byte in upload) espresso in Megabyte, in questo caso ci sarà un limite di 60MB.
;--table-path ''/etc/proftpd/ftpquota.limittab'': il percorso e il nome della tabella su cui si sta agendo.
È ovviamente possibile operare anche sui gruppi:
<pre>
# ftpquota --add-record --type limit --limit-type hard --quota-type group --name nomegruppo --bytes-upload 100 --units Gb --table-path /etc/proftpd/ftpquota.limittab
</pre>
=== Visualizzazione ===
In qualunque momento è possibile visualizzare il contenuto delle tabelle con l'opzione "--show-records":
<pre>
# ftpquota --show-records --type limit --units Mb --table-path /etc/proftpd/ftpquota.limittab
</pre>
ottenendo:
<pre>
-------------------------------------------
  Name: nomeutente
  Quota Type: User
  Per Session: False
  Limit Type: Hard
    Uploaded Mb:        60.00
    Downloaded Mb:      unlimited
    Transferred Mb:    unlimited
    Uploaded files:    unlimited
    Downloaded files:  unlimited
    Transferred files:  unlimited
</pre>
Allo stesso modo per la tabella <code>ftpquota.tallytab</code>:
<pre>
# ftpquota --show-records --type tally --units Mb --table-path /etc/proftpd/ftpquota.tallytab
ftpquota: (empty table)
</pre>
che, almeno inizialmente, è vuota.
=== Direttive ===
Per abilitare la gestione delle quote è necessario impostare alcune direttive:
;QuotaEngine:<pre><IfModule mod_quotatab.c>&#10;QuotaEngine on&#10;</IfModule></pre>indispensabile per attivare l'engine di gestione delle quote.
;QuotaLimitTable:<pre>QuotaLimitTable file:/etc/proftpd/ftpquota.limittab</pre>direttiva necessaria per indicare la tabella "limit".
;QuotaTallyTable:<pre>QuotaTallyTable file:/etc/proftpd/ftpquota.tallytab</pre>idem come la precedente ma per la tabella "tally".
;QuotaDisplayUnits Kb|Mb|Gb:facoltativa. Indica la quota in Kilobyte, Megabyte, Gigabyte (anziché in byte, comportamento di default) se il client ne fa richiesta.
Per maggiori informazioni, leggere anche le seguenti pagine<sup>[[#Documentazione esterna|[6]]][[#Documentazione esterna|[7]]]</sup>


== Note ==
== Note ==
Riga 172: Riga 267:
[3] [http://www.proftpd.org/docs/howto/Limit.html Configurare <Limit>]<br/>
[3] [http://www.proftpd.org/docs/howto/Limit.html Configurare <Limit>]<br/>
[4] [http://www.proftpd.org/docs/howto/FTP.html Comandi FTP supportati da ProFTPD]<br/>
[4] [http://www.proftpd.org/docs/howto/FTP.html Comandi FTP supportati da ProFTPD]<br/>
[5] [http://sourceforge.net/projects/proftpd-admin/ proftpd-admin]<br/>
[5] [http://proftpd-adm.sourceforge.net/index.php proftpd-admin]<br/>
'''Quote'''<br/>
[6] [http://www.proftpd.org/docs/howto/Quotas.html Quotas HowTo]<br/>
[7] [http://www.proftpd.org/docs/utils/ftpquota.html Documentazione per ftpquota]<br/>


{{Autori
{{Autori
Riga 179: Riga 277:
:[[Utente:S3v|S3v]] 11:17, 27 dic 2014 (CET)
:[[Utente:S3v|S3v]] 11:17, 27 dic 2014 (CET)
|Estesa_da=
|Estesa_da=
:[[Utente:S3v|S3v]] 11:17, 27 dic 2014 (CET) (FTP anonimo)
:[[Utente:S3v|S3v]] (FTP anonimo - Quote)
|Numero_revisori=1
|Numero_revisori=1
}}
}}


[[Categoria:FTP server]]
[[Categoria:FTP server]]
45

contributi