In questa guida, vedremo come configurare un server FTP (ProFTPd) per trasferire file tra il tuo PC e il tuo server.
Prerequisiti
- Un'istanza del server Vultr Debian o Ubuntu appena distribuita.
- Un utente Sudo .
Installazione
Aggiorna il sistema.
sudo apt-get update
sudo apt-get dist-upgrade
Installa proftpd.
sudo apt-get install proftpd
Durante l'installazione, ti verrà chiesto se desideri installare in modalità inetdo standalone. Scegli la standalonemodalità.
Configurazione
Apri il file di configurazione di Proftpd.
sudo nano /etc/proftpd/proftpd.conf
Il file sarà simile al seguente testo.
#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.
#
# Includes DSO modules
Include /etc/proftpd/modules.conf
# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6 on
# If set on you can experience a longer connection delay in many cases.
IdentLookups off
ServerName "Debian"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayChdir .message true
ListOptions "-l"
DenyFilter \*.*/
# Use this to jail all users in their homes
# DefaultRoot ~
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell off
# Port 21 is the standard FTP port.
Port 21
...
Principali direttive di configurazione
ServerName: Specifica il nome del server FTP. Questo nome verrà visualizzato quando i client si connettono al server.
TimeoutIdle: Il tempo, in secondi, trascorso il quale un client viene automaticamente disconnesso se non è più attivo sul server FTP.
DefaultRoot: Controlla la directory principale predefinita assegnata a un utente al momento dell'accesso.
Port: La porta di connessione al server FTP. Quasi sempre questa porta è 21e non dovresti cambiarla se non sei bloccato da un firewall.
PassivePorts: Limita l'intervallo di porte da cui verrà selezionato il server quando viene inviato il PASVcomando da un client.
MaxInstances: Il numero massimo di connessioni simultanee che si desidera consentire sul proprio server FTP.
Ora dobbiamo attivare l' DefaultRootopzione. per fare ciò, trova la DefaultRootriga commentata e decommentala.
DefaultRoot ~
Il valore ~indica che l'utente sarà limitato alla cartella personale (ad es /home/user12.).
Nota : per impostazione predefinita, qualcuno che si connette al server FTP può accedere a tutte le cartelle del server, quindi si consiglia di abilitare l'opzione DefaultRoot.
Cambia il ServerName.
ServerName : the name of your FTP server
Trova e decommenta le seguenti righe (rimuovendo #all'inizio di ogni riga) per consentire connessioni anonime al tuo server.
# A basic anonymous configuration, no upload directories.
<Anonymous ~ftp>
User ftp
Group nogroup
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Cosmetic changes, all files belongs to ftp user
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
</Anonymous>
Nota : se si abilitano connessioni anonime sul server FTP, qualsiasi utente può connettersi ad esso. Avranno accesso alla /home/ftpdirectory e saranno in grado di leggere e scaricare file, ma non modificare o aggiungere file.
È possibile impedire all'utente root di accedere all'FTP aggiungendo la seguente riga.
RootLogin off
Dopo aver modificato la configurazione, riavviare il server.
sudo service proftpd restart
Nota : se una riga di errore viene visualizzata come "impossibile risolvere l'host", tenere presente che non ha importanza e che è possibile ignorarla.
Aggiungi un utente FTP
Aggiungi un utente, ad esempio " myuser".
useradd --shell /bin/false myuser
Crea la home directory del nostro utente " myuser".
mkdir /home/myuser
Cambia la proprietà di quella directory per l'utente e il gruppo " myuser".
chown myuser:myuser /home/myuser/
Imposta una password per l'utente " myuser".
passwd myuser
Connettiti al tuo server FTP
Ora che il tuo server FTP è installato e configurato, ti piacerebbe essere in grado di connettersi ad esso.
Digita semplicemente ftp://server_ip_addressla barra degli indirizzi del tuo browser. Sostituisci server_ip_addresscon l'indirizzo IP del tuo server. Ti verrà chiesto il tuo usernamee password.
Puoi vedere chi è connesso al tuo server FTP con il seguente comando.
ftpwho
Inoltre, puoi vedere le statistiche.
ftpstats