[NO SUPPORTO][HOWTO] VSFTPD Instal. & Conf.

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns, ecc.

[NO SUPPORTO][HOWTO] VSFTPD Instal. & Conf.

Messaggioda thece » giovedì 7 aprile 2016, 10:52

Condivido i miei appunti per l'installazione del servizio VSFTPD. Spero possa essere di aiuto


Non fornisco supporto su questa discussione.
Questa discussione ha il solo scopo di suggerire all'utente "inesperto" una strada molto veloce per l'installazione e configurazione del servizio VSFTPD: questo è solo un modo! Vengono fatte assunzioni forti, viene calcata la mano all'utente "inesperto". Altre scelte potrebbero essere fatte sulla base delle proprie necessità.
Per qualsiasi correzione, osservazione, suggerimento o altro inerente questa discussione, cortesemente, mandatemi un messaggio in privato.



Happy Linux :ciao:


Sul PC SERVER installiamo il pacchetto

Codice: Seleziona tutto
sudo apt-get install vsftpd


Verrà creato automaticamente l'utente di sistema ftp, usato anche per gestire le sessioni FTP anonime tramite l'utente FTP anonymous, con home in /srv/ftp. Controlliamo con

Codice: Seleziona tutto
cat /etc/passwd | grep -i ftp

Spostiamo la home directory dell'utente ftp da /srv/ftp a /home/anonymousFTP

Codice: Seleziona tutto
sudo mkdir -p /home/anonymousFTP

Codice: Seleziona tutto
sudo chown ftp:ftp /home/anonymousFTP

Codice: Seleziona tutto
sudo usermod --home=/home/anonymousFTP ftp

Controlliamo con

Codice: Seleziona tutto
cat /etc/passwd | grep -i ftp

Codice: Seleziona tutto
sudo rmdir /srv/ftp

(questa directory non serve più)

Disabilitiamo la shell dell'utente ftp. In questo modo l'utente ftp non potrà più fare login sul sistema (solo login sul sistema)

Codice: Seleziona tutto
sudo usermod --shell=/usr/sbin/nologin ftp

Controlliamo con

Codice: Seleziona tutto
cat /etc/passwd | grep -i ftp

Per abilitare l'accesso FTP degli utenti ftp e anonymous con shell disabilitata dobbiamo aggiungere nel file /etc/shells la linea /usr/sbin/nologin


Creiamo le cartelle per il download e upload anonimo, rispettivamente "logicamente" di sola lettura e di lettura / scrittura:

Codice: Seleziona tutto
sudo mkdir -p /home/anonymousFTP/downloads

Codice: Seleziona tutto
sudo mkdir -p /home/anonymousFTP/uploads

Codice: Seleziona tutto
sudo chmod 555 /home/anonymousFTP

(per impostazione di sicurezza di default, VSFTPD non permette che le FTP Home degli utenti siano accessibili in lettura e scrittura)

Codice: Seleziona tutto
sudo chmod 555 /home/anonymousFTP/downloads

Codice: Seleziona tutto
sudo chown -R ftp:ftp /home/anonymousFTP

(nella directory downloads, essendo "logicamente" di sola lettura, i permessi delle sottodirectory andrebbero portati a 555, quelli dei file a 444)


Creiamo l'utente di sistema ftpuser (con shell disabilitata) da usare per le sessioni FTP autenticate

Codice: Seleziona tutto
sudo adduser --shell=/usr/sbin/nologin --home=/home/authenticatedFTP ftpuser

Creiamo le cartelle per il download e upload, rispettivamente "logicamente" di sola lettura e di lettura / scrittura:

Codice: Seleziona tutto
sudo mkdir -p /home/authenticatedFTP/downloads

Codice: Seleziona tutto
sudo mkdir -p /home/authenticatedFTP/uploads

Codice: Seleziona tutto
sudo chmod 555 /home/authenticatedFTP

(per impostazione di sicurezza di default, VSFTPD non permette che le FTP Home degli utenti siano accessibili in lettura e scrittura)

Codice: Seleziona tutto
sudo chmod 555 /home/authenticatedFTP/downloads

Codice: Seleziona tutto
sudo chown -R ftpuser:ftpuser /home/authenticatedFTP

(nella directory downloads, essendo "logicamente" di sola lettura, i permessi delle sottodirectory andrebbero portati a 555, quelli dei file a 444)


Personalizziamo i file di configurazione /etc/vsftpd.conf e /etc/vsftpd.userlist

/etc/vsftpd.conf

Codice: Seleziona tutto
# Generale
listen=YES
ftpd_banner=Welcome to my FTP Server
max_clients=10
connect_from_port_20=YES
download_enable=YES
write_enable=YES
file_open_mode=0666
chown_username=ftp
chown_uploads=YES

# Logging
syslog_enable=NO
vsftpd_log_file=/var/log/vsftpd.log
dual_log_enable=NO
xferlog_enable=YES
# Logging completo
# xferlog_std_format=NO
# log_ftp_protocol=YES

# FTP Anonimo
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_root=/home/anonymousFTP
anon_umask=0022
anon_max_rate=0

# Utenti Locali
local_enable=YES
chroot_local_user=YES
# Se abilitata in fase di compilazione, è possibile per far accedere gli utenti locali alle rispettive FTP Home in lettura e scrittura sbloccando l'opzione indicata di seguito
# allow_writeable_chroot=YES
local_umask=0022
local_max_rate=0

# Per abilitare solo gli utenti specificati
# userlist_enable deve avere lo stesso valore di local_enable
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

# Personalizzazioni di Debian
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

/etc/vsftpd.userlist

Codice: Seleziona tutto
# Utente anonimo
anonymous

# Utenti autenticati
ftpuser


Riavviamo il servizio VSFTPD

Codice: Seleziona tutto
sudo /etc/init.d/vsftpd restart

oppure

Codice: Seleziona tutto
sudo service vsftpd restart


Per verificare che il servizio VSFTPD sia effettivamente in ascolto usare il comando

Codice: Seleziona tutto
sudo netstat -tulnp | grep -i ftp
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 7302
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Torna a Ubuntu su server

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 5 ospiti