Iako je protokol za prenos datoteka (FTP) prilično star, stariji od većine korisnika interneta, on je i dalje u upotrebi. FTP ne poseduje sigurnosne mehanizme modernih protokola, ali ćete možda biti u situaciji da ga morate koristiti. U nastavku teksta objasnićemo kako to možete učiniti.
Važno upozorenje: Izbegavajte korišćenje FTP-a preko Interneta
Na samom početku da razjasnimo jednu stvar: FTP protokol je nastao davnih 1970-ih godina i nije dizajniran sa akcentom na bezbednost. On ne koristi enkripciju ni za jedan aspekt komunikacije. Akreditivi za prijavu, kao što su korisničko ime i lozinka, kao i podaci koje preuzimate ili postavljate, prenose se u nešifrovanom obliku. To znači da svako ko se nalazi na putu prenosa podataka može da vidi vaše osetljive informacije. Ipak, FTP ima svoju primenu.
Ako prenosite datoteke unutar vaše lokalne mreže, to bi trebalo da bude relativno bezbedno, pod uslovom da niko na mreži ne prati saobraćaj i ne prisluškuje prenos osetljivih dokumenata. Ukoliko vaše datoteke nisu poverljive ili osetljive, njihov prenos unutar interne mreže putem FTP-a ne bi trebalo da predstavlja problem. Linux ima standardni ftp program komandne linije koji služi upravo za takve scenarije.
Međutim, ne preporučuje se korišćenje komande ftp za pristup spoljnim resursima preko interneta. Umesto toga, treba koristiti sftp program komandne linije, koji koristi siguran SSH protokol za prenos datoteka. U ovom vodiču ćemo se upoznati sa oba ova programa.
Da biste bolje razumeli zašto nikada ne treba koristiti FTP preko Interneta, pogledajte prikaz na slici ispod. Na njoj je prikazana FTP lozinka u čistom tekstu. Svako na vašoj mreži ili između vas i FTP servera na Internetu može lako da vidi da je lozinka „MojaTajnaLozinka“.
Bez enkripcije, zlonamerni korisnik bi takođe mogao da manipuliše datotekama koje preuzimate ili postavljate tokom prenosa.
Upotreba ftp komande
Pod pretpostavkom da posedujete važeći nalog na FTP serveru, možete se povezati na njega pomoću sledeće komande. U daljem tekstu, zamenite IP adresu u komandama sa IP adresom FTP servera na koji se povezujete.
ftp 192.168.4.25
Upozorenje: Komandu ftp treba koristiti isključivo za povezivanje sa serverima na pouzdanoj lokalnoj mreži. Za prenos datoteka preko interneta, koristite komandu sftp, koja je opisana u nastavku.
FTP server odgovara porukom dobrodošlice. Tekst pozdrava može se razlikovati od servera do servera. Zatim se traži korisničko ime naloga na koji se prijavljujete.
Obratite pažnju na to da se prikazuje IP adresa veb lokacije na koju se povezujete, kao i vaše korisničko ime za Linux. Ako je ime vašeg naloga na FTP serveru isto kao vaše Linux korisničko ime, samo pritisnite taster Enter. Na taj način će se koristiti vaše Linux korisničko ime kao ime naloga na FTP serveru. Ako se vaše Linux korisničko ime i ime FTP naloga razlikuju, unesite korisničko ime FTP naloga, a zatim pritisnite Enter.
Prijava na FTP server
Biće zatraženo da unesete lozinku za FTP server. Unesite lozinku i pritisnite Enter. Vaša lozinka se neće prikazati na ekranu. Ukoliko FTP server potvrdi kombinaciju vašeg FTP korisničkog imena i lozinke, uspešno ste prijavljeni na FTP server.
Pojaviće se ftp> prompt.
Pregledanje i preuzimanje datoteka
Najpre, verovatno ćete želeti da prikažete listu datoteka na FTP serveru. Komanda ls služi upravo za to. Naš korisnik primećuje da se datoteka gc.c nalazi na FTP serveru i želi da je preuzme na svoj računar. Njegov računar se u FTP terminologiji naziva „lokalni računar“.
Komanda za preuzimanje (ili „dobijanje“) datoteke je get. Naš korisnik stoga unosi komandu get gc.c. Unosi get, razmak, a zatim ime datoteke koju želi da preuzme.
FTP server odgovara prenosom datoteke na lokalni računar i potvrđuje da je transfer obavljen. Takođe se prikazuje veličina datoteke i vreme potrebno za prenos.
ls
get gc.c
Da biste preuzeli više datoteka odjednom, koristite komandu mget (višestruko dobijanje). Komanda mget će tražiti potvrdu da li želite da preuzmete svaku datoteku pojedinačno. Odgovorite pritiskom na „y“ za da i „n“ za ne.
Ovo može biti zamorno za veći broj datoteka. Zbog toga se kolekcije povezanih datoteka obično čuvaju na FTP serverima kao pojedinačne tar.gz ili tar.bz2 datoteke.
mget *.c
Postavljanje datoteka na FTP server
U zavisnosti od dozvola dodeljenih vašem FTP nalogu, možda ćete moći da postavite (ili „stavite“) datoteke na server. Da biste postavili datoteku, koristite komandu put. U našem primeru, korisnik postavlja datoteku pod imenom Songs.tar.gz na FTP server.
put Songs.tar.gz
Kao što verovatno očekujete, postoji komanda za postavljanje više datoteka na FTP server odjednom. Ona se zove mput (višestruko postavljanje). Slično kao i komanda mget, mput će tražiti potvrdu „y“ ili „n“ za postavljanje svake datoteke, jednu po jednu.
Isti argument za smeštanje skupova datoteka u tar arhive važi za postavljanje datoteka kao i za njihovo preuzimanje. Naš korisnik postavlja više „.odt“ datoteka sledećom komandom:
mput *.odt
Kreiranje i promena direktorijuma
Ako vaš korisnički nalog na FTP serveru to dozvoljava, možda ćete moći da kreirate direktorijume. Komanda za to je mkdir. Važno je napomenuti da će svaki direktorijum koji kreirate pomoću komande mkdir biti kreiran na FTP serveru, a ne na vašem lokalnom računaru.
Za promenu direktorijuma na FTP serveru, koristite komandu cd. Kada koristite komandu cd, ftp> prompt se neće promeniti tako da odražava vaš novi trenutni direktorijum. Komanda pwd (print working directory) će vam prikazati vaš trenutni direktorijum.
Naš FTP korisnik kreira direktorijum koji se zove muzika, prelazi u taj novi direktorijum, potvrđuje svoju lokaciju koristeći komandu pwd, a zatim postavlja datoteku u taj direktorijum.
mkdir music
cd music
pwd
put songs.tar.gz
Za brzo prelaženje u nadređeni direktorijum trenutnog direktorijuma, koristite komandu cdup.
cdup
Pristup lokalnom računaru
Za promenu direktorijuma na lokalnom računaru, možete koristiti komandu lcd na ftp> promptu. Međutim, lako je izgubiti pregled o tome gde se nalazite u lokalnom sistemu datoteka. Pogodniji način pristupa lokalnom sistemu datoteka je korišćenje ! komande.
Komanda ! otvara prozor ljuske na lokalnom računaru. U ovoj ljusci možete da uradite sve što možete u standardnom prozoru terminala. Kada ukucate exit, vraćate se na ftp> prompt.
Naš korisnik je iskoristio komandu ! i ušao u prozor ljuske na lokalnom računaru. Izdao je komandu ls da vidi koje su datoteke prisutne u tom direktorijumu, a zatim ukucao exit da bi se vratio na ftp> prompt.
!
ls
exit
Preimenovanje datoteka
Za preimenovanje datoteka na FTP serveru, koristite komandu rename. Ovde naš FTP korisnik preimenuje datoteku koristeći rename, a zatim koristi komandu ls da prikaže datoteke u direktorijumu.
rename songs.tar.gz rock_songs.tar.gz
ls
Brisanje datoteka
Za brisanje datoteka na FTP serveru koristite komandu delete. Da biste obrisali nekoliko datoteka odjednom, koristite komandu mdelete. Biće zatraženo da date potvrdu „y“ ili „n“ za brisanje svake datoteke.
Ovde je naš FTP korisnik prikazao datoteke da bi video njihova imena, a zatim je izabrao jednu za brisanje. Potom odlučuje da ih sve obriše.
ls
delete gc.o
mdelete *.o
Korišćenje sftp komande
Čitaoci koji su upoznati sa sistemom IP adresiranja primetiće da je 192.168 adresa FTP servera korišćena u gornjim primerima interna IP adresa, koja se takođe naziva privatna IP adresa. Kao što je napomenuto na početku ovog teksta, komandu ftp treba koristiti isključivo na internim mrežama.
Ukoliko želite da se povežete na udaljeni ili javni FTP server, koristite sftp komandu. Naš korisnik će se povezati sa SFTP nalogom pod imenom demo na javno dostupnom FTP serveru koji se nalazi na test.trebek.net.
Nakon uspostavljanja veze, dobijaju obaveštenje da je veza uspostavljena. Takođe su obavešteni da se autentičnost hosta ne može proveriti. Ovo je uobičajeno prilikom prve veze sa novim hostom. Pritiskaju „y“ da prihvate vezu.
Pošto je ime korisničkog naloga (demo) prosleđeno u komandnoj liniji, od njih se ne traži korisničko ime. Traži se samo lozinka. Ovo se unosi, verifikuje i prihvata, a oni se prikazuju sa sftp> promptom.
sftp [email protected]
FTP komande koje smo opisali gore funkcionisaće isto u SFTP sesiji, uz sledeće izuzetke:
Za brisanje datoteke koristite rm (FTP koristi delete)
Za brisanje više datoteka koristite mrm (FTP koristi mdelete)
Za prelazak u roditeljski direktorijum koristite cd .. (FTP koristi cdup)
Naš korisnik je koristio nekoliko komandi u svojoj SFTP sesiji. Koristio je ls za prikaz liste datoteka i cd za prelazak u pub direktorijum. Koristio je pwd za prikaz trenutnog direktorijuma.
Postoje i druge opcije za prenos datoteka u Linux svetu, posebno scp (sigurna kopija), ali ovde smo se fokusirali na FTP i SFTP. Korišćenjem u odgovarajućim scenarijima, ove dve komande će dobro poslužiti vama i vašim potrebama za čuvanje i preuzimanje datoteka.