Realizzare un server FTP con VSFTPD e DNS dinamico: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 15: | Riga 15: | ||
===Verifica dei pre-requisiti e del software necessario=== | ===Verifica dei pre-requisiti e del software necessario=== | ||
Per poter realizzare quanto proposto dalla guida, è strettamente necessario il possesso di due pacchetti fondamentali: [https://packages.debian.org/it/jessie/make make] e [https://packages.debian.org/jessie/gcc gcc]. <br/> | Per poter realizzare quanto proposto dalla guida, è strettamente necessario il possesso di due pacchetti fondamentali: [https://packages.debian.org/it/jessie/make make] e [https://packages.debian.org/jessie/gcc gcc]. <br/> | ||
Se non sono installati sul sistema, bisogna procedere alla loro acquisizione | Se non sono installati sul sistema, bisogna procedere alla loro acquisizione ed installazione tramite i comandi: <pre># apt-get install make | ||
# apt-get install gcc</pre><br/> | # apt-get install gcc</pre><br/> | ||
Tali pacchetti serviranno per installare e configurare il software che si occuperà di aggiornare l'indirizzo IP della macchina qualora questo venga cambiato dal [https://it.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP].<br/> | Tali pacchetti serviranno per installare e configurare il software che si occuperà di aggiornare l'indirizzo IP della macchina qualora questo venga cambiato dal [https://it.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP].<br/> | ||
Riga 50: | Riga 50: | ||
</pre> | </pre> | ||
una volta copiate le regole, è possibile salvare il file e ri-avviare il demone tramite il comando: <pre># /etc/init.d/vsftpd restart</pre> ed è inoltre possibile sincerarsi dello stato del demone utilizzando, ancora una volta, il comando: <pre># /etc/init.d/vsftpd status</pre><br/> | una volta copiate le regole, è possibile salvare il file e ri-avviare il demone tramite il comando: <pre># /etc/init.d/vsftpd restart</pre> ed è inoltre possibile sincerarsi dello stato del demone utilizzando, ancora una volta, il comando: <pre># /etc/init.d/vsftpd status</pre><br/> | ||
Resta inteso che, dopo aver letto la documentazione ufficiale sulle [https://security.appspot.com/vsftpd/vsftpd_conf.html regole] di VSFTPD e la loro relativa sintassi, sarete in grado di apportare modifiche consistenti al file che abbiamo appena editato, essendo consapevoli del fatto che il comportamento del vostro server cambierà in base alle nuove regole che editerete. | Resta inteso che, dopo aver letto la documentazione ufficiale sulle [https://security.appspot.com/vsftpd/vsftpd_conf.html regole] di VSFTPD e la loro relativa sintassi, sarete in grado di apportare modifiche consistenti al file che abbiamo appena editato, essendo consapevoli del fatto che il comportamento del vostro server cambierà in base alle nuove regole che editerete.<br/> | ||
===Configurazione dei permessi: utente e directory per VSFTPD=== | ===Configurazione dei permessi: utente e directory per VSFTPD=== | ||
In questa fase ci si occuperà del corretto settaggio dei permessi utente per la home directory del server, collocata nel percorso: ''/var/ftp/TEST'', come da impostazione editata nel file di configurazione appena creato (nulla vieta di modificare tale percorso nel file di configurazione, nonché di modificare i nomi delle directory, avendo cura, in seguito, di cambiare i nomi scelti al posto di quelli utilizzati in questa guida).<br/> | |||
Prima di tutto è necessario creare le sotto-directory ''/ftp'', e ''/ftp/TEST'' in ''/var'': pertanto, tramite il comando: <pre># mkdir /var/ftp | |||
# mkdir /var/ftp/TEST</pre> verranno create le due sotto-directory in ''/var''.<br/> | |||
Create le directory, bisogna assegnare il permesso di lettura ed esecuzione per il gruppo di utenti ''ftp'' alla home directory, pertanto, spostandoci nella directory ''/var/ftp'', bisognerà lanciare il comando: <pre># chgrp ftp TEST/</pre> verificando, tramite il comando: <pre># ls -al</pre> l'avvenuta assegnazione dei permessi.<br/> | |||
===Verifica della configurazione di VSFTPD sulla la rete locale=== | ===Verifica della configurazione di VSFTPD sulla la rete locale=== | ||
A questo punto è possibile creare un file di prova nella home directory per verificare che, dalla rete locale, sia accessibile, visibile e scaricabile.<br/> | |||
Ad esempio, tramite il comando (lanciato nella directory ''/var/ftp/TEST''): <pre># nano prova.txt</pre> è possibile creare un file testuale che, una volta salvato, sarà posizionato nella home del server.<br/> | |||
Per verificare che il file sia accessibile e scaricabile dalla rete locale, se non è ancora stato fatto, è necessario determinare l'indirizzo IP locale del server tramite il comando: <pre># ifconfig</pre> ed accedere, tramite browser, all'indirizzo: ftp://indirizzolocale, in questo modo è possibile verificare che il file sia presente ed accessibile, nonché, visualizzabile tramite il browser.<br/> | |||
==DNS Dinamico== | ==DNS Dinamico== | ||
===Configurazione del forwarding=== | ===Configurazione del forwarding=== |
Versione delle 18:46, 11 giu 2017
Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.
Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione. |
Versioni Compatibili Debian 8 "jessie" |
Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.
Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template. |
Premessa
Lo scopo principale di questa guida è quello di rendere fruibile a chiunque (e nel caso specifico agli utenti di Debian, nonchè di tutte le sue distro derivate) la possibilità di poter realizzare un server FTP che dia libero accesso ai contenuti condivisi su di esso.
E' inoltre possibile leggere qui la versione più estesa e completa della guida pensata e concepita come un progetto che sia più vicino agli utenti che non hanno alcun tipo di familiarità con ambienti UNIX/Linux e che gli consenta, comunque, di realizzare da zero un server FTP (completamente configurato), partendo dall'installazione e configurazione di Debian, fino ad arrivare alla sua immissione nella Grande Rete, senza tralasciare aspetti e concetti fondamentali, per un utente nuovo al mondo Linux (come, ad esempio, l'utilizzo del terminale e dei suoi comandi più comuni ed importanti), trattati in modo semplice e discorsivo.
In conclusione, entrambe le guide, portano allo stesso risultato, partendo, però, da due punti di vista differenti: la prima, questa, è pensata per gli utenti già navigati nel mondo di Debian, del terminale e del suo utilizzo, delle reti e così via, la seconda, invece, non da nulla per scontato e segue passo passo l'utente che si è appena avvicinato al mondo di Linux.
Fase preliminare
In questa sezione saranno vagliati i requisiti necessari per la corretta installazione del server FTP, nonché per il suo corretto funzionamento:
- N.B.: Da questo momento in avanti, TUTTI I COMANDI saranno lanciati come super-utente, quindi bisognerà loggarsi come utente radice oppure bisognerà eseguire i comandi premettendo
sudo
ad ogni comando.
- N.B. II: Nel caso in cui sul sistema non sia presente sudo bisognerà procedere al suo scaricamento ed alla sua installazione tramite il comando:
# apt-get install sudo
e procedere all'inserimento dell'utente corrente nella lista dei sudoers.
- N.B. II: Nel caso in cui sul sistema non sia presente sudo bisognerà procedere al suo scaricamento ed alla sua installazione tramite il comando:
Per ulteriori informazioni sulla procedura da seguire per l'inserimento dell'utente corrente nella lista dei sudoers ci si può rifare al manuale di sudo, oppure editare il file in /etc/sudoers con permessi di root ed aggiungere i permessi all'utente in uso.
Ogni ulteriore informazione è reperibile a questo indirizzo.
Verifica dei pre-requisiti e del software necessario
Per poter realizzare quanto proposto dalla guida, è strettamente necessario il possesso di due pacchetti fondamentali: make e gcc.
Se non sono installati sul sistema, bisogna procedere alla loro acquisizione ed installazione tramite i comandi:
# apt-get install make # apt-get install gcc
Tali pacchetti serviranno per installare e configurare il software che si occuperà di aggiornare l'indirizzo IP della macchina qualora questo venga cambiato dal DHCP.
E' inoltre opportuno sincerarsi che il router a cui si appoggerà il server fornisca la funzione di forwarding degli indirizzi, senza la quale il server sarà accessibile solamente dalla rete locale.
Scaricamento ed installazione di VSFTPD
Per questa guida è stato scelto l'utilizzo dell'implementazione VSFPTD per il protocollo FTP, che è possibile scaricare ed installare tramite il comando:
# apt-get install vsftpd
Una volta scaricato ed installato il pacchetto, il server sarà già attivo ed impostato con la sua configurazione di default.
E' inoltre possibile verificare lo stato del server tramite il comando:
# /etc/init.d/vsftpd status
Configurazione di VSFTPD
Il file di configurazione di VSFTPD è collocato nella directory /etc ed è possibile leggerne la configurazione di default tramite il comando
# less /etc/vsftpd.conf
Poichè la configurazione di default non va bene per gli scopi di questa guida, è necessario cambiarne il contenuto settando delle regole ad-hoc per lo scopo prefissato: ovvero rendere il server raggiungibile dall'esterno e fare in modo che sia possibile scaricarne gli elementi senza che gli utenti remoti e/o locali possano accedere in scrittura alla directory principale del server e quindi poter caricare a loro volta files e/o modificarli.
Tutta la documentazione relativa alle regole di VSFTPD è possibile trovarla al seguente link.
Prima di settare le nuove regole, sarebbe opportuno effettuare una copia di backup del file di configurazione originale tramite il comando:
# cp /etc/vsftpd.conf /home/vostronomeutente/Documenti
(o in qualsiasi altro percorso che sia di vostro gradimento).
Effettuata la copia del file, è possibile modificare il file contenuto nella directory /etc, che sarà quello effettivamente letto da VSFTPD.
Prima di procedere alla modifica, è necessario stoppare il demone vsftpd tramite il comando
# /etc/init.d/vsftpd stop
a questo punto bisognerà eliminare il contenuto del file ed incollare al suo interno le seguenti regole:
listen=YES anon_root=/var/ftp/TEST anonymous_enable=YES local_enable=NO hide_ids=YES no_anon_password=YES use_localtime=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES idle_session_timeout=600 data_connection_timeout=120 max_per_ip=2 ftpd_banner=Welcome to TEST FTP Server secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd
una volta copiate le regole, è possibile salvare il file e ri-avviare il demone tramite il comando:
# /etc/init.d/vsftpd restart
ed è inoltre possibile sincerarsi dello stato del demone utilizzando, ancora una volta, il comando:
# /etc/init.d/vsftpd status
Resta inteso che, dopo aver letto la documentazione ufficiale sulle regole di VSFTPD e la loro relativa sintassi, sarete in grado di apportare modifiche consistenti al file che abbiamo appena editato, essendo consapevoli del fatto che il comportamento del vostro server cambierà in base alle nuove regole che editerete.
Configurazione dei permessi: utente e directory per VSFTPD
In questa fase ci si occuperà del corretto settaggio dei permessi utente per la home directory del server, collocata nel percorso: /var/ftp/TEST, come da impostazione editata nel file di configurazione appena creato (nulla vieta di modificare tale percorso nel file di configurazione, nonché di modificare i nomi delle directory, avendo cura, in seguito, di cambiare i nomi scelti al posto di quelli utilizzati in questa guida).
Prima di tutto è necessario creare le sotto-directory /ftp, e /ftp/TEST in /var: pertanto, tramite il comando:
# mkdir /var/ftp # mkdir /var/ftp/TEST
verranno create le due sotto-directory in /var.
Create le directory, bisogna assegnare il permesso di lettura ed esecuzione per il gruppo di utenti ftp alla home directory, pertanto, spostandoci nella directory /var/ftp, bisognerà lanciare il comando:
# chgrp ftp TEST/
verificando, tramite il comando:
# ls -al
l'avvenuta assegnazione dei permessi.
Verifica della configurazione di VSFTPD sulla la rete locale
A questo punto è possibile creare un file di prova nella home directory per verificare che, dalla rete locale, sia accessibile, visibile e scaricabile.
Ad esempio, tramite il comando (lanciato nella directory /var/ftp/TEST):
# nano prova.txt
è possibile creare un file testuale che, una volta salvato, sarà posizionato nella home del server.
Per verificare che il file sia accessibile e scaricabile dalla rete locale, se non è ancora stato fatto, è necessario determinare l'indirizzo IP locale del server tramite il comando:
# ifconfig
ed accedere, tramite browser, all'indirizzo: ftp://indirizzolocale, in questo modo è possibile verificare che il file sia presente ed accessibile, nonché, visualizzabile tramite il browser.