In questo tutorial, ti mostreremo come creare facilmente un server FTP con utenti virtuali usando il demone vsFTP su Debian 8.
Cominciando dall'inizio. Aggiorna il tuo VPS Debian:
# apt-get update && apt-get upgrade
Se non hai il server web Apache2 o se stai usando NGINX, dovrai installare apache2-utils
che è necessario per generare le password per gli utenti.
# apt-get install apache2-utils
Installa il servizio vsftpd:
# apt-get install vsftpd libpam-pwdfile
Modifica il file di configurazione vsftpd e decommenta le righe seguenti. Usa vim
o nano
. Le righe che non sono presenti nel file conf, mettile in fondo.
# vim /etc/vsftpd.conf listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 nopriv_user=vsftpd chroot_local_user=YES allow_writeable_chroot=yes guest_username=vsftpd virtual_use_local_privs=YES guest_enable=YES user_sub_token=$USER local_root=/var/www/$USER hide_ids=YES # Exclude this if you are doing this guide on your own private server seccomp_sandbox=NO
Successivamente, dovremmo modificare il nostro /etc/pam.d/vsftpd
per verificare il file utenti/password che stiamo per creare.
Per prima cosa, crea un backup del file e poi modifica quello esistente:
# cp /etc/pam.d/vsftpd{,.bak} # vim /etc/pam.d/vsftpd
Rimuovi tutto dal file e aggiungi invece queste righe:
auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd account required pam_permit.so
Crea l'utente principale che verrà utilizzato dagli utenti virtuali per l'autenticazione:
# useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
Una volta fatto, possiamo creare il nostro file utenti/password.
Nota:le password utilizzate da questo metodo possono essere lunghe fino a 8 caratteri. Se desideri che vsftpd legga password più forti, potresti voler cercare un modulo pam diverso.
# htpasswd -cd /etc/ftpd.passwd rosetest1
Aggiungi un altro utente e aggiungilo al file ftpd.passwd. Il -c
flag è omesso qui.
# htpasswd -d /etc/ftpd.passwd rosetest2
Quindi, aggiungi le directory per gli utenti poiché vsftpd non le creerà automaticamente.
## For rosetest1 # mkdir /var/www/rosetest1 # chown vsftpd:nogroup /var/www/rosetest1 # chmod +w /var/www/rosetest1 ## For rosetest2 # mkdir /var/www/rosetest2 # chown vsftpd:nogroup /var/www/rosetest2 # chmod +w /var/www/rosetest2
Infine, avvia il demone vsftp e impostalo per l'avvio automatico all'avvio del sistema.
# systemctl start vsftpd && systemctl enable vsftpd
Controlla lo stato per assicurarti che il servizio sia avviato:
# systemctl status vsftpd ● vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled) Active: active (running) since Sat 2016-12-03 11:07:30 CST; 23min ago Main PID: 5316 (vsftpd) CGroup: /system.slice/vsftpd.service ├─5316 /usr/sbin/vsftpd /etc/vsftpd.conf ├─5455 /usr/sbin/vsftpd /etc/vsftpd.conf └─5457 /usr/sbin/vsftpd /etc/vsftpd.conf
Verifica la tua configurazione
Usa FileZilla o WinSCP per accedere al tuo VPS utilizzando gli utenti e le password che hai creato in precedenza.
Crea una directory di test e un file di test dai client.
Sul server verifica che i file siano stati creati correttamente con :
# ls -l /var/www/rosetest1 # ls -l /var/www/rosetest2
Ovviamente, non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di configurare il tuo server FTP. Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta.
PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.