In questo tutorial verrà spiegato come installare un server ftp, in particolare vsFTPD, uno dei diversi software disponibili per linux che implementano un server FTP. Il protocollo FTP (File Transfer Protocol) è utilizzato generalmente per scaricare e depositare file su di un server. In questo articolo verrà spiegato come installare il software che consentirà alla vostra macchina di funzionare da server FTP.
Aprite un terminale e digitate i comandi indicati di seguito:
Passo 1: Aggiornare i repository di Ubuntu
$ sudo apt-get update
Passo 2: Installare il pacchetto vsFTPD
$ sudo apt-get install vsftpd
Passo 3: modificare il file di configurazione
Al termine dell’installazione aprire con il vostro editor preferito il file /etc/vsftpd.conf ed apportate i seguenti cambiamenti.
– Decommentare le linee seguenti (riga 29 e 33):
write_enables=YES local_umask=022
– Decommentare la linea seguente (riga 120) per prevenire l’accesso alle cartelle fuori dalla Home directory.
chroot_local_user=YES
ed aggiungere la linea seguente.
allow_writeable_chroot=YES
– Aggiungere le seguenti linee per abilitare la modalità passiva.
pasv_enable=Yes pasb_min_port=40000 pasv_max_port=40100
Passo 4: riavviare il servizio vsftpd.
$ sudo service vsftpd restart
Passo 5: creazione dell’utente.
Ora il server ftp sarà in ascolto sulla porta 21. Creare un utente con il comando riportato di seguito (in questo caso il nuovo utente si chiama john). Il parametro /usr/sbin/nologin serve per prevenire l’accesso alla shell bash da parte dell’utente ftp.
$ sudo useradd -m john /usr/sbin/nologin
Assegnare una password all’utente con il seguente comando:
$ sudo passwd john
Passo 6: Abilitare il login per la shell ‘nologin’
Consentire il login per la shell ‘nologin’. Aprire /etc/shells e aggiungere la seguente linea alla fine del file.
/usr/sbin/nologin
Ora ci si può connettere al server tramite porta 21 usando winscp o filezilla e verificare che non sia possibile per l’utente l’accesso alle cartelle al di fuori della home directory (N.B. Nel campo Host dovrete inserire l’ip del vostro server).
Usare la porta 21 è un grande rischio per la sicurezza. È altamente consigliato usare SFTP, la cui configurazione è riportata di seguito.
Secure FTP (SFTP)
SFTP è la sigla con cui ci si riferisce a “Secure FTP”, una variante sicura di FTP che tipicamente fa uso del protocollo SSH; perciò sarà necessario installare il pacchetto openssh-server usando il seguente comando:
$ sudo apt-get install openssh-server
Passo 7: Creazione di un nuovo gruppo per l’utente FTP
$ sudo groupadd ftpaccess
Passo 8: Modifica del file ssh_config
Trovare e commentare la linea indicata di seguito
Subsystem sftp /usr/lib/openssh/sftp-server
e aggiungere queste linee alla fine del file.
Subsystem sftp internal-sftp Match group ftpaccess ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
Passo 9: riavviare il servizio sshd
$ sudo service ssh restart
Passo 10:
I passi seguenti devono essere seguiti mentre si creano gli utenti per l’accesso FSTP. In questo esempio l’utente che viene creato si chiama johnny con gruppo di accesso ftpaccess e /usr/bin/nologin shell.
$ sudo useradd -m john -g ftpaccess -s /usr/sbin/nologin $ sudo passwd john
Impostare l’appartenenza della home directory come di seguito
$ sudo chown root /home/john
Creare una cartella dentro la home directory per la scrittura e cambiare l’ownership di quella cartella.
$ sudo mkdir /home/john/www $ sudo chown john:ftpaccess /home/john/www
Ora provare a connettersi al server usando SFTP (porta 22) ad assicurarsi che gli utenti siano in grando di uploadare file nella cartella www e che non sia possibile accedere altre cartelle al di fuori della home directory.
Nel caso in cui si volesse usare FTP e SFTP contemporaneamente, seguire i passaggi indicati di seguito mentre si creano gli utenti. Per utenti esistenti, spostarli nel gruppo ftpaccess e creare un percorso come indicato di seguito unitamente al cambio dell’ownership su quest’ultimo.
$ sudo usermod john -g ftpaccess -s /usr/sbin/nologin $ sudo chown root /home/john $ sudo mkdir /home/john/www $ sudo chown john:ftpaccess /home/john/www
Ora è possibile uploadare file nella cartella www usando sia FTP che SFTP.
Fonte: http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/
Un pensiero su “Installare un server FTP (vsftpd) su Ubuntu 14.04”