Kako: FTP storitev z uporabo baze podatkov MySQL

Kljub določeni negotovosti, ki bi lahko obkrožala MySQL, osebno še vedno raje delam s to bazo podatkov kot neko drugo. Nimam nič proti Postgreju, MySQL sem preprosto uporabljal celo življenje in do zdaj nisem imel nobenega razloga, da bi premislil o njegovi uporabi.

Tokrat vas bom naučil, kako namestiti strežnik FTP, pa ne samo to, na ne tako zapleten način vas bom naučil, kako uporabnike, gesla in druge uporabniške podatke shraniti v zbirko podatkov MySQL in ne v račune. lokalno.

Zakaj je to tako?

Preprosto, ker bi bilo pri izdelavi varnostne kopije, ponovni namestitvi strežnika ali kateri koli drugi pomembni spremembi premikanje storitve tako preprosto kot kopiranje konfiguracijske datoteke in izvoz baze podatkov MySQL v FTP.

Da bi to dosegli, bomo uporabili Čisti-FTPd, no ... začnimo 🙂

Namestitev storitve FTP s Pure-FTPd

1. Najprej morate namestiti paket: čisti-ftpd-mysql

V distribucijah, kot je Debian ali izvedeni finančni instrumenti: aptitude namestite pure-ftpd-mysql

2. Po namestitvi smo storitev zagnali, vendar jo moramo ustaviti, da jo ustavimo v sistemih, kot je Debian ali izpeljani finančni instrumenti, je dovolj, da:

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

Vendar vam puščam vrstico, ki bo ustavila storitev ne glede na distribucijo, ki jo uporabljate:

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

Če želite to vrstico podrobno razumeti, preberite Ta članek

Priprava pogojev na strežniku MySQL

Pred kratkim sem že razložil, kako ustvariti bazo podatkov, uporabnika in mu dati dovoljenja v zbirki podatkov: Uporabniki in dovoljenja v MySQL

Gremo naprej, kaj bomo tukaj počeli? ...

1. Ustvarili bomo bazo podatkov, vendar najprej dostopamo do MySQL:

mysql -u root -p

Tu vstavijo korensko geslo in bodo dostopali do terminala MySQL.

2. Ko vstopimo v MySQL, nadaljujemo z izdelavo baze podatkov myftpdb:

CREATE DATABASE myftpdb;

Opazite podpičje «;»Na koncu vrstice.

3. Zdaj bomo ustvarili uporabnika myftpuser in dali bomo dovoljenja za uporabo uporabnika v zbirki podatkov, ki smo jo pravkar ustvarili, ta uporabnik bo imel za geslo myftpgeslo:

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

4. Pripravljeni, ustvarili smo bazo podatkov, uporabnika in nastavili dovoljenja. Zdaj moramo uvoziti privzeto (ali čisto) bazo podatkov, da bo ta popolna. Za to najprej zapustimo MySQL:

exit;

Zdaj pa prenesite privzeto bazo podatkov, ki vam jo ponudim:

Prenesite DB privzeto

Ali pa na strežniku uporabite naslednjo vrstico:

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

Pripravljen, ga že imamo na našem strežniku, zdaj je ostalo samo uvoziti vaše podatke:

mysql -u root -p myftpdb < myftpdb.sql

In pripravljeni!

Uporabijo lahko tudi kakšno spletno aplikacijo, kot je Administrator o PHPMyAdmin za uvoz baze podatkov jo pustim po okusu.

5. In to je vse, da imamo pripravljene pogoje za MySQL.

Povezovanje FTP-ja z MySQL

No, že imamo nameščeno storitev FTP, nameščeno storitev MySQL in z našo zbirko podatkov ... zdaj samo še potrebujemo, pridružite se storitvi FTP z MySQL.

1. Najprej moramo prenesti konfiguracijsko datoteko, ki jo bomo uporabili za prej omenjeno. V strežniški terminal postavimo naslednjo vrstico:

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

2. Zdaj zaženemo storitev FTP, ki ji pove, naj jo uporabi za preverjanje pristnosti uporabnikov MySQL, in navedli bomo tudi, katero konfiguracijsko datoteko uporabiti za povezavo z MySQL:

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

In voila 😀

To zadostuje za namestitev lastnega strežnika FTP za preverjanje pristnosti z bazo podatkov MySQL.

Če želite, da vsakič, ko se strežnik samodejno zažene, zažene storitev FTP, morate vstaviti datoteko /etc/rc.local vrstico, ki jo uporabljamo za izvajanje FTP-ja, torej vstavimo /etc/rc.local to:

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

Mimogrede, do FTP-ja lahko dostopate s katerim koli brskalnikom, pa tudi z odjemalci FTP, kot je Filezilla ... in ne samo to, z brskalniki datotek, kot so Nautilus, Dolphin ali PCManFM, lahko tudi prenesete in naložite datoteke 😀

Preizkusite uporabnika, ki je v bazi podatkov

Uporabniško ime: testuser

geslo: testna gesla

Kako upravljati uporabnike FTP?

No, glede na to, da gre za bazo podatkov MySQL, kot sem že rekel ..., bo uporaba PHPMyAdmin ali Adminer zadostovala. Za upravljanje zbirke podatkov, ki vsebuje eno tabelo, uporabite svojo najljubšo aplikacijo: Uporabniki ... in v njem so uporabniki, tukaj je posnetek zaslona:

Če želite ustvariti novega uporabnika, lahko podvojite ali klonirate obstoječo vrstico in spremenite podatke, ki bi se razlikovali med obema uporabnikoma, tukaj vam pokažem posnetek zaslona:

No ... nič več za dodati 🙂

Upam, da je to koristno za vas in veste, če imate kakršna koli vprašanja ali predloge, mi sporočite.

pozdrav

PD: V tej vadnici uporabljamo gesla, shranjena v zbirki podatkov v navadnem besedilu, če želite več varnosti, priporočam, da poskusite md5 😉


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   LiGNUxer je dejal

    ZELO DOBRO!!! Pred nekaj tedni sem to nameščal, vendar z vsftpd in nisem prepričan, zato bom poskusil to, da vidim, kako je. Hvala vam

    1.    KZKG ^ Gaara je dejal

      Hvala prijatelj.
      vsftpd Ne spomnim se, kdaj sem ga nazadnje uporabil ... pred nekaj leti, ... če sem ga kdaj uporabil HAHA. Trenutno sem s PureFTPd več kot zadovoljen 😀

  2.   pravilno je dejal

    Zelo dober prispevek!

    1.    KZKG ^ Gaara je dejal

      Hvala compa compa
      Delaj, kar lahko lol….

  3.   Computer Guardian je dejal

    Uuumm, zanimivo ... posredujte mi IP DB-ja, za katerega želim imeti na razpolago to zbirko uporabnikov in gesel 😉

    Ne bodi hudoben, človek

    1.    KZKG ^ Gaara je dejal

      Nisem razumel hehehe ... o kakšnem IP in DB govoriš?
      Če mislite, da bi lahko bili ti podatki, ki sem jih dal v vadnico, tudi na strežniku, ja, prav imate ... so v storitvi FTP na navideznem računalniku na mojem prenosniku, ima ZELO dober požarni zid (iptables), zato ... HAHAHAHAHA seveda ne bodi zlobna LOL !!!

  4.   Computer Guardian je dejal

    Joroña kakšen joroña…. Bilo bo bolj zapleteno, kot se zdi, da izkoristimo nekaj ranljivosti in zajamemo te podatke 😉

  5.   Algave je dejal

    Zelo zanimivo!! 🙂

    1.    KZKG ^ Gaara je dejal

      Hvala
      To je tisto, kar poskušam razlikovati od ostalih strani ... da poskušamo objavljati ne toliko novic, temveč tehnične članke 😀

  6.   giskard je dejal

    Kako hitro je to v primerjavi s Sambo? (samo lokalno omrežje)

    1.    LiGNUxer je dejal

      da sta samba in ftp dve različni stvari, je ftp resen protokol in smb samo za lažjo izmenjavo med win in linuxom.
      Če iščete zmogljivost v omrežju, uporabite storitev FTP, sicer pa sambo uporabite brez težav

      1.    KZKG ^ Gaara je dejal

        Natančno.
        Recimo, da je FTP nekoliko bolj resen kot Samba, vsaj po mojem mnenju je.

        Sploh nisem opravil nobenega merila uspešnosti, morda pa je FTP nekoliko hitrejši.

        1.    giskard je dejal

          Hvala vam. Sambo uporabljam tako, da si lahko iz konzole Wii (z uporabo wiimc) ogledam filme in serije, ki jih prenesem v računalnik. Toda wiimc se lahko poveže tudi s strežnikom ftp. Sambo sem uporabljal, ker je bila najlažja, vedno pa me je zanimalo, ali bo s ftpom hitreje. Moral bom poskusiti.

          1.    KZKG ^ Gaara je dejal

            No, Apache lahko preprosto namestite tudi na svoj računalnik in tako se Wii poveže, mora biti hitrejši od sambe ... in veliko preprostejši za konfiguriranje kot FTP 😀

          2.    giskard je dejal

            Wiimc (predvajalnik medijev Wii) sprejema samo povezave Samba in FTP.

  7.   Max jeklo je dejal

    Odlično. Za to vrsto člankov (in spletnega mesta na splošno) potrebujete le nekaj, da bo vse popolno; predlogo CSS, da lahko članke natisnete v PDF ali na papir.

  8.   LiGNUxer je dejal

    Ne vem, ali bo moj, toda velika težava pri tem je, da lahko uporabniki gredo skozi vse imenike, tudi če jim dam poseben imenik, kot je "/ var / www / user_site", če se povežejo s ftp-jem in imajo dostop do kjer koli iz mojega računalnika ¬¬
    to ni zelo varno haha

  9.   LiGNUxer je dejal

    TUKAJ JE!!!
    Da uporabnikom, ki jih ustvarimo, preprečimo navigacijo po celotnem sistemu, moramo pri zagonu čistega sistema dodati parameter "-A".

    Torej, kar dodamo /etc/rc.local, ki ste ga dodali v vadnico, je to
    pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    in ga morate zamenjati s tem drugim:
    pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    Ali je to cenjeno? ... Ta nova vrstica ima parameter -A, ki omejuje samo imenik, ki smo mu ga dodelili, in nič drugega, lahko ustvari, ne more pa se dvigniti.

    D: ta luštna pure-fptd

    1.    KZKG ^ Gaara je dejal

      Hvala za nasvet 😀

  10.   Roberto je dejal

    Pozdravljeni, ali je mogoče v tej izvedbi MySQL in FTP implementirati kvote, trenutno imam ftp strežnik z vsftpd in nimam težav s kvotami, ampak, če sem virtualni uporabnik (ustvarjen v mysqlu), bodo kvote veljavne? in drugo je mesto, kjer se shranjujejo datoteke, ki jih naložijo uporabniki, to so imeniki vsakega uporabnika.

    1.    KZKG ^ Gaara je dejal

      Teoretično lahko izvajate kvote, v resnici ima baza podatkov polja, ustvarjena zanjo, konfiguracijska datoteka storitve FTP pa ima za to nastavljena poizvedbe, ki jih v resnici nisem preizkusil

      O tem, kam bi uporabniki postavili datoteke, določite v 5. polju, glejte posnetek zaslona: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   Roberto je dejal

    Najlepša hvala za vaš komentar, preizkusil bom ta sistem na testnem strežniku in komentiral rezultate, upam, da lahko, ker je odlična metoda, da imate vse v redu, z RAID-om pa imate stabilen varnostni sistem: D.

    1.    KZKG ^ Gaara je dejal

      Hvala za komentar 🙂

  12.   Roberto je dejal

    Imam vprašanje, že sem uspel namestiti pure-ftp z mysql in kvotami. Zdaj je vprašanje, kako lahko onemogočim račun iz same tabele mysql, ne da bi spremenil njegovo uporabniško geslo ali naložene datoteke.

    1.    KZKG ^ Gaara je dejal

      Lahko se zamislim na dva načina, najpreprostejši je spremeniti vrednost Status od 1 do 0, teoretično, če je pri 0, je račun deaktiviran, poskusite to in mi povejte 🙂

  13.   birkhoff je dejal

    Roberto, kako vam je uspelo določiti pristojbine z uporabo tega objekta? Prosimo, delite informacije.
    Zelo dober vstop !!

    1.    Roberto Sotelo je dejal

      Birkhoff, ravno v svojem osebnem blogu sem ustvaril temo o tem, pustil sem vam povezavo za pregled:

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

  14.   klaus je dejal

    Hvala!

    Poskušam slediti vsemu, vendar dobim napako 501, predvsem pa se sklicujem na dejstvo, da je geslo napačno, ko vem, da je v redu