Configurazione di un server ftp: vsftpd

Per prima cosa installiamo il pacchetto con pacman:

pacman -S vsftpd

una volta installato occorre modificare il file di configurazione /etc/vsftpd.conf, ad esempio in questo modo (qui trovate la guida completa delle funzioni disponibili):


anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
log_ftp_protocol=YES
xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ls_recurse_enable=NO
listen_port=21
connect_from_port_20=NO
listen=YES
background=YES
# definiamo una chroot() jail
chroot_local_user=YES
check_shell=NO
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
local_max_rate=20000
max_clients=3
banner_file=/etc/welcome.banner
#SSL:
#ssl_enable=YES
#ssl_tlsv1=YES
#force_local_data_ssl=NO
#force_local_logins_ssl=YES
#rsa_cert_file=/usr/share/ssl/certs/vsfpd.pem
#ssl_sslv2=NO
#ssl_sslv3=NO
#allow_anon_ssl=NO

Nell’esempio sopra viene consentito l’accesso solamente agli utenti presenti nel file /etc/vsftpd.user_list (in questo caso “utente”):

cat /etc/vsftpd.user_list:
utente

Gli utenti definiti in quel file ovviamente devono essere anche utenti del sistema, quindi ad esempio per creare un nuovo utente “utente” possiamo usare lo script adduser e nel campo “Home directory [ /home/fg ]” possiamo mettere ad esempio come percorso una directory che chiameremo ftp nella nostra partizione dati, così da non avere problemi con lo spazio su disco (il percorso di default sarebbe infatti /srv/ftp).
Una volta creato utente e directory, creiamo dentro a “ftp” una cartella “utente” con i seguenti permessi:

chmod -R 775 .../utente
chown utente .../utente
chgrp users .../utente

modifichiamo /etc/hosts.allow:

#
# /etc/hosts.allow
#

vsftpd: ALL

ed infine, dopo aver aperto la porta sul firewall o configurato a dovere il router, lanciamo il demone:

/etc/rc.d/vsftpd start

Se tutto è andato a buon fine ci si dovrebbe riuscire a connettere anche da firefox con l’indirizzo nella forma ftp://utente@IP.
Se invece per qualche ragione il server non dovesse partire, per capire il tipo di errore (che comunque per esperienza vi dico che al 99% è nel file di configurazione) consiglio di eseguirlo con il classico /usr/sbin/vsftpd

Leave a Reply