Ako: FTP služba používajúca databázu MySQL

Napriek určitej neistote, ktorá môže obklopovať MySQL, osobne stále uprednostňujem prácu s touto databázou pred používaním iných. Nemám nič proti Postgre, jednoducho som používal MySQL po celý život a až doteraz som nemal dôvod prehodnotiť jeho použitie.

Tentokrát vás naučím, ako nainštalovať FTP server, ale nielen to, naučím vás nie tak zložito, ako ukladať používateľov, heslá a ďalšie údaje používateľov do databázy MySQL, a nie do účtov miestne.

Prečo to takto?

Jednoduché, pretože pri zálohovaní, preinštalovaní servera alebo pri akejkoľvek inej významnej zmene by bol presun služby rovnako jednoduchý ako kopírovanie konfiguračného súboru a export MySQL databázy na FTP.

Aby sme to dosiahli, použijeme Čistý FTPd, no ... poďme na to 🙂

Inštalácia služby FTP pomocou servera Pure-FTPd

1. Prvá vec, ktorú musíte urobiť, je nainštalovať balík: čistý-ftpd-mysql

V distros like debian alebo deriváty: aptitude install pure-ftpd-mysql

2. Po nainštalovaní bola služba spustená, ale musíme ju zastaviť, aby sme ju zastavili v systémoch ako Debian alebo deriváty, stačí:

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

Nechám vám však linku, ktorá zastaví službu bez ohľadu na to, aké distro použijete:

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

Ak chcete tomuto riadku podrobne porozumieť, prečítajte si tento článok

Príprava podmienok na serveri MySQL

Už dávno som vysvetlil, ako vytvoriť databázu, používateľa a udeliť tomuto používateľovi povolenia v databáze: Používatelia a povolenia v MySQL

Prejdime k tomu, čo tu budeme robiť? ...

1. Vytvoríme databázu áno, ale najskôr pristúpime k MySQL:

mysql -u root -p

Sem vložia heslo root a dostanú sa k terminálu MySQL.

2. Akonáhle sme vo vnútri MySQL, pokračujeme v vytváraní databázy myftpdb:

CREATE DATABASE myftpdb;

Všimnite si bodkočiarku «;»Na konci riadku.

3. Teraz vytvoríme používateľa myftpuser a dáme povolenia na použitie používateľa v databáze, ktorú sme práve vytvorili, tento používateľ bude mať heslo moje heslo:

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

4. Sme pripravení, vytvorili sme databázu, používateľa a nastavili sme oprávnenia. Teraz musíme importovať predvolenú (alebo čistú) databázu, aby sme to dokončili. Aby sme to dosiahli, najskôr ukončime MySQL:

exit;

Teraz si stiahneme predvolenú databázu, ktorú vám ponúkam:

Predvolene sťahovať DB

Alebo na serveri použite nasledujúci riadok:

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

Sme pripravení, už ho máme na našom serveri, teraz zostáva iba import vašich údajov:

mysql -u root -p myftpdb < myftpdb.sql

A pripravený!

Môžu tiež použiť niektoré webové aplikácie ako admin o PHPMyAdmin na import databazy necham na chut.

5. A to je všetko, aby sme mali pripravené podmienky nášho MySQL.

Pripojenie FTP s MySQL

Službu FTP už máme nainštalovanú, službu MySQL nainštalovanú a s našou databázovou sadou ... teraz potrebujeme, pripojiť sa k službe FTP s MySQL.

1. Najprv si musíme stiahnuť konfiguračný súbor, ktorý použijeme pre vyššie uvedené. Do serverového terminálu vložíme nasledujúci riadok:

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

2. Teraz spustíme službu FTP a povieme jej, aby použila na autentifikáciu používateľov MySQL, a tiež označíme, ktorý konfiguračný súbor sa má použiť na pripojenie k MySQL:

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

A voila 😀

To stačí na inštaláciu nášho vlastného servera FTP, ktorý sa autentifikuje pomocou databázy MySQL.

Ak chcete, aby vždy, keď sa server spustí automaticky, spustila službu FTP, musíte vložiť súbor /etc/rc.local riadok, ktorý používame na vykonávanie FTP, teda ktorý sme vložili /etc/rc.local toto:

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

Mimochodom, na FTP môžete pristupovať pomocou ľubovoľného prehľadávača, ako aj k FTP klientom, ako je Filezilla ... a nielen to, pomocou prehľadávačov súborov, ako je Nautilus, Dolphin alebo PCManFM, môžete tiež sťahovať a nahrávať súbory 😀

Otestujte používateľa, ktorý je v databáze

Užívateľské meno: testuser

heslo: testovacie heslo

Ako spravovať používateľov FTP?

Ak vezmeme do úvahy, že ide o MySQL databázu, ako som už uviedol vyššie, postačí vám použitie PHPMyAdmin alebo Adminer. Na správu databázy, ktorá obsahuje jednu tabuľku, stačí použiť vašu obľúbenú aplikáciu: užívatelia ... a v ňom sú používatelia, tu je snímka obrazovky:

Ak chcete vytvoriť nového používateľa, môžete duplikovať alebo naklonovať existujúci riadok a zmeniť údaje, ktoré by sa medzi oboma používateľmi líšili, tu vám ukážem snímku obrazovky:

No ... nič viac k tomu 🙂

Dúfam, že je to pre vás užitočné a viete, akékoľvek otázky alebo návrhy, dajte mi vedieť.

pozdravy

PD: V tomto tutoriále používame heslá uložené v databáze ako obyčajný text. Ak chcete väčšiu bezpečnosť, odporúčam vyskúšať md5 😉


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   LiGNUxer dijo

    VEĽMI DOBRE!!! Pred pár týždňami som to inštaloval, ale s vsftpd a nie som o tom presvedčený, takže to skúsim, aby som zistil, ako to je. Ďakujem

    1.    KZKG ^ Gaara dijo

      Ďakujem priateľu.
      vsftpd Nepamätám si, kedy som ho použil naposledy ... pred pár rokmi, ... ak som ho niekedy používal HAHA. Momentálne som s PureFTPd viac ako šťastný 😀

  2.   riadny dijo

    Veľmi dobrý príspevok!

    1.    KZKG ^ Gaara dijo

      Vďaka compa 😀
      Robíš, čo dokážeš ...

  3.   Počítačový strážca dijo

    Uuumm, zaujímavé ... podajte mi IP databázy, že chcem mať po ruke túto zbierku používateľov a hesiel 😉

    Nebuď zlý, človeče

    1.    KZKG ^ Gaara dijo

      Nechápal som hehehe ... o čom to IP a DB hovoríš?
      Ak máte na mysli, že tieto údaje, ktoré som vložil do tutoriálu, môžu byť aj na serveri, áno, máte pravdu ... sú v službe FTP na virtuálnom počítači na mojom notebooku, majú veľmi dobrý firewall (iptables), takže ... HAHAHAHAHA samozrejme nebuď zlý LOL !!!

  4.   Počítačový strážca dijo

    Joroña, čo je joroña…. Bude to komplikovanejšie, ako sa zdá, využívať určitú zraniteľnosť a zachytiť tieto údaje 😉

  5.   Algave dijo

    Veľmi zaujímavé!! 🙂

    1.    KZKG ^ Gaara dijo

      Ďakujem vám
      To je to, čo sa snažím odlíšiť od ostatných webov ... že sa snažíme uvádzať nie toľko noviniek, ako skôr technické články 😀

  6.   giskard dijo

    Aké rýchle je to v porovnaní so Sambou? (iba lokálna sieť)

    1.    LiGNUxer dijo

      že samba a ftp sú 2 rôzne veci, ftp je seriózny protokol a SMB len na uľahčenie zdieľania medzi win a linuxom.
      Pokiaľ hľadáte výkon v sieti, využite službu FTP, inak používajte sambu len tak bez problémov

      1.    KZKG ^ Gaara dijo

        Presne.
        Povedzme, že FTP je o niečo vážnejší ako Samba, aspoň podľa mňa je.

        Nerobil som vôbec žiadne benchmarky, ale možno je FTP o niečo rýchlejší.

        1.    giskard dijo

          Ďakujem. Používam Sambu, aby som zo svojej konzoly Wii (pomocou wiimc) mohol sledovať filmy a seriály, ktoré si stiahnem do svojho počítača. Ale wiimc sa môže pripojiť aj k ftp serveru. Použil som Sambu, pretože to bolo najjednoduchšie, ale vždy ma zaujímalo, či to bude s ftp rýchlejšie. Budem sa musieť snažiť.

          1.    KZKG ^ Gaara dijo

            Môžete tiež jednoducho pripojiť Apache k počítaču, a tak by sa mohla pripojiť Wii, musí to byť rýchlejšie ako samba ... a oveľa jednoduchšie sa konfigurovať ako FTP 😀

          2.    giskard dijo

            Wiimc (prehrávač Wii Media Player) prijíma iba pripojenia Samba a FTP.

  7.   MaxSteel dijo

    Vynikajúci Tento typ článku (a stránka všeobecne) potrebuje iba niečo, aby bolo všetko dokonalé; šablónu CSS, ktorá umožňuje tlačiť články do formátu PDF alebo na papier.

  8.   LiGNUxer dijo

    Neviem, či to bude moje vlastné, ale veľký problém s tým je, že používatelia môžu prechádzať všetky adresáre, aj keď im poskytnem konkrétny adresár ako „/ var / www / user_site“, ak sa pripájajú prostredníctvom ftp, majú prístup kdekoľvek z môjho pc ¬¬
    to nie je veľmi bezpečné, haha

  9.   LiGNUxer dijo

    TU JE TO !!!
    Aby sme zabránili používateľom, ktorých vytvárame, v navigácii v celom našom systéme, musíme pri spustení čistého ... pridať parameter „-A“.

    Takže to, čo pridáme do súboru /etc/rc.local, ktorý ste vložili do tutoriálu, je toto
    pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    a musíte ho nahradiť týmto iným:
    pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    Je to ocenené? ... Tento nový riadok má parameter -A na obmedzenie adresára iba tomu, ktorému ho priradíme, a nič iného, ​​čo môže vytvárať, ale nemôže sa posúvať o úroveň vyššie.

    D: tento roztomilý čistý-fptd

    1.    KZKG ^ Gaara dijo

      Ďakujem za tip 😀

  10.   Roberto dijo

    Dobrý deň, v tejto implementácii MySQL a FTP je možné implementovať kvóty, momentálne mám ftp server s vsftpd a nemám problém s kvótami, ale byť virtuálnym používateľom (vytvoreným v mysql) budú kvóty platné? a druhá je miesto, kde sa ukladajú súbory nahrané používateľmi, to znamená adresáre každého používateľa.

    1.    KZKG ^ Gaara dijo

      Teoreticky môžete implementovať kvóty, v skutočnosti má databáza pre ňu vytvorené polia a konfiguračný súbor služby FTP má na to nastavené dotazy, čo som v skutočnosti netestoval 😉

      Informácie o tom, kam by používatelia ukladali súbory, definujete v 5. poli, pozri snímku obrazovky: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   Roberto dijo

    Ďakujem pekne za komentár, idem tento systém otestovať na testovacom serveri a komentovať výsledky, dúfam, že môžem, pretože je to skvelá metóda, ako mať všetko v poriadku, a s RAID máte stabilný systém zálohovania: D.

    1.    KZKG ^ Gaara dijo

      Ďakujem za komentár 🙂

  12.   Roberto dijo

    Mám otázku, už sa mi podarilo nainštalovať pure-ftp s mysql a kvótami, problémom teraz je, ako môžem pozastaviť účet zo samotnej tabuľky mysql bez úpravy jeho hesla používateľa alebo nahraných súborov.

    1.    KZKG ^ Gaara dijo

      Napadajú ma dva spôsoby, najjednoduchšie je zmeniť hodnotu postavenie od 1 do 0, teoreticky ak je na 0 účet je deaktivovaný, skús toto a povedz mi 🙂

  13.   Birkhoff dijo

    Roberto, ako sa ti podarilo nastaviť poplatky pomocou tohto zariadenia? Prosím, podeľte sa o informácie.
    Veľmi dobrý vstup !!

    1.    Roberto Sotelo dijo

      Birkhoff, práve na svojom osobnom blogu som o tom vytvoril tému, odkaz nechávam na kontrolu:

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

  14.   klaus dijo

    pozdravy:

    Snažím sa všetko sledovať, ale zobrazí sa mi chyba 501 a predovšetkým sa budem odvolávať na skutočnosť, že heslo je nesprávne, keď viem, že je v poriadku