Tartalomjegyzék

< FTP szerver

FTP elmélet

Bevezetés

Az FTP a File Transfer Protocol rövidítése. Fájlok átvitelére, Abhay Bhushan által megalkotott protokoll.

A következő szabványok írják le:

A fájlok átvitele volt az első alkalmazás amire használták az korai ARPANET-et.

Kliens szerver alapú megoldás, egy fájl le- vagy feltöltése egy valahol a világhálón elhelyezett szerverről történik.

Meg kell jegyezzük, mai napság elterjedtek e mellett a peer-to-peer hálózatok, ahol a letöltés több helyről is történik egyszerre, így gyorsabb, hatékonyabb átvitelt érve el ezzel.

Kettős csatorna

Abhay úgy gondolta, ha két kapcsolatot építünk ki, az egyiket vezérlésre használjuk, a másikat a konkrét adatok (fájlok) átvitelére, akkor hatékonyabb lesz a protokoll. Ezért az FTP mai napig két csatornával dolgozik.

Két mód

A kettős csatornahasználatnak két fajtája van:

Az „aktív” és a „passzív” kapcsolatnál is a szerver a 21-es porton várja a klienseket. Mindkét esetben a 21-es portra kiépül egy vezérlőkapcsolat.

Az „aktív” kapcsolat esetén a szerver a 20-as porton is kiépít egy kapcsolatot a kliens által megadott másik portra.

Kliens Szerver
1024 port 21 port
1025 port 20 port

A kliens oldalon persze nem biztos, hogy az 1024-es és 1025-ös port nyílik meg. 1023 felett, amelyik szabad.

Kliens Szerver
1024 port 21 port
1025 port 1024 port

Azonosítás

Az azonosítás lehetséges módjai

Linuxos felhasználók

Az FTP szerverek telepítés után általában lehetővé teszik, hogy a Linuxon felvett felhasználók használhassák azt.

Virtuális felhasználók

Előfordulhat azonban, hogy olyan felhasználónak szeretnénk FTP hozzáférést adni, aki a linuxos rendszerben nem létezik és nem is akarjuk ott létrehozni. Ekkor egy külön adatbázist hozunk létre a felhasználók számára, ők a rendszerben csak virtuálisan lesznek jelen. Úgy szokás nevezni őket, hogy virtuális felhasználók.

Anonymous felhasználók

A harmadik lehetőség, hogy olyan felhasználók számára adunk hozzáférési lehetőséget aki sem a Linuxon, sem a virtuális adatbázisban nem létezik. Ők lesznek az anonymous, azaz névtelen felhasználók. Az anonymous felhasználók számára egyetlen könyvtárat szoktunk csak kiszolgálni. Ha egy ilyen FTP szervert szeretnék elérni, akkor felhasználónévnek az „anonymous” szót írom. A rendszer ebből tudja, hogy a névtelen felhasználók könyvtárát akarom elérni. Olyankor szoktuk használni, ha valamit nyilvánosan elérhetővé szeretnénk tenni. Vannak rendszergazdák, akik az anonymous felhasználók számára jelszóként egy e-mail címet kérnek be. Ilyenkor általában megkövetelik, hogy legyen szabályos e-mail cím.

Titkosítás

Régebben, amikor nyilvánvalóvá vált, hogy internetes kapcsolatainkat titkosítani kell a biztonság érdekében, azért ellenezték az FTP használatát mert a szerverek nem biztosították ezt. A szerverek programozói lassan építették be FTP szervereikbe ezt a lehetőséget. Persze kliens program sem nagyon akadt amely tudta használni a titkosítást.

SSL/TLS

A titkosított átvitelre volt két protokoll SSL/TLS, amely azt biztosítja, hogy egy meglévő protokollt titkosítsunk. Az SSL és/vagy a TLS lehetőségét építették be a programozók a szervereikbe.

Ma már a népszerű FTP szerverek mindegyike képes a titkosított átvitelre.

FTP kommunikáció

Az FTP kommunikáció parancsai a teljesség igénye nélkül
USER felhasználónév
PASS jelszó
LIST a könyvtár listázása
MKD könyvtár létrehozása
CWD könyvtár csere
PWD aktuális könyvtár
RETR kliens letölt egy fájlt
DELE egy fájl törlése
STOR egy fájl feltöltése a szerverre
RNFR egy fájl átnevezése az RNTO-ban megadottra
RNTO egy RNFR-ben megadott fájlt átnevez az itt megadottra
Válaszkódok
1xx a végrehajtás elkezdődött, eddig OK
2xx Sikeres végrehajtás, OK
3xx Végrehajtás közben, eddig rendben, de további parancsra vár
USER, PASS, RNFR vagy RNTO
4xx Ideiglenes hiba. A kliens újra megpróbálhatja a végrehajtást.
5xx Végzetes hiba. Nincs értelme a kérés megismétlésének.

Függelék