Installazione FTP · 6 min read · Sep 24, 2025
Installazione di Pure-FTPd su Ubuntu 22.04

Pure-FTPd è un server FTP gratuito (licenza BSD), sicuro, di qualità di produzione e conforme agli standard. Non fornisce campanelli e fischietti non necessari, ma si concentra sull’efficienza e sulla facilità d’uso. Questa guida fornisce un processo passo-passo per installare e configurare Pure-FTPd su Ubuntu.
Requisiti per l’installazione di Pure-FTPd
Prima di procedere con l’installazione, assicurati di avere:
- Un server Ubuntu configurato
- Accesso a un account utente con privilegi
sudo
Installazione passo-passo di Pure-FTPd
Aggiornamento dei pacchetti di sistema
Per prima cosa, aggiorna l’elenco dei pacchetti del tuo sistema:
sudo apt updateInstallazione di Pure-FTPd
Successivamente, installa Pure-FTPd utilizzando il seguente comando:
sudo apt install pure-ftpdConfigurazione di Pure-FTPd per una maggiore sicurezza
Impostazione di un ambiente sicuro
Crea un gruppo dedicato per gli utenti FTP:
sudo groupadd ftpgroupCrea un utente per Pure-FTPd:
sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuserGestione dell’accesso degli utenti
Per aggiungere un utente al server FTP:
sudo pure-pw useradd [username] -u ftpuser -g ftpgroup -d /home/ftpusers/[username]
sudo pure-pw mkdbSostituisci [username] con il nome utente desiderato.
Configurazione di TLS per un trasferimento dati sicuro
Genera un certificato autofirmato:
sudo openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pemModifica la configurazione di Pure-FTPd per attivare TLS:
echo 1 | sudo tee /etc/pure-ftpd/conf/TLS
sudo service pure-ftpd restartOpzioni di configurazione avanzate
Ecco un elenco delle impostazioni comuni che possono essere configurate per Pure-FTPd nella directory /etc/pure-ftpd/conf/ su Ubuntu. Il nome del file di configurazione è in grassetto.
- AltLog: Specifica metodi di registrazione alternativi. Ad esempio, AltLog clf:/var/log/pureftpd.log registrerà i trasferimenti in formato W3C.
- AnonymousOnly: Quando abilitato (creando un file chiamato AnonymousOnly), limita il server a consentire solo accessi anonimi.
- AntiWarez: Se questo file esiste, agli utenti è vietato caricare file che esistono già sul server.
- AutoRename: Rinomina automaticamente i file caricati se esiste un file con lo stesso nome.
- Bind: Collega il server a un indirizzo IP e a una porta specifici. Ad esempio, Bind 21 si collega alla porta 21 su tutti gli indirizzi disponibili.
- BrokenClientsCompatibility: Abilita la compatibilità con i client FTP che non aderiscono rigorosamente agli standard FTP.
- ChrootEveryone: Se abilitato, limita tutti gli utenti alla propria directory home.
- CreateHomeDir: Crea automaticamente le directory home se non esistono quando un utente accede.
- CustomerProof: Aumenta la resilienza contro errori comuni nei client e nei comandi di configurazione.
- Daemonize: Quando questo file esiste, Pure-FTPd verrà eseguito come un demone.
- DisplayDotFiles: Controlla se i file nascosti (file dot) vengono visualizzati o meno.
- DontResolve: Previene la risoluzione DNS per la registrazione e il controllo della larghezza di banda, il che può migliorare le prestazioni.
- ExtAuth: Specifica un programma esterno per l’autenticazione degli utenti.
- ForcePassiveIP: Costringe il server a segnalare un indirizzo IP specifico ai client in modalità passiva.
- FSCharset: Imposta il set di caratteri del file system, utile per nomi di file non ASCII.
- IPv4Only o IPv6Only: Limita il server ad ascoltare solo indirizzi IPv4 o IPv6.
- KeepAllFiles: Previene la cancellazione di qualsiasi file sul server.
- LDAPConfigFile: Specifica il percorso del file di configurazione LDAP per l’autenticazione.
- LimitRecursion: Limita la profondità di ricorsione e il numero di file visualizzati nelle liste delle directory.
- MaxClientsNumber: Limita il numero massimo di client simultanei.
- MaxClientsPerIP: Limita il numero di connessioni simultanee da un singolo indirizzo IP.
- MaxDiskUsage: Limita la percentuale di utilizzo del disco.
- MaxIdleTime: Imposta il tempo massimo di inattività in minuti prima di disconnettere un client.
- MaxLoad: Disconnette i client o rifiuta nuove connessioni sopra un certo carico di sistema.
- MinUID: Imposta l’UID minimo per l’accesso. Gli utenti con un UID inferiore non possono accedere.
- MySQLConfigFile: Specifica il percorso del file di configurazione MySQL per l’autenticazione basata su database.
- NoAnonymous: Disabilita gli accessi anonimi se questo file esiste.
- NoChmod: Disabilita il comando CHMOD sul server.
- NoRename: Impedisce agli utenti di rinominare i file.
- PassivePortRange: Definisce un intervallo di porte per le connessioni passive (ad es., 30000 35000).
- PerUserLimits: Imposta limiti su base per utente.
- PureDB: Specifica il percorso del file del database utenti PureDB.
- Quota: Imposta limiti di quota per gli utenti.
- SyslogFacility: Definisce la struttura syslog per la registrazione.
- TLSCipherSuite: Specifica i cifrari TLS consentiti per le connessioni crittografate.
- TrustedGID: Specifica un elenco di ID di gruppo fidati per l’accesso.
- UMask: Imposta l’umask predefinito per la creazione di file.
- UnixAuthentication: Abilita l’autenticazione contro il database delle password UNIX.
- UploadScript: Specifica uno script da eseguire dopo un caricamento riuscito.
Questo elenco copre le opzioni di configurazione più comunemente utilizzate, ma non è esaustivo. Consulta sempre la documentazione ufficiale di Pure-FTPd o utilizza il
pure-ftpd-wrapper --helpcomando per le informazioni più accurate e complete.
Esempi
Ecco un elenco delle impostazioni di Pure-FTPd nella directory /etc/pure-ftpd/conf/ con esempi per illustrare i tipi di valori che accettano:
- AltLog:
AltLog clf:/var/log/pureftpd.log- Esempio:clf:/var/log/pureftpd.log - AnonymousOnly: Abilita creando un file chiamato
AnonymousOnly. - Nessun valore necessario. - AntiWarez: Abilita creando un file chiamato
AntiWarez. - Nessun valore necessario. - AutoRename: Abilita creando un file chiamato
AutoRename. - Nessun valore necessario. - Bind:
Bind 21- Esempio:192.168.0.1,21 - BrokenClientsCompatibility: Abilita creando un file chiamato
BrokenClientsCompatibility. - Nessun valore necessario. - ChrootEveryone: Abilita creando un file chiamato
ChrootEveryone. - Nessun valore necessario. - CreateHomeDir: Abilita creando un file chiamato
CreateHomeDir. - Nessun valore necessario. - CustomerProof: Abilita creando un file chiamato
CustomerProof. - Nessun valore necessario. - Daemonize: Abilita creando un file chiamato
Daemonize. - Nessun valore necessario. - DisplayDotFiles: Abilita creando un file chiamato
DisplayDotFiles. - Nessun valore necessario. - DontResolve: Abilita creando un file chiamato
DontResolve. - Nessun valore necessario. - ExtAuth:
ExtAuth /path/to/authenticator- Esempio:/usr/local/bin/myauth - ForcePassiveIP:
ForcePassiveIP 192.168.0.1- Esempio:192.168.0.1 - FSCharset:
FSCharset utf-8- Esempio:utf-8 - IPv4Only o IPv6Only: Abilita creando un file chiamato
IPv4OnlyoIPv6Only. - Nessun valore necessario. - KeepAllFiles: Abilita creando un file chiamato
KeepAllFiles. - Nessun valore necessario. - LDAPConfigFile:
LDAPConfigFile /etc/pure-ftpd/ldap.conf- Esempio:/etc/pure-ftpd/ldap.conf - LimitRecursion:
LimitRecursion 10000 8- Esempio:10000 8(10000 file, 8 livelli di profondità) - MaxClientsNumber:
MaxClientsNumber 50- Esempio:50 - MaxClientsPerIP:
MaxClientsPerIP 8- Esempio:8 - MaxDiskUsage:
MaxDiskUsage 95- Esempio:95(95 percento) - MaxIdleTime:
MaxIdleTime 15- Esempio:15(15 minuti) - MaxLoad:
MaxLoad 4.0- Esempio:4.0 - MinUID:
MinUID 1000- Esempio:1000 - MySQLConfigFile:
MySQLConfigFile /etc/pure-ftpd/mysql.conf- Esempio:/etc/pure-ftpd/mysql.conf - NoAnonymous: Abilita creando un file chiamato
NoAnonymous. - Nessun valore necessario. - NoChmod: Abilita creando un file chiamato
NoChmod. - Nessun valore necessario. - NoRename: Abilita creando un file chiamato
NoRename. - Nessun valore necessario. - PassivePortRange:
PassivePortRange 30000 35000- Esempio:30000 35000 - PerUserLimits:
PerUserLimits 8- Esempio:8(8 connessioni simultanee per utente) - PureDB:
PureDB /etc/pure-ftpd/pureftpd.pdb- Esempio:/etc/pure-ftpd/pureftpd.pdb - Quota:
Quota 1000M- Esempio:1000M(1000 Megabyte) - SyslogFacility:
SyslogFacility ftp- Esempio:ftp - TLSCipherSuite:
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3- Esempio:HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3 - TrustedGID:
TrustedGID 1000- Esempio:1000 - UMask:
UMask 133:022- Esempio:133:022(File: 133, Directory: 022) - UnixAuthentication: Abilita creando un file chiamato
UnixAuthentication. - Nessun valore necessario. - UploadScript:
UploadScript /path/to/script- Esempio:/usr/local/bin/uploadscript
Questi esempi dovrebbero chiarire come configurare varie opzioni in Pure-FTPd.
Monitoraggio e manutenzione
Controlla regolarmente i log in /var/log/pure-ftpd/ per eventuali attività o errori insoliti.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.