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.

vsFTP_logo

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

Installare un server FTP (vsftpd)

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.

Installare un server FTP (vsftpd)

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/

Facebooktwitterredditpinterestlinkedinmail

Un pensiero su “Installare un server FTP (vsftpd) su Ubuntu 14.043 min read

I commenti sono chiusi.