Az adatállomány átviteli protokoll (File Transfer Protocol, FTP) a felhasználók számára lehetőséget ad az ún. FTP szerverekre állományokat feltölteni, illetve onnan állományokat letölteni. A FreeBSD alaprendszere is tartalmaz egy ilyen FTP szerverprogramot, ftpd néven. Ezért FreeBSD alatt egy FTP szerver beállítása meglehetősen egyszerű.
A beállítás legfontosabb
lépése, hogy eldöntsük milyen
hozzáféréseken át lehet
elérni az FTP szervert. Egy hétköznapi FreeBSD
rendszerben rengeteg hozzáférés a
különböző démonokhoz tartozik, de az
ismeretlen felhasználók számára nem
kellene megengednünk ezek használatát. Az
/etc/ftpusers
állományban
szerepelnek azok a felhasználók, akik semmilyen
módon nem érhetik el az FTP
szolgáltatást. Alapértelmezés
szerint itt találhatjuk az előbb említett
rendszerszintű hozzáféréseket is, de
ide minden további nélkül felvehetjük
azokat a felhasználókat, akiknél nem
akarjuk engedni az FTP elérését.
Más esetekben előfordulhat, hogy csak
korlátozni akarjuk egyes felhasználók FTP
elérését. Ezt az
/etc/ftpchroot
állományon
keresztül tehetjük meg. Ebben az
állományban a lekorlátozni
kívánt felhasználókat és
csoportokat írhatjuk bele. Az ftpchroot(5) man
oldalán olvashatjuk el ennek részleteit,
ezért ennek pontos részleteit itt most nem
tárgyaljuk.
Ha az FTP szerverünkhöz névtelen (anonim)
hozzáférést is engedélyezni akarunk,
akkor ahhoz először készítenünk
kell egy ftp
nevű
felhasználót a FreeBSD rendszerünkben. A
felhasználók ezután az
ftp
vagy anonymous
nevek, valamint egy tetszőleges jelszó (ez a
hagyományok szerint a felhasználó e-mail
címe) használatával is képesek
lesznek bejelentkezni. Az FTP szerver ezután a
névtelen felhasználók esetében
meghívja a chroot(2) rendszerhívást,
és ezzel lekorlátozza
hozzáférésüket az
ftp
felhasználó
könyvtárára.
Két szöveges állományban adhatunk
meg a becsatlakozó FTP kliensek számára
üdvözlő üzeneteket. Az
/etc/ftpwelcome
állomány
tartalmát még a bejelentkezés előtt
látni fogják a felhasználók, a
sikeres bejelentkezést követően pedig az
/etc/ftpmotd
állomány
tartalmát látják. Vigyázzunk, mert
ennek az állománynak már a
bejelentkezési környezethez képest
relatív az elérése, ezért a
névtelen felhasználók esetében ez
konkrétan az ~ftp/etc/ftpmotd
állomány lesz.
Ahogy beállítottuk az FTP szervert, az
/etc/inetd.conf
állományban
is engedélyeznünk kell. Itt mindössze annyira
lesz szükségünk, hogy
eltávolítsuk a megjegyzést jelző
"#" karaktert a már meglevő
ftpd sor elől:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Ahogy arról már a 29.1. példa - Az inetd konfigurációs állományának újraolvasása szót ejtett, az inetd beállításait újra be kell olvastatnunk a konfigurációs állomány megváltoztatása után. A 29.2.2. szakasz - Beállítások írja le az inetd engedélyezésének részleteit.
Az ftpd önálló
szerverként is elindítható. Ehhez
mindössze elegendő csak a megfelelő
változót beállítani az
/etc/rc.conf
állományban:
ftpd_enable="YES"
Miután megadtuk az iménti
változót, a szerver el fog indulni a rendszer
következő indítása során.
Szükség esetén természetesen
root
felhasználóként a
következő paranccsal is közvetlenül
elindítható:
#
/etc/rc.d/ftpd start
Most már be is tudunk jelentkezni az FTP szerverre:
%
ftp localhost
Az ftpd démon a
syslog(3) használatával naplózza az
üzeneteket. Alapértelmezés szerint a
rendszernaplózó démon az FTP
működésére vonatkozó
üzeneteket az /var/log/xferlog
állományba írja. Az FTP naplóinak
helyét az /etc/syslog.conf
állományban tudjuk
módosítani:
ftp.info /var/log/xferlog
Legyünk körültekintőek a névtelen FTP szerverek üzemeltetésekor. Azt pedig kétszer is gondoljuk meg, hogy engedélyezzük-e a névtelen felhasználók számára állományok feltöltését, hiszen könnyen azon kaphatjuk magunkat, hogy az FTP oldalunk illegális állománycserék színterévé válik vagy esetleg valami sokkal rosszabb történik. Ha mindenképpen szükségünk lenne erre a lehetőségre, akkor állítsunk be olyan engedélyeket a feltöltött állományokra, hogy a többi névtelen felhasználó ezeket a tartalmuk tüzetes ellenőrzéséig ne is olvashassa.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.