configurare vsftpd su ubuntu

Discussioni sui sistemi operativi Unix like, con un occhio di riguardo per Linux.

Moderatori: cb_123, thrantir, netvandal, CaberNET54

configurare vsftpd su ubuntu

Messaggiodi dannyb78 il 19 nov 2007, 20:49

Per necessità mi sono trovato a dover lavorare con una macchina linux, una ubuntu 7.10 che funziona da webserver per i test conun sistema LAMP.
Non senza difficoltà sono riuscito a far funzionare il tutto in una macchina virtuale (creata con VMware), installare e configurare il sistema operativo e i vari aggiornamenti, il sistema LAMP di base, un editor web per le emergenze.
Passaggio successivo, anche questo non privo di difficoltà per un neofita come me è stata l'attivazione e configurazione del servizio smb per poter caricare i file direttamente da windows sulla cartella del webserver.
Adesso ho la necessità di accedere allo stesso server anche dall'ufficio, e di potervi far accedere altre persone che collaborano alla realizzazione dei siti. Il sistema più semplice sarebbe utilizzare l'ftp, quindi ho configurato le porte TCP 20 e 21 su firewalls e router ed ho installato vsftpd.

Ora però viene il bello... ho visto come si fa ad abilitare/disabilitare l'accesso anonimo e con le credenziali degli utenti locali, sia in sola lettura che in scrittura. Io però ho bisogno di creare dei nuovi utenti (che non siano utenti locali, cioè le cui credenziali non siano utilizzabili per aprire una sessione del sistema operativo) ed assegnargli diritti diversi a seconda delle cartelle.
Solo che non so nè come si creano gli utenti, nè come si assegnano i diritti per l'accesso ftp sulle varie cartelle. Tant'è che adesso il servizio è attivo ma non ci sono cartelle accessibili via ftp.

Ogni aiuto è gradito, grazie!
CM Cosmos S | CM Pro Real Power 1000W | ASUS P6T6 WS Revolution | intel i7 965 extreme | CM V8 | Corsair DHX 1600C8 6*2GB | ASUS EAH4870X2 | Creative X-Fi Titanium Fatal1ty Champion Series | WD Velociraptor 300 +Seagate 1,5TB | ASUS Bluray BC-08B1ST | NZXT Sentry LX | Panasonic TH-D42PT84

MTB CLUB CECINA - XII GRANFONDO COSTA DEGLI ETRUSCHI - Marina di Bibbona ||| Foto edizione 2009!!!
Avatar utente
dannyb78
Luce delle stelle
Luce delle stelle
 
Messaggi: 2648
Iscritto il: 26 giu 2005, 16:33
Località: Cecina

 

Re: configurare vsftpd su ubuntu

Messaggiodi dannyb78 il 20 nov 2007, 14:22

problema risolto.
Ad uso e consumo del forum riporto [url=http://www.mepisitalia.org/modules/soapbox/article.php?articleID=49
] questa ottima guida su mepisitalia [/url] :

Mi permetto di trascriverla, ringraziando ovviamente l'autore, peraltro anonimo

Una guida rapida e (spero completa) alla installazione e all'uso di un server FTP usando vsftpd. La traccia base mi è stata data dall'articolo già pubblicato su questo sito, ed ho cercato di completarlo e di chiarire alcuni punti che mi sembrano importanti.

Ho cercato a lungo su internet un FTP Server che potesse fare al caso mio. Le caratteristiche che tale applicazione doveva avere erano (e sono) le seguenti:
Facile installazione
Facile gestione
Permettere l'accesso sia a utenti anonymous che ad utenti accreditati
Possibilmente supportato da una interfaccia GUI
Ho valutato vari server, sia per Winzozz che per linux e sono stato ad un passo dall'utilizzare il Filezilla Server per Windows. Questo perché è di una facilità estrema di gestione e di configurazione, grazie alla comoda interfaccia grafica.
Ma questo server mi serve per gestire uno spazio su disco a disposizione dei miei clienti (per il loro backup dati), pertanto non potevo permettermi nessun tipo di sorpresa, tipo schermate blu o una gestione “allegra” delle cartelle...
Così mi sono spulciato le repository ed ho provato alcuni server FTP su linux: pureftp, proftpd,wu-ftp e alla fine vsftpd. Premetto che per i server di cui sopra, si trovano raramente delle interfacce GUI valide o che funzionino regolarmente. Pertanto, l'interfaccia l'ho dovuta considerare non fondamentale.
La mia scelta è caduta sul vsftpd, per una ragiona semplice: funziona bene e al primo colpo. La documentazione che ho trovato su internet è assolutamente frammentaria, spesso molti siti si copiano l'un l'altro. Inoltre, le spiegazioni si limitano al solo uso come server per utenti anonymous. E questo, è quantomeno singolare! Armato di santa pazienza, ho raccolto un po di appunti ed ho buttato giù questa guida. Spero che sia utile ad altri che la pensavano come me: usare un server FTP da riga di comando, non solo è facile ma anche poco impegnativo!
In questa guida, riferirò di come utilizzare il ftp server per più utenti accreditati.
INSTALLAZIONE
Niente di più facile: da synaptic, selezionare vsftpd e via....
PRIMA CONFIGURAZIONE
Alcune cose da ricordare:
1) innanzitutto una cosa che TUTTE le altre guide si dimenticano (!!!) di specificare. La cartella usata come “root” del nostro sito ftp è la seguente:
/var/ftp
2) Fondamentale: ogni utente del sito FTP, deve essere definito come utente del sistema con tutto quello che ne consegue (di positivo).
3) non appena installato, vsftpd è già perfettamente funzionante, come server per un utente denominato (con molta fantasia) “ftp”: potete eseguire il test semplicemente digitando da console:
ftp 192.168.1.4 (...o l' indirizzo IP del vs. computer della rete)
ed utilizzare l'utente “ftp”:
username: ftp
password: ftp
Visto, funziona!
PREPARAZIONE E PERSONALIZZAZIONE DELL'AMBIENTE DI LAVORO
Innanzitutto occorre creare la cartella di root del server (quella nella quale accederanno gli utenti, per capirci). Da root:

mkdir /var/ftp

Se si vuole creare la cartella in un altro disco (cosa che io ho fatto: il sistema linux l'ho messo su hda1, il disco archivio è sda1, un bel 500GB massiccio e capiente..), si può creare una cartella sul secondo disco (io l'ho chiamata /mnt/sda1/ftproot), e creare un link simbolico alla cartella ftp (lo consiglio):

ln -s /mnt/sda1/ftproot /var/ftp

Fatto questo, occorre personalizzare il file di configurazione di vsftpd (/etc/vsftpd.conf): questo file contiene tutti i parametri necessari per il funzionamento del server. Esistono molti parametri di configurazione, per i quali vi rimando alla documentazione su google... Quello riportato di seguito, è il mio file /etc/vsftpd.conf .
Prima però mi faccio una copia del file standard, non si sa mai:
cp /etc/vsftpd.conf /etc/vsftpd.conf.old
Per editare i files, io uso “nano” ma potete editarli con l'editor che preferite.

nano /etc/vsftpd.conf

Inserire questi parametri, cancellando tutto il contenuto precedente (l'avete fatta la copia, vero?)

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
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
# definiamo una lista di utenti autorizzati
# nel file /etc/vsftpd.user_list
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list

CREAZIONE DEGLI UTENTI

Ripeto, visto che è fondamentale: ogni utente del server FTP è anche un utente del sistema linux!
Aggiungiamo adesso il primo utente linux (pippo), e creiamo cartella relativa sulla cartella ftp.

mkdir /var/ftp/pippo
useradd -d /var/ftp/pippo pippo
chown /var/ftp/pippo pippo
Posso creare tutti gli utenti che voglio adesso o posso anche aggiungerli successivamente.
Una nota importante: il parametro chroot_local_user=YES visto sopra, nel file /etc/vsftpd.conf , fa in modo che nel momento dell'accesso, l'utente venga indirizzato (chroottato, oserei dire) nella propria cartella, definita nel momento della creazione dell'utente stesso.
Problema: come faccio a dire a vsftpd quali utenti sono ammessi all'accesso nl nostro server? Semplicissimo, basta creare un file chiamato /etc/vsftpd.user_list contenente la lista degli utenti ammessi:

nano /etc/vsftpd.user_list

Che in genere figura cosi

# file /etc/vsftpd.user_list
# Lista Utenti Autorizzati
pippo
pluto
topolino

Naturalmente, ogni volta che aggiungo un utente, dovrò aggiungerlo a mano nel file di cui sopra, pena il mancato riconoscimento da parte del server (quante nottate si possono perdere per un errore come questo!!!!!)

Ad ogni modifica, si deve far riavviare il server FTP:

/etc/init.d/vsftpd restart

Effettuate pure delle prove. Vi consiglio di creare almeno 2 utenti, e creare dentro alla cartella relativa ad ogni utente, un semplice file di testo, anche vuoto, ma che identifica visivamente il contenuto della cartella:
touch /var/ftp/pippo/quisiamodentropippo.txt
oppure
touch /var/ftp/pluto/semivediseidentroallacartelladipluto.txt
Lo so, sarebbe sufficiente dare un comando
pwd
una volta effettuato l'accesso, per sapere in quale cartella siamo, ma vuoi mettere l'emozione di vedere il primo file scritto nella cartella?
LA FAMIGERATA PORTA 21
Non fate come me: visto che il server FTP usa la porta 21, aprite immediatamente tale porta nel vostro router, pena la impossibilità di accedere dall'esterno al vostro server! In pratica, funzionerebbe solo nella vostra intranet!
ACCEDERE AL SERVER DA INTERNET
Un server FTP, normalmente deve essere usato da utenti che vi accedono via internet. Come fare? Semplice. Invece di richiamare il nostro server digitando l'indirizzo IP del nostro computer sulla rete intranet, basterà digitare l'indirizzo IP assegnatovi dal provider di internet. Per sapere quale è il nostro indirizzo IP su internet, basterà consultare il sito:
http://www.showmyip.com
Supponiamo di avere come responso: 83.128.128.128
Bene, da qualsiasi computer del mondo collegato ad internet, basterà digitare:
ftp 83.128.128.128
Magia! Funziona!
UN TOCCO PROFESSIONALE..
Se usiamo personalmente il nostro server, quella sfilza di numeri può non essere un problema. Ma non è molto bello, né professionale, ed oltretutto possiamo dimenticarci facilmente qualche numero.
Per fortuna, esistono dei siti che permettono di assegnare un “alias” (sarebbe troppo definirlo dominio) che da un senso compiuto all'indirizzo IP.
Quello che ho usato io è il servizio offerto dal sito:
http://www.no-ip.com

Ci si registra gratuitamente, e una volta creato il nostro account, possiamo scegliere un nome e linkarlo nostro indirizzo IP. Se voglio chiamare il mio sito ad esempio “downloadpertutti”, il servizio del sito no-ip.com farà in modo che chiunque, su internet, punti al server chiamato “downloadpertutti”, venga reindirizzato al computer avente indirizzo IP 83.128.128.128 . Bello vero? Il servizio è gratuito: l'unico scotto da pagare è che il mio server non si chiamerà solo “downloadpertutti” ma “downloadpertutti.no-ip.org” (da notare che il sito si chiama no-ip.COM, mentre la scritta aggiunta è no-ip.ORG, fare attenzione a non confondersi). La parte finale viene aggiunta dal sito, ma non da assolutamente fastidio, visto l'enorme servizio che ci rende.

In pratica, da console, posso digitare:

ftp 83.128.128.128

oppure:

ftp downloadpertutti.no-ip.org

ATTENZIONE:
Se non si dispone di un indirizzo IP statico (possibilissimo, basta chiederlo al nostro provider di internet), ogni volta che mi disconnetto da internet, l'indirizzo IP che il provider ci assegnerà sarà sicuramente diverso! Per ovviare a questo, rientrare nel sito http://www.no-ip.com, accedere al proprio account, modificare l'indirizzo IP vecchio con quello nuovo. Meglio non spengere mail il router...

LA CILIEGINA SULLA TORTA!

Una volta configurato il server FTP, e testato in tutte le funzionalità, sarebbe bello e professionale aggiungere un messaggio iniziale di benvenuto. Questo messaggio sarà contenuto in un semplice file di testo (/etc/welcome.banner).

Aggiungere al file /etc/vsftpd.conf le seguenti righe:
# Aggiunge un messaggio iniziale
banner_file=/etc/welcome.banner

Poi creare il file ti puro testo (/etc/welcome.banner)

Benvenuti sul server FTP di Mario Rossi.
Inserisci i tuoi dati per l'autenticazione
Tutte le attivita sono monitorate.
Ti auguriamo un buon lavoro....


(o qualsiasi altra cosa vi venga in mente!)

e far ripartire il server:
/etc/init.d/vsftpd restart

Alla connessione, vedremo anche il messaggio di accesso...

THE END
CM Cosmos S | CM Pro Real Power 1000W | ASUS P6T6 WS Revolution | intel i7 965 extreme | CM V8 | Corsair DHX 1600C8 6*2GB | ASUS EAH4870X2 | Creative X-Fi Titanium Fatal1ty Champion Series | WD Velociraptor 300 +Seagate 1,5TB | ASUS Bluray BC-08B1ST | NZXT Sentry LX | Panasonic TH-D42PT84

MTB CLUB CECINA - XII GRANFONDO COSTA DEGLI ETRUSCHI - Marina di Bibbona ||| Foto edizione 2009!!!
Avatar utente
dannyb78
Luce delle stelle
Luce delle stelle
 
Messaggi: 2648
Iscritto il: 26 giu 2005, 16:33
Località: Cecina

Re: configurare vsftpd su ubuntu

Messaggiodi thrantir il 20 nov 2007, 14:52

davvero un'ottima guida! :D
Fletto i muscoli e sono nel vuoto
Principi di architettura degli eleboratori
X postare immagini
-----BEGIN GEEK CODE BLOCK-----
GCS/IT/L/MU d- s: a C++$>+++ UL+>++ P L+++>++++ E--- W++ N++>+++ o+>++ K? w O-- M- VMS? V- PS++ Y+ PGP+ t 5? X+ R++>+++ tv+ b+++>++++ DI+++ D++ G e++ h- r++ y++
------END GEEK CODE BLOCK------
Addio Dani, sono più ricco perchè ti ho conosciuto
Avatar utente
thrantir
Moderatore
Moderatore
 
Messaggi: 8897
Iscritto il: 27 mag 2003, 13:32
Località: Pisa

Re: configurare vsftpd su ubuntu

Messaggiodi dannyb78 il 21 nov 2007, 13:22

ottima, probabilmente non molto interessante, visto che queste informazioni sono piuttosto difficili da reperire sul web. In effetti non credo siano molti gli utenti privati interessati a crearsi un server ftp incasa basandosi su tecnologia linux. Comunque sia a me ha risolto un problema quindi l'ho riportata ;)
CM Cosmos S | CM Pro Real Power 1000W | ASUS P6T6 WS Revolution | intel i7 965 extreme | CM V8 | Corsair DHX 1600C8 6*2GB | ASUS EAH4870X2 | Creative X-Fi Titanium Fatal1ty Champion Series | WD Velociraptor 300 +Seagate 1,5TB | ASUS Bluray BC-08B1ST | NZXT Sentry LX | Panasonic TH-D42PT84

MTB CLUB CECINA - XII GRANFONDO COSTA DEGLI ETRUSCHI - Marina di Bibbona ||| Foto edizione 2009!!!
Avatar utente
dannyb78
Luce delle stelle
Luce delle stelle
 
Messaggi: 2648
Iscritto il: 26 giu 2005, 16:33
Località: Cecina

Re: configurare vsftpd su ubuntu

Messaggiodi CaberNET54 il 21 nov 2007, 19:02

:D Davvero ottimo lavoro Dannyb78 e guida interessantissima, straquoto l'amico Matteo (Thrantir)

:thumright:
Immagine
ASROCK 880G Extreme3 - PHENOM II X6 1055T (OC Daily 3724 Mhz @ 1,3375 Vcore rock-solid) - Cooling by Noctua NH-D14 - Corsair 8GB (4x XMS3 2GB) PC-12800 - POV 8800GT 512Mb @ EXO 650/1950/1625 + Zalman GV1000 - OCZ Vertex2 120GB - 2 x WD Caviar 1 Tb - Enermax Chakra Monster Fan & Modu82+ 625W - APC BACK-UPS RS 800VA.
Immagine
multiboot (WINDOWS7 Ultimate 64bit - UBUNTU 10.04 LTS 64bit)
SEMINA LINUX CHE TANTO WINDOWS SI PIANTA DA SOLO
Avatar utente
CaberNET54
Moderatore
Moderatore
 
Messaggi: 2335
Iscritto il: 02 gen 2004, 08:17
Località: Venezia

Re: configurare vsftpd su ubuntu

Messaggiodi dannyb78 il 24 nov 2007, 00:30

CaberNET54 ha scritto::D Davvero ottimo lavoro Dannyb78 e guida interessantissima, straquoto l'amico Matteo (Thrantir)

:thumright:


Grazie caro. E grazie a thra per i consigli preziosi.
CM Cosmos S | CM Pro Real Power 1000W | ASUS P6T6 WS Revolution | intel i7 965 extreme | CM V8 | Corsair DHX 1600C8 6*2GB | ASUS EAH4870X2 | Creative X-Fi Titanium Fatal1ty Champion Series | WD Velociraptor 300 +Seagate 1,5TB | ASUS Bluray BC-08B1ST | NZXT Sentry LX | Panasonic TH-D42PT84

MTB CLUB CECINA - XII GRANFONDO COSTA DEGLI ETRUSCHI - Marina di Bibbona ||| Foto edizione 2009!!!
Avatar utente
dannyb78
Luce delle stelle
Luce delle stelle
 
Messaggi: 2648
Iscritto il: 26 giu 2005, 16:33
Località: Cecina

Re: configurare vsftpd su ubuntu

Messaggiodi Ibanez89 il 24 dic 2008, 10:07

piccolo update a questa fantastica guida... mi è servita molte volte grazie dannyb78

il server vsftpd nelle ultime versioni non ha più come cartella di default

/var/ftp

ma

/home/ftp
CiAo DanIele...

Immagine
Pentium4 Northwood HT 2.6@3000 "230*13" vcore def [RIP] King Value 512*2 200@230 cas2@3 Ati x800gto2@x850pe powered by Arctic Cooler [RIP] Mother ASRock P4VM900-SATA2 [RIP]
insomma poco alla volta mi si sta bruciando tutto :asd:

Immagine
Avatar utente
Ibanez89
AmdPlanet Guru
AmdPlanet Guru
 
Messaggi: 5563
Iscritto il: 15 apr 2006, 17:31
Località: Corato (BA)

 

Torna a Linux e Unix

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite