FTP funksionon ne modelin client/server. Komponenti server quhet FTP daemon. Ai degjon ne menyre te vazhdueshme per kerkesa FTP nga klientet. Kur mberrin nje kerkese , FTP daemon mundeon loginin dhe krijon nje lidhje. Gjate sesionit daemon ekzekuton komandat qe dergohen nga klienti FTP.
Aksesi tek nje server FTP mund te trajtohet ne dy menyra:
Anonymous
Authenticated
Ne modelin anonim (Anonymous mode),klientet mund te aksesojne serverinFTP duke perdorur username standard "anonymous" ose "ftp" dhe duke vendosur nje adrese email si fjalekalim Ndersa ne modelin me autentikim( Authenticated mode) nje perdorues duhet te zoteroje nje username dhenje fjalekalim per tu lidhur me serverin ftp.
Ne Ubuntu perdoret vsftpd si nje server FTP. Per instalimin e vsftpd duhet instaluar paraprakisht paketa.
Nese duam ta aktivizojme ose c'aktivizojme modelin anonim duhet te modifikojme /etc/vsftpd.conf dhe te percaktojme
anonymous_enable=YES , per ta aktivizuar modelin anonim
anonymous_enable=NO , per te mos e lejuar modelin anonim
Gjate instalimit krijohet nje perdorues me emrin ftp i cili ka si direktori baze /srv/ftp. Kjo eshte direktoria baze e FTP .
Ushtrim
Krijoni nje dosje ne direktorine /srv/ftp dhe verifikoni nese nepermjet nje klienti ftp (psh coreftp lite) duke perdorur user anonymous mund te shikoni direktorine e krijuar nga terminali.
Nese deshironi te ndryshoni direktorine baze te ftp, pershembull nese doni ta vendosni kete If ne /srv/files/ftp mjafton te ndryshome direktorine baze te userit ftp:
sudo mkdir /srv/files/ftp
sudo usermod -d /srv/files/ftp ftp
Pasi keni ndryshuar direktorine home te perdorusit ftp eshte i nevojshem nje restart i vsftpd per te aplikuar ndryshimet
student@ubuntu:/srv$ sudo service vsftpd restart
vsftpd stop/waiting
vsftpd start/running, process 2484
student@ubuntu:/srv$
Si default, lejohet vetem aksesi anonim. Perdoruesit e sistemit nuk mund te logohen.
Nese do te tentojme te logohemi nga command line i windows me serverin tone ftp me perdoruesin student, do te merrnim gabimin e meposhtem:
C:\Users\exhina>ftp 192.168.1.104
Connected to 192.168.1.104.
220 (vsFTPd 2.3.5)
User (192.168.1.104:(none)): student
530 This FTP server is anonymous only.
Login failed.
ftp>
Per te lejuar perdoruesit e sistemit qe te logohen atehere duhet modifikuar skedari /etc/vsftpd.conf duke hequr komentin nga rreshti
local_enable=YES
Pas kesaj eshte e nvojshme te restartojme sherbimin vsftpd dhe perdoruesit e sistemit tashme kane akses.
student@ubuntu:/etc$ sudo service vsftpd restart
vsftpd stop/waiting
vsftpd start/running, process 2887
student@ubuntu:/etc$
Nese do te ritentoja nepermjet komandes se windows qe te lidhem me serverin me perdoruesin student do te lidhesha me sukses me te.
C:\Users\exhina>ftp 192.168.1.104
Connected to 192.168.1.104.
220 (vsFTPd 2.3.5)
User (192.168.1.104:(none)): student
331 Please specify the password.
Password:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos
test
226 Directory send OK.
ftp: 81 bytes received in 0.00Seconds 81000.00Kbytes/sec.
ftp>
Nga shembulli me lart veme re gjithashtu qe perdoruesit kur logohen me serverin jane lidhur ne direktorine e tyre home dhe mund te shikojne gjithe permbajtjen e kesaj direktorije.
Si rregull perdoruesit kane vetem te drejte leximi nga ftp ne dosjet e tyre.
Nese duam qe ti lejojme perdoruesve te shkruajne ne dosjet e tyre ne serverin ftp atehere duhet te modofikojme skedarin /etc.vsftpd.conf, duke hequr nga komenti rreshtin
#write_enable=YES
dhe me pas te restartojme sherbimin
student@ubuntu:/etc$ sudo service vsftpd restart
vsftpd stop/waiting
vsftpd start/running, process 2913
student@ubuntu:/etc$
Me poshte do te realizojme nje shembull i cili :
percakton ne skeletin e dosjeve te nje perdoruesi te ri qe krijohet nje dosje web per ruajtjen e website te perdoruesve
krijon nje perdorues me username=ictweb, password=ictweb. Per te do te krijohet ne /home/ictweb/ struktura e dosjeve te tij sic ndodhet tek skeleti/
do te modifikojme site me emrin ict ne /etc/apache2/sites-available, ne menyre te tille qe website www.ict.local te shenoje te /home/ictweb/web
do te testojme qe perdoruesi mund te administroje skedaret e sitet te tij nepermjet ftp
percaktimi i skeletit
Fillimisht dosja skel eshte pothuajse bosh.
student@ubuntu:/etc/skel$ ls
examples.desktop
student@ubuntu:/etc/skel$
Do te shtojme permbajtjen default qe duam te kene userat tane.
student@ubuntu:/etc/skel$ ls
examples.desktop
student@ubuntu:/etc/skel$
student@ubuntu:/etc/skel$ sudo mkdir web
student@ubuntu:/etc/skel$ ls
examples.desktop web
student@ubuntu:/etc/skel$ cd web
student@ubuntu:/etc/skel/web$ sudo nano index.html
student@ubuntu:/etc/skel/web$ ls
index.html
student@ubuntu:/etc/skel/web$ cat index.html
<h1>mire se vini ne siten tone</h1>
<p>permbajtjen mund ta administroni me FTP</p>
student@ubuntu:/etc/skel/web$
Krijimi i perdoruesit
student@ubuntu:/etc/skel/web$ sudo adduser ictweb
Adding user `ictweb' ...
Adding new group `ictweb' (1003) ...
Adding new user `ictweb' (1003) with group `ictweb' ...
Creating home directory `/home/ictweb' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for ictweb
Enter the new value, or press ENTER for the default
Full Name []: ICT Website
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
student@ubuntu:/etc/skel/web$
Te verifikojme nese eshte krijuar direktoria web brenda direktorise home te perdoruesit ictweb.
student@ubuntu:/home$ ls
ictweb klient1 student
student@ubuntu:/home$ cd ictweb/
student@ubuntu:/home/ictweb$ ls
examples.desktop web
student@ubuntu:/home/ictweb$ cd web/
student@ubuntu:/home/ictweb/web$ ls
index.html
student@ubuntu:/home/ictweb/web$ cat index.html
<h1>mire se vini ne siten tone</h1>
<p>permbajtjen mund ta administroni me FTP</p>
student@ubuntu:/home/ictweb/web$
Krijimi i sitet
Per efekt shembulli do te modifikojme nje site ekzistues i cili kapet nga www.ict.local. Site paraprakisht eshte quajtur ict.
Do te modifikojme vetem DocumentRoot, ne menyre te tille qe te shenoje tek dosja web brenda home te perdoruesit ictweb.
ServerName ict.local
ServerAlias www.ict.local
DocumentRoot /home/ictweb/web/
Riaktivizojme siten dhe restartojme serverin e web
student@ubuntu:/etc/apache2/sites-available$ sudo a2dissite ict
Site ict disabled.
To activate the new configuration, you need to run:
service apache2 reload
student@ubuntu:/etc/apache2/sites-available$ sudo service apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting .apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]
student@ubuntu:/etc/apache2/sites-available$ sudo a2ensite ict
Enabling site ict.
To activate the new configuration, you need to run:
service apache2 reload
student@ubuntu:/etc/apache2/sites-available$ sudo service apache2 restart
* Restarting web server apache2 Warning: DocumentRoot [/home/ictweb/iweb/] does not exist
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
... waiting Warning: DocumentRoot [/home/ictweb/iweb/] does not exist
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]
student@ubuntu:/etc/apache2/sites-available$
Nese do te tentonim ne kete rast te hapnim adresen http://www.ict.local duhet te ne shfaqet faqja e indeksit qe krijuam me lart
Verifikimi
Te verfikojme qe perdoruesi ka mundesi te administroje permbajtjen e sitet nepermjet FTP
C:\Users\student>ftp 192.168.1.104
Connected to 192.168.1.104.
220 (vsFTPd 2.3.5)
User (192.168.1.104:(none)): ictweb
331 Please specify the password.
Password:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
examples.desktop
web
226 Directory send OK.
ftp: 23 bytes received in 0.00Seconds 11.50Kbytes/sec.
ftp> cd web
250 Directory successfully changed.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
index.html
226 Directory send OK.
ftp: 12 bytes received in 0.00Seconds 6.00Kbytes/sec.
ftp>