Az FTP-kiszolgáló telepítése és konfigurálása Pure-FTPd + virtuális felhasználókkal

Azok közé tartozom, akik szeretnek újítani és új dolgokat tanulni, nemrégiben telepítenem és konfigurálnom kellett egy FTP szervert, és úgy döntöttem, hogy másként csinálom, mint mindig.

Ebben az esetben egy virtuális felhasználókkal rendelkező FTP szolgáltatást választottam, ahol a felhasználók adatai egy titkosított fájlban lesznek tárolva (felhasználónév, jelszó, beállítások stb.), mindezt a Pure FTPd segítségével.

Itt megmutatom, hogyan kell csinálni… nos, kezdjük is 

Először is adja meg, hogy az oktatóanyagban szereplő parancsok olyan disztrókhoz készültek, mint a Debian, vagy azok alapján készültek, azonban ha valaki másik disztrót használ a szerverén, akkor ugyanazokat a csomagokat kell telepítenie, és az alább megadott beállításokat kell használnia, az egyetlen dolog, amit meg kell tennie a változás az install parancs.

Az összes parancsot, amelyet el fognak olvasni, rootként hajtják végre, ha akarja, akkor minden sorhoz megadhatja a "sudo" szót.

1. Először telepítenünk kell a Pure FTPd-t:

apt-get install pure-ftpd

A kimenet ilyesmivel végződik:

install-pure-ftpd

2. A szolgáltatás már aktiválva van, de haszontalan, ha nem konfiguráltuk megfelelően. Tegyük fel, hogy van egy hosszú, de szinte szabványos konfigurációs fájlunk; ez tartalmazza a szokásos dolgokat, például azt, hogy a névtelen felhasználók nem engedélyezettek, stb.

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. Rendben, tegyük fel, hogy az FTP mappánk a /var/www/ftp/, és létre szeretnénk hozni egy felhasználót, aki feltölthet információkat a /var/www/ftp/sysadmin/ mappába. Írjuk be a következőket egy terminálba:

pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/

Ez a következőket jelenti:

pure-pw: A Pure-FTPd felhasználók kezelésére használt parancs
useradd: Jelezzük, hogy hozzáadunk egy felhasználót
sysadmin: A létrehozni kívánt felhasználó
-u 2001: A felhasználó felhasználói azonosítója
-g 2001: A felhasználó GroupID-je
-d / var / www / ftp / sysadmin /: Az a mappa, amely az adott felhasználó otthona lesz, vagyis ahova feltöltenek dolgokat

Amikor belép az előző sorba, akkor a felhasználó jelszavát kéri.

Korábban létre kell hozniuk a sysadmin mappát a / var / www / ftp / könyvtárban.

4. Most frissítenie kell a felhasználói adatbázisfájlt. Ehhez lépjen az /etc/pure-ftpd/ mappába (cd /etc/pure-ftpd), és írja be a következőt a terminálba:

pure-pw mkdb

5. Most el kell indítanunk a Pure-FTPd-t, de meg kell adnunk, hogy a virtuális felhasználók fájlját fogjuk használni. Először is állítsuk le a szolgáltatást:

/etc/init.d/pure-ftpd stop

Ezután megbizonyosodunk arról, hogy alapértelmezés szerint nem indul el normálisan:

chmod -x /etc/init.d/pure-ftpd

És most elindítjuk a szolgáltatást utunkon:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

6. Ha megpróbálsz egy olyan alkalmazást használni, mint a FileZilla, látni fogod, hogy problémamentesen tudsz csatlakozni a létrehozott felhasználóhoz; azonban nem fogsz tudni semmit másolni vagy könyvtárakat létrehozni. Ez azért van, mert a /var/www/ftp/sysadmin/ mappa (a felhasználó saját könyvtára ebben a példában) nem rendelkezik a megfelelő jogosultságokkal. Ez a következőképpen javítható:

chown -R 2001:2001 /var/www/ftp/sysadmin/

Ne feledje, az Uid és Gid 2001 az általunk létrehozott felhasználóé, az előző lépésben 3 

7. A szolgáltatás leállításához egyszerűen nyomja meg a [Ctrl]+[C] billentyűkombinációt ugyanazon a terminálon, vagy egy másik terminálon tegye a következőket:

killall pure-ftpd

Most jelezzük, hogy a szolgáltatás automatikusan elindul a rendszerrel, amikor a szerver elindul, ehhez módosítjuk az /etc/rc.local fájlt, és az utolsó "exit 0" sort megelőzően feltesszük azt a parancsot, amellyel elindítjuk a FTP szolgáltatás:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

Más szavakkal, így nézne ki:

rc-local-pure-ftpd

Szerkesztheti a fájlt a nano, a vi vagy a kívánt szerkesztő segítségével, vagy ha szeretné, másolja és illessze be ezt a parancsot, amely megkönnyíti a munkát:

perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local

…igen igen… ahogy olvasod, a „könnyítés”, ez egy kiterjedt parancs igen, de egyszerűen a szöveget perl-lel helyettesíti, és ártalmatlan visszhangot hall.

8. Ha ez megtörtént, indítsa újra a szervert, és látni fogja, hogy a pure-ftpd szolgáltatás elindult és készen áll a futásra 

Hogyan lehet törölni a felhasználókat?

Ahogy korábban említettem, a pure-pw parancsra van szükségünk a felhasználók kezeléséhez. Egy felhasználó (például sysadmin) törléséhez a következőket használnánk:

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

Ne felejtsd el, hogy amikor módosítasz egy felhasználót, akkor regenerálnod kell a felhasználók virtuális adatbázis fájlját, amely az / etc / pure-ftpd / fájlban található, és a pure-pw mkdb-vel generálódik / frissül.

Egyébként barátok, azt hiszem, nincs sokkal többet hozzáadni, hívjuk meg, hogy olvassa el a pure-pw segítségét, mert sokkal többet enged meg nekünk, mint amit itt bemutattam (ez csak egy rövid és szinte alapvető bemutató).

Egy-két éve azok közé tartoztam, akik mindent az OpenLDAP-hoz vagy a MySQL-hez kapcsoltak, de az idő múlásával rájöttem, hogy a szervernek minősülő adatbázisokhoz való sok csatlakozás generál fogyasztást, amit gyakran nem engedhetünk meg magunknak. életképes alternatívák, például adatbázisok használata az alkalmazás saját fájljaiban, mint ebben a Pure-FTPd .pdb esetében 

Bármilyen kétség vagy kérdés, megpróbálok segíteni, amennyire csak tudok.

Üdvözlet és… boldog hackelés!


Hozzáadás előnyben részesített forrásként a Google-ben