Ahogy igértem folytatjuk a második résszel a cikket (VSFTPD Ftp szerver – 2.rész), amiben arra térünk ki, hogy miként lehet megoldani, hogy a VSFTPD szervert több felhasználó használhassa almappákra lebontott eléréssel.
Az előző cikkben már telepítettünk mindent, amire szükségünk lesz. Most azzal kell folytatnuk hogy létrehozunk egy mappát, ahol a felhasználói adatokat foglyuk tárolni.
mkdir /etc/vsftpd
Ha ezzel megvagyunk akkor adjunk hozzá a felhasználókat, akiknek elérést szeretnénk adni.
htpasswd -cd /etc/vsftpd/ftpd.passwd user1 htpasswd -cd /etc/vsftpd/ftpd.passwd user2
A különböző kapcsolókat a „htpasswd”-hez megtaláljuk itt. Arra figyeljünk oda, hogy ezzel megoldással maximum csak 8 karakteres jelszavakat adhatunk meg.
Ha ezzel végeztünk, akkor nyissuk meg a PAM config fájlt.
nano /etc/pam.d/vsftpd
Majd adjuk hozzá a következő beállításokat:
auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd account required pam_permit.so
Javaslom hogy a képen látható módon az eredeti beállításokat jelöljük meg. Én az eredeti beállítások elé két db „#”-et raktam. „Ctrl+XY+Enter”
Ha ezzel megvagyunk akkor hozzuk létre a felhasználói beállításokat tartalmazó mappát.
mkdir /etc/vsftpd_user_conf
Majd adjuk hozzá a felhasználói beállításokat felhasználónként.
nano /etc/vsftpd_user_conf/user1 nano /etc/vsftpd_user_conf/user2
Én személy szerint itt csak az „local” mappát adtam hozzá. Ami így néz ki:
local_root=/home/pi/ftp/Andy
Ha ezzel megvagyunk akkor: „Ctrl+XY+Enter”.
Már csak annyi van hátra, hogy módosítjuk a VSFTPD beállításait, és az eddigi beállításokkal összehangoljuk.
nano /etc/vsftpd.conf
A következő beállításokat adjuk hozzá:
local_umask=022 local_root=/home/pi/ftp guest_enable=YES virtual_use_local_privs=YES pam_service_name=vsftpd nopriv_user=vsftpd guest_username=vsftpd user_sub_token=$USER hide_ids=YES user_config_dir=/etc/vsftpd_user_conf
Ha ezzel megvagyunk akkor indítsuk újra a szervert.
service vsftpd restart
Ezután jöhet a próba.
A már az előző cikkben taglalt módon állítsuk be valamelyik klienst, és csatlakozzunk a szerverhez.
Nálam látható, hogy egyből az „Andy” nevű felhasználó előre beállított „local_root” mappájában találtam magam. Tehát minden beállítás helyesen működik. Viszont a már az előző cikkben említett probléma, még mindig fent áll. Miszerint is a „local_root” mappán kívülre is kilátunk, ami nem is lenne baj mert beállítjuk a „chmod” paranccsal, hogy a felhasználónk csak a saját mappáját tudja módosítani, de ez így kevés nekünk ha több felhasználónk is van.
Ennek a kiküszöbölésére van egy kiváló megoldás, amit sajnos egy apró kis hack nélkül nem tudunk megvalósítani, mert vannak kompatiblitási problémák a vsftpd 2.3.5-ös verziójával. Lássuk is hogyan tovább.
nano /etc/apt/sources.list.d/wheezy-updates.cyconet.list
Ha ezzel megvagyunk, akkor másoljuk be a következő szöveget:
deb http://ftp.cyconet.org/debian wheezy-updates main non-free contrib
Mentsük el: „Ctrl+XY+Enter”.
Ezután telepítsük a frissítést.
aptitude update aptitude install -t wheezy-updates debian-cyconet-archive-keyring vsftpd aptitude update
Ha ezzel megvagyuk, akkor nyissuk meg a „vsftpd.conf” fájlt, és adjuk hozzá a következő két sort.
chroot_local_user=YES allow_writeable_chroot=YES
Így mind a két esetben a felhasználók csak a saját mappájukra korlátozódnak, akkor is ha csak egy felhasználónk van, és akkor is ha több felhasználót hozunk létre. Teszteljük le, és ha mindent jól csináltunk, akkor a felhasználók csak a saját mappájukra korlátozódnak.
Remélem érthető volt a leírás és mindenkinek segítettem ezzel. A következő cikkben ami a cikksorozat 3. része lesz azt oldjuk meg, hogy az ftp szerverünket távolról is elérjük, ne csak otthonról lokálisan. Addig is jó tesztelést és sikeres konfigurálást kívánok mindenkinek!