Hogyan: FTP szolgáltatás a MySQL adatbázis használatával

Bizonyos bizonytalanságok ellenére, amelyek a MySQL-t körülveszik, személy szerint továbbra is inkább ezzel a DB-vel dolgozom, mint másvalakivel. Semmi nincs a Postgre ellen, egyszerűen egy életen át használtam a MySQL-t, és eddig nem volt okom átgondolni a használatát.

Ezúttal megtanítalak egy FTP szerver telepítésére, de nem csak arra, hogy megtanítsam nem annyira összetett módon, hogyan lehet a felhasználókat, jelszavakat és egyéb felhasználói adatokat a MySQL adatbázisban tárolni, és nem a fiókokban. helyi.

Miért csinálja ezt így?

Egyszerű, mert biztonsági másolat készítésekor, a kiszolgáló újratelepítésénél vagy bármilyen más jelentős változtatásnál a szolgáltatás áthelyezése ugyanolyan egyszerű lenne, mint egy konfigurációs fájl másolása és a MySQL adatbázis FTP-be történő exportálása.

Ennek elérésére felhasználjuk Tiszta FTPd, nos ... kezdjük 🙂

Az FTP szolgáltatás telepítése a Pure-FTPd használatával

1. Az első dolog a csomag telepítése: pure-ftpd-mysql

A disztrókban, mint Debian vagy származékai: az aptitude telepítse a pure-ftpd-mysql fájlt

2. A telepítést követően elindult a szolgáltatás, de le kell állítanunk, hogy leállítsuk olyan rendszereken, mint a Debian vagy a derivatívák, amelyekhez elég:

/etc/init.d/pure-ftpd-mysql stop

Hagyok azonban egy sort, amely leállítja a szolgáltatást, függetlenül a használt disztrótól:

ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill

Ha részletesen meg akarja érteni ezt a sort, olvassa el ez a cikk

Feltételek előkészítése a MySQL szerveren

Nemrég már elmagyaráztam, hogyan hozhatunk létre adatbázist, felhasználót, és hogyan adhatok engedélyeket az adott felhasználónak az adatbázisban: Felhasználók és engedélyek a MySQL-ben

Térjünk át arra, hogy mit fogunk itt csinálni? ...

1. Létrehozunk egy adatbázist igen, de először hozzáférünk a MySQL-hez:

mysql -u root -p

Itt felteszik a root jelszót, és hozzáférnek a MySQL terminálhoz.

2. Miután beléptünk a MySQL-be, folytatjuk az adatbázis létrehozását myftpdb:

CREATE DATABASE myftpdb;

Figyelje meg a pontosvesszőt «;»A sor végén.

3. Most létrehozzuk a felhasználót myftpuser és engedélyeket adunk a felhasználó használatára az imént létrehozott adatbázisban, ennek a felhasználónak lesz jelszava myftppassword:

CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;

4. Készen állunk, létrehoztuk az adatbázist, a felhasználót és beállítottuk az engedélyeket. Most importálnunk kell az alapértelmezett (vagy tiszta) adatbázist, hogy ez teljes legyen. Ehhez először lépjünk ki a MySQL-ből:

exit;

Most töltsük le az általam kínált alapértelmezett adatbázist:

Alapértelmezés szerint töltse le a DB-t

Vagy a kiszolgálón használja a következő sort:

wget http://ftp.desdelinux.net/myftpdb.sql

Készen áll, már megvan a szerverünkön, most már csak az adatok importálása marad:

mysql -u root -p myftpdb < myftpdb.sql

És kész!

Használhatnak néhány webalkalmazást is, például admin o PHPMyAdmin az adatbázis importálásához ízlés szerint hagyom.

5. És mindez azért van, hogy a MySQL feltételei elkészüljenek.

Csatlakozás az FTP-hez a MySQL-lel

Nos, már telepítve van az FTP szolgáltatás, a MySQL szolgáltatás telepítve és az adatbázisunkkal együtt ... most már csak szükségünk van, csatlakozzon az FTP szolgáltatáshoz a MySQL-lel.

1. Először le kell töltenünk azt a konfigurációs fájlt, amelyet a fent említetteknél használunk. A kiszolgáló terminálba tegyük a következő sort:

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

2. Most elindítjuk az FTP szolgáltatást, amelyben megadjuk a MySQL felhasználók hitelesítésére, és megadjuk azt is, hogy melyik konfigurációs fájlt használja a MySQL-hez való csatlakozáshoz:

pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

És voila 😀

Ez elég ahhoz, hogy saját FTP-kiszolgálónkat telepítsünk egy MySQL adatbázissal.

Ha azt szeretné, hogy amikor a szerver automatikusan elindul, elindítja az FTP szolgáltatást, be kell töltenie a fájlt /etc/rc.local az a sor, amelyet az FTP végrehajtásához használunk, vagyis beillesztettük /etc/rc.local ez:

pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf

Egyébként bármelyik böngészővel elérheti az FTP-t, valamint az olyan FTP-klienseket, mint a Filezilla ...

Tesztelje az adatbázison lévő felhasználót

Felhasználónév: tesztelő

Jelszó: tesztjelszó

Hogyan kezeljük az FTP-felhasználókat?

Nos, figyelembe véve, hogy MySQL adatbázisról van szó, amint azt fentebb mondtam ... elegendő lesz a PHPMyAdmin vagy az Adminer használata. Csak használja a kedvenc alkalmazását az egyetlen táblázatot tartalmazó adatbázis kezelésére: Felhasználók ... és benne vannak a felhasználók, itt van egy képernyőkép:

Ha új felhasználót szeretne létrehozni, lemásolhatja vagy klónozhatja a meglévő sort, és megváltoztathatja azokat az adatokat, amelyek mindkét felhasználó között különböznének, itt bemutatok egy képernyőképet:

Nos ... nincs mit hozzáfűzni 🙂

Remélem, hogy ez hasznos lesz az Ön számára, és tudja, hogy bármilyen kérdése vagy javaslata tudatja velem.

Üdvözlet

PD: Ebben az oktatóanyagban az adatbázisba mentett jelszavakat használjuk egyszerű szövegben, ha nagyobb biztonságra van szüksége, javasoljuk, hogy próbálja ki az md5-et 😉


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.

  1.   LiGNUxer dijo

    NAGYON JÓ!!! Pár hete telepítettem ezt, de a vsftpd-vel, és nem vagyok meggyőződve, ezért megpróbálom megnézni, hogy van ez. Köszönöm

    1.    KZKG ^ Gaara dijo

      Köszönöm barátom.
      vsftpd nem emlékszem mikor használtam utoljára ... néhány évvel ezelőtt, ... ha valaha is használtam volna HAHA-val. Jelenleg a PureFTPd-vel több mint boldog vagyok 😀

  2.   megfelelő dijo

    Nagyon jó hozzájárulás!

    1.    KZKG ^ Gaara dijo

      Köszi compa 😀
      Csinálod, amit tudsz ...

  3.   Computer Guardian dijo

    Uuumm, érdekes ... adja át nekem a DB IP-jét, hogy kéznél tartsam a felhasználók és jelszavak gyűjteményét 😉

    Ne légy gonosz, ember

    1.    KZKG ^ Gaara dijo

      Nem értettem hehehe ... milyen IP-ről és DB-ről beszélsz?
      Ha azt akarja mondani, hogy ezek az adatok, amelyeket betanítottam a bemutatóba, egy szerveren is lehetnek, igen, igaza van ... FTP szolgáltatásban vannak egy virtuális PC-n a laptopomon, NAGYON jó tűzfala van (iptable), tehát … HAHAHAHAHA természetesen ne légy gonosz LOL !!!

  4.   Computer Guardian dijo

    Joroña milyen joroña…. Ez bonyolultabb lesz, mint amilyennek látszik kihasználni valamilyen sebezhetőséget és rögzíteni ezeket az adatokat 😉

  5.   Algave dijo

    Nagyon érdekes!! 🙂

    1.    KZKG ^ Gaara dijo

      Köszönöm
      Ezt próbálom megkülönböztetni a többi oldaltól ... hogy nem annyira híreket, hanem inkább technikai cikkeket próbálunk feltenni 😀

  6.   giskard dijo

    Mennyire gyors ez Sambához képest? (csak helyi hálózat)

    1.    LiGNUxer dijo

      hogy a samba és az ftp 2 különböző dolog, az ftp komoly protokoll és smb csak a win és a linux közötti megosztás megkönnyítése érdekében.
      Ha teljesítményt keres a hálózaton, használjon FTP szolgáltatást, különben csak problémamentesen használja a sambát

      1.    KZKG ^ Gaara dijo

        Pontos.
        Mondjuk az FTP valamivel komolyabb, mint a Samba, legalábbis véleményem szerint az.

        Egyáltalán nem végeztem benchmarkokat, de talán az FTP valamivel gyorsabb.

        1.    giskard dijo

          Köszönöm. A Samba-t úgy használom, hogy a Wii konzolról (a wiimc használatával) megnézhessem a számítógépemre letöltött filmeket és sorozatokat. De a wiimc csatlakozhat egy ftp szerverhez is. A Sambát használtam, mert ez volt a legkönnyebb, de mindig érdekelt, hogy ftp-vel gyorsabb lesz-e. Meg kell próbálnom.

          1.    KZKG ^ Gaara dijo

            Nos, egyszerűen telepítheti az Apache-ot is a számítógépére, és így a Wii csatlakozik, gyorsabbnak kell lennie, mint a samba ...

          2.    giskard dijo

            A wiimc (Wii Media Player) csak a Samba és az FTP kapcsolatokat fogadja el.

  7.   Max Steel dijo

    Kiváló. Az ilyen típusú cikkeknek (és általában a webhelynek) csak valamire van szükség, hogy minden tökéletes legyen; CSS-sablon a cikkek nyomtatásához PDF-be vagy papírra.

  8.   LiGNUxer dijo

    Nem tudom, hogy a sajátom lesz-e, de ezzel a nagy probléma az, hogy a felhasználók az összes könyvtárat át tudják nézni, még akkor is, ha adok nekik egy speciális könyvtárat, például "/ var / www / user_site", ha ftp-vel csatlakoznak bárhonnan hozzáférhessen a számítógépemről ¬¬
    ez nem túl biztonságos haha

  9.   LiGNUxer dijo

    ITT VAN!!!
    Annak megakadályozása érdekében, hogy az általunk létrehozott felhasználók el tudjanak navigálni a teljes rendszerünkön, hozzá kell adnunk az "-A" paramétert a tiszta ...

    Tehát amit hozzáadunk a /etc/rc.local fájlhoz, amelyet az oktatóanyagba helyezett, ez az
    pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    és ki kell cserélned ezt a másikat:
    pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    Értékelik? ... Ez az új sor az -A paraméterrel korlátozza a könyvtárat, amelyhez csak hozzárendeljük, és semmi mást, létrehozhat, de nem tud feljebb lépni.

    D: ez az aranyos tiszta-fptd

    1.    KZKG ^ Gaara dijo

      Köszönöm a tippet 😀

  10.   Roberto dijo

    Helló, lehetséges a kvóták megvalósítása ebben a MySQL és FTP megvalósításban, jelenleg ftp szerverem van vsftpd-vel, és nincs problémám a kvótákkal, de virtuális felhasználó lévén (mysql-ben létrehozva) a kvóták érvényesek lesznek? a második pedig a felhasználók által feltöltött fájlok tárolása, vagyis az egyes felhasználók könyvtárai.

    1.    KZKG ^ Gaara dijo

      Elméletileg megvalósíthatja a kvótákat, valójában az adatbázisban vannak létrehozva a mezők, és az FTP szolgáltatás konfigurációs fájljában vannak erre beállított lekérdezések, amelyeket valójában nem teszteltem 😉

      Arról, hogy a felhasználók hová tennék a fájlokat, meghatározza az 5. mezőben, lásd a képernyőképet: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   Roberto dijo

    Köszönöm szépen a megjegyzését, tesztelni fogom ezt a rendszert egy tesztkiszolgálón, és véleményezem az eredményeket, remélem, hogy sikerülhet, mert remek módszer, hogy minden rendben van, és RAID-del stabil biztonsági rendszered van: D.

    1.    KZKG ^ Gaara dijo

      Köszönöm a megjegyzést 🙂

  12.   Roberto dijo

    Van egy kérdésem, már sikerült telepítenem a pure-ftp-t mysql-lel és kvótákkal, a kérdés most az, hogy miként függeszthetek fel egy fiókot magáról a mysql tábláról, a felhasználói jelszó vagy a feltöltött fájlok módosítása nélkül.

    1.    KZKG ^ Gaara dijo

      Kétféleképpen gondolkodhatok, a legegyszerűbb, ha megváltoztatom az értékét Állapot 1-től 0-ig, elméletileg, ha 0-nál van, akkor a számlát inaktiválják, próbálkozzon ezzel és mondja meg 🙂

  13.   birkhoff dijo

    Roberto, hogyan sikerült meghatározni a díjakat ezzel a lehetőséggel? Kérjük, ossza meg az információkat.
    Nagyon jó belépés !!

    1.    Roberto Sotelo dijo

      Birkhoff, csak a személyes blogomban készítettem erről egy témát, meghagyom a linket, hogy átnézhesd:

      http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/

  14.   klaus dijo

    Üdvözlettel:

    Mindent megpróbálok követni, de az 501 hibát kapom, és főleg arra utalok, hogy a jelszó helytelen, ha tudom, hogy rendben van