Házi FTP kiszolgáló VSFTPd-vel
A család többsége nálunk Ubuntu-n él, nekem meg eljött az idő, hogy egy mindenkinek érthető, gyors és stabil filemegosztást hozzak létre itthonra. A követelmény adott: SOHO környezet, titkosítás nélküli FTP, gyorsaság, stabilitás, userenkénti egyedi beállítások és lehetőség az egyedi tartalom kiszolgálására.
Szeretném kihangsúlyozni, hogy nem teljesen szájbarágós útmutató, hanem feltételezek némi alapképzettséget (telepítés, /etc könyvtárismeret, szerverek alapismerete, ftp alapismeret, stb). Pont ezért nem is feltétlen Ubuntu specifikus a leírás, hanem átültethető más Linux distrókra is. Azoknak szánom akik abban a helyzetben voltak mint én, hogy már csak egy kis apró lökés, segítség kell, hogy meglegyen a tökéletes konfigjuk.
Mivel túl sok időt nem akarok egy ilyen egyszerű rendszer felépítésére fordítani, már ami a tanulást illeti sem, kézenfekvőnek bizonyult a VSFTPd tudásom mélyítése.
Vágjunk bele:
Először is telepítjük lehetőleg a legfrissebb verziót. Majd elővesszük a vsftpd.conf konfigurációs filet -ami nekem az /etc -ben van- és elkezdjük felvemmi bele a következő értékeket:
A file beállításai a man vsftpd.conf -ban is megtalálhatóak.
FIGYELJÜNK RÁ HOGY A kulcs=érték PÁROK KÖZTI EGYENLŐSÉG JEL KÖZÖTT NEM SZEREPELHET SZÓKÖZ!
Mivel én standalone futtatom a szervert, ezért figyelőállásba teszem:
listen=yes
Irányított hozzáférést akarok csak, semmi anonymous kapcsolódást nem engedek meg:
anonymous_enable=no
A szerveren létrehozzott usereimet használom, mivel kihasználom majd a home könyvtáraikat:
local_enable=yes
Ezeket a usereket a home könytáraikba zárom: (vagyis inkább a /etc/passwd fileban megadott könyvtáraikba)
passwd_chroot_enable=no
Alapértelmezetten nincs írási joga senkinek:
write_enable=no
Én speciel nem rejtem el a fileok listájában a tulajdonosok id-it:
hide_ids=no
Felhasználó lista alapján engedélyezem a belépést:
userlist_enable=yes
Ez a felhasználói lista azokat az embereket tartalmazza akik beléphetnek:
userlist_deny=no
A felhasználói lista ez a file legyen: (ebben minden felhasználót csak szimplán egy új sorba írunk és kész is a lista)
userlist_file=/etc/vsftpd.user_list
A felhasználókat bezárjuk az otthonukba:
chroot_local_user=yes
Lesz egy listánk azokról akiket mégsem zárunk be a könyvtáraikba: (és őket a /etc/vsftpd.chroot_list fileban adjuk meg)
chroot_list_enable=yes
Ebben a könyvtárban fogjuk létrehozni minden usernek a saját testreszabását tartalmazó fileját: (pl /etc/vsftpd_user_con/ikon az ikon nevű felhasználónak, akinek itt megadjuk egy write_enable=yes -el, hogy ő bizony feltölthet)
user_config_dir=/etc/vsftpd_user_conf
Beállítjuk a maximális egyidejű felhasználó számot:
max_clients=50
és az egy gépről bejelentkezők maximális számát:
max_per_ip=10
Érdemes logot is beállítani, így az esetleges hibákat mindíg hamar tudjuk orvosolni:
xferlog_enable=yes
dual_log_enable=yes
A beállításokkal megvolnánk, de most jön egy fogós kérdés: ha máshol vannak a megosztandó fileok, mint a userek home könyvtárai, akkor azokat hogyan érik el? Főleg a bezártság miatt még symlinkezni sem tudunk. Erre jön segítségül -megfelelően beállított linux jogosultságok esetén- a mount –bind parancs. Tulajdonképpen egy könyvtárat egy másik helyre is felmountolhatunk vele és így teljes értékű eléréssé válik, nem úgy a symlink. Ahhoz pedig, hogy bootkor is megőrizzük ezeket a mountokat, nyugodtan tegyük bele őket az /etc/fstab -ba, például így:
/mnt/examplemount/olddir /somewhere/newdir auto bind 0 0
wine hfs
Én Linux szerver és kliens otthoni környezetben inkább nfs-t használok. Bár okozott már meglepetést Ubuntu szerver és Fedora desktop párossal. 🙂
Az NFS-t is próbáltam de ott baromi nehéz a GID és UID párok összehozása, tulajdonképpen csak a hajamat téptem, és nem is volt valami gyors.
[re=6473]Ikon[/re]: sok kapcsolat esetén NFS megeszi a gépet reggelire, a sok I/O miatt kérés miatt
Sziasztok!
Abban kérhetnék segítséget, hogy hogyan lehet megoldani, hogy egy felhasználó csak írhasson, olvashasson, beléphessen, de ne legyen törlési joga?
Előre is köszönöm!
Sziasztok! Kérnék egy segítséget!
x nevü userem beloginol ft-re, viszont én nem azt a könyvtárat szeretném kezdőkönyvtárnak, ahova nyit, hanem egy könyvtárral beljebb, viszont ezt a szerveren szeretném beállítani, nem pedig a klienseknél, ott tudom a távoli könyvtárat kel l beírjam, de nem ezt szeretném.
/home/x/ ide nyit alapban, ide szeretném /home/x/megosztas
Ebben kérem a segítségeteket! Köszönöm!