Kako: FTP usluga koja koristi MySQL bazu podataka

Unatoč određenoj neizvjesnosti koja može okružiti MySQL, osobno mi je ipak draži rad s ovim DB-om nego neki drugi. Nemam ništa protiv Postgrea, jednostavno sam čitav život koristio MySQL i do sada nisam imao razloga da preispitam njegovu upotrebu.

Ovaj put naučit ću vas kako instalirati FTP poslužitelj, ali ne samo to, naučit ću vas na ne tako složen način kako učiniti korisnike, lozinke i ostale korisničke podatke pohranjenima u MySQL bazu podataka, a ne na račune lokalno.

Zašto ovo ovako?

Jednostavno, jer prilikom izrade sigurnosne kopije, ponovne instalacije poslužitelja ili bilo koje druge značajne promjene premještanje usluge bilo bi jednostavno kao kopiranje konfiguracijske datoteke i izvoz MySQL baze podataka na FTP.

Da bismo to postigli koristit ćemo Čisto-FTPd, pa ... krenimo 🙂

Instaliranje FTP usluge s Pure-FTPd

1. Prvo što morate učiniti je instalirati paket: čisti-ftpd-mysql

U distrosima poput Debian ili derivati: aptitude instalirati pure-ftpd-mysql

2. Jednom instalirani, pokrenuli smo uslugu, ali moramo je zaustaviti, da bismo je zaustavili na sustavima poput Debiana ili izvedenicama, s čime je dovoljno:

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

Međutim, ostavljam vam redak koji će zaustaviti uslugu bez obzira na distribuciju koju koristite:

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

Ako želite detaljno razumjeti ovaj redak, pročitajte ovaj članak

Priprema uvjeta na MySQL poslužitelju

Već sam nedavno objasnio kako stvoriti bazu podataka, korisnika i tom korisniku dati dozvole u bazi podataka: Korisnici i dopuštenja u MySQL-u

Prijeđimo na ono što ćemo ovdje? ...

1. Stvorit ćemo bazu podataka da, ali prvo pristupamo MySQL:

mysql -u root -p

Ovdje stavljaju root lozinku i pristupit će MySQL terminalu.

2. Kad uđemo u MySQL, nastavljamo s izradom baze podataka myftpdb:

CREATE DATABASE myftpdb;

Primijetite točku sa zarezom «;»Na kraju retka.

3. Sada ćemo stvoriti korisnika myftpuser i dat ćemo dozvole za upotrebu korisnika u bazi podataka koju smo upravo stvorili, a taj će korisnik imati kao lozinku myftpppasword:

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

4. Spremni, stvorili smo bazu podataka, korisnika i postavili dozvole. Sada moramo uvesti zadanu (ili čistu) bazu podataka da bi ovo bilo potpuno. Da bismo to učinili, prvo izađimo iz MySQL:

exit;

Sada preuzmimo zadanu bazu podataka koju vam nudim:

Preuzmite DB prema zadanim postavkama

Ili na poslužitelju koristite sljedeći redak:

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

Spremni, već ga imamo na našem poslužitelju, sada ostaje samo uvesti vaše podatke:

mysql -u root -p myftpdb < myftpdb.sql

I spremno!

Također mogu koristiti neke web aplikacije poput Admin o phpMyAdmin za uvoz baze podataka ostavljam je da proba.

5. A ovo je sve da bi bili spremni uvjeti našeg MySQL-a.

Povezivanje FTP-a s MySQL-om

Pa, već imamo instaliranu FTP uslugu, instaliranu MySQL uslugu i s postavljenom bazom podataka ... sada samo trebamo, pridružite se FTP usluzi s MySQL-om.

1. Prvo moramo preuzeti konfiguracijsku datoteku koju ćemo koristiti za gore spomenuto. U poslužiteljski terminal stavimo sljedeći redak:

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

2. Sada pokrećemo FTP uslugu koja joj govori da koristi za autentifikaciju MySQL korisnika, a također ćemo naznačiti koju konfiguracijsku datoteku koristiti za povezivanje s MySQL:

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

I voila 😀

To je dovoljno za instaliranje vlastitog FTP poslužitelja za autentifikaciju s MySQL bazom podataka.

Ako želite da svaki put kada se poslužitelj automatski pokrene, pokreće FTP uslugu, morate unijeti datoteku /etc/rc.local redak koji koristimo za izvršavanje FTP-a, odnosno stavimo /etc/rc.local ovaj:

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

Usput, FTP-u možete pristupiti putem bilo kojeg preglednika, kao i FTP klijenata poput Filezile ... i ne samo to, pomoću preglednika datoteka poput Nautilusa, Dolphina ili PCManFM-a možete i preuzimati i slati datoteke 😀

Testirajte korisnika koji je u bazi podataka

Korisničko ime: testuser

Lozinka: testna lozinka

Kako upravljati FTP korisnicima?

Pa, uzimajući u obzir da se radi o MySQL bazi podataka, kao što sam gore rekao ... upotreba PHPMyAdmin ili Adminer bit će dovoljna. Samo koristite svoju omiljenu aplikaciju za upravljanje bazom podataka koja sadrži jednu tablicu: Korisnici ... i u njemu su korisnici, evo snimka zaslona:

Ako želite stvoriti novog korisnika, možete duplicirati ili klonirati postojeću liniju i promijeniti podatke koji bi se razlikovali između oba korisnika, ovdje ću vam pokazati snimak zaslona:

Pa ... ništa više za dodati 🙂

Nadam se da vam je ovo korisno i znate, bilo koja pitanja ili prijedlozi javite mi.

pozdravi

PD: U ovom uputstvu koristimo lozinke spremljene u bazi podataka u običnom tekstu, ako želite veću sigurnost, preporučujem da isprobate md5 😉


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   LiGNUxer dijo

    VRLO DOBRO!!! Prije nekoliko tjedana instalirao sam ovo, ali s vsftpd i nisam uvjeren, pa ću probati ovo da vidim kako je. Hvala vam

    1.    KZKG ^ Gaara dijo

      Hvala vam prijatelj.
      vsftpd Ne sjećam se kad sam ga zadnji put koristio ... prije nekoliko godina, ... jesam li ga ikad koristio HAHA. Trenutno sam s PureFTPd-om više nego zadovoljan 😀

  2.   odgovarajuće dijo

    Vrlo dobar doprinos!

    1.    KZKG ^ Gaara dijo

      Hvala compa 😀
      Učini što možeš, hahao ....

  3.   Računalni čuvar dijo

    Uuumm, zanimljivo ... dodaj mi IP DB-a za koji želim imati tu zbirku korisnika i lozinki pri ruci 😉

    Ne budi zao, čovječe

    1.    KZKG ^ Gaara dijo

      Nisam razumio hehehe ... o kojem IP i DB govorite?
      Ako mislite da bi ovi podaci koje sam stavio u tutorial mogli biti i na poslužitelju, da, u pravu ste ... nalaze se u FTP usluzi na virtualnom računalu na mom laptopu, ima VRLO dobar vatrozid (iptables) pa ... HAHAHAHAHA naravno ne budi zla LOL !!!

  4.   Računalni čuvar dijo

    Joroña kakav joroña .... Bit će složenije nego što se čini da iskoristimo neku ranjivost i uhvatimo te podatke

  5.   Algave dijo

    Vrlo zanimljivo!! 🙂

    1.    KZKG ^ Gaara dijo

      Hvala ti
      To je ono što pokušavam razlikovati od ostalih web mjesta ... da nastojimo stavljati ne toliko vijesti već tehničke članke 😀

  6.   giskard dijo

    Koliko je to brzo u usporedbi sa Sambom? (samo lokalna mreža)

    1.    LiGNUxer dijo

      da su samba i ftp dvije različite stvari, ftp je ozbiljan protokol i smb samo da bi olakšao dijeljenje između win-a i linuxa.
      Ako tražite performanse na mreži, koristite FTP uslugu, inače koristite sambu samo bez problema

      1.    KZKG ^ Gaara dijo

        Točno.
        Recimo da je FTP malo ozbiljniji od Sambe, barem po mom mišljenju jest.

        Nisam uopće radio mjerila, ali možda je FTP nešto brži.

        1.    giskard dijo

          Hvala vam. Koristim Sambu kako bih sa svoje Wii konzole (pomoću wiimc) mogao gledati filmove i serije koje preuzimam na svoje računalo. Ali wiimc se također može povezati s ftp poslužiteljem. Koristio sam Sambu jer je bila najjednostavnija, ali uvijek me zaintrigiralo hoće li s ftp-om biti brže. Morat ću pokušati.

          1.    KZKG ^ Gaara dijo

            Pa, možete i jednostavno montirati Apache na svoje računalo, a kako bi se Wii povezao, mora biti brži od sambe ... i mnogo jednostavniji za konfiguriranje od FTP-a 😀

          2.    giskard dijo

            Wiimc (Wii Media Player) prihvaća samo Samba i FTP veze.

  7.   Max čelik dijo

    Izvrsno. Ova vrsta članaka (i web stranice općenito) treba samo nešto da sve bude savršeno; CSS predložak kako bi se članci mogli ispisivati ​​u PDF ili na papir.

  8.   LiGNUxer dijo

    Ne znam hoće li to biti moje, ali veliki je problem u tome što korisnici mogu proći kroz sve direktorije, čak i ako im dam određeni direktorij poput "/ var / www / user_site" ako se povežu putem ftp-a imati pristup bilo gdje s mog računala
    to nije baš sigurno haha

  9.   LiGNUxer dijo

    EVO GA!!!
    Da bismo spriječili korisnike koje stvaramo da se mogu kretati kroz cijeli naš sustav, moramo dodati parametar "-A" prilikom pokretanja čistog ...

    Dakle, ono što dodajemo u /etc/rc.local koje ste stavili u tutorial je ovo
    pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    i morate ga zamijeniti s ovim drugim:
    pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf

    Je li to cijenjeno? ... Ovaj novi redak sadrži parametar -A da ograniči samo direktorij kojem smo ga dodijelili i ništa drugo, on može stvoriti, ali ne može se povisiti.

    D: ovaj slatki pure-fptd

    1.    KZKG ^ Gaara dijo

      Hvala na savjetu 😀

  10.   Roberto dijo

    Pozdrav, moguće je implementirati kvote u ovu MySQL i FTP implementaciju, trenutno imam ftp poslužitelj s vsftpd i nemam problema s kvotama, ali budući da sam virtualni korisnik (stvoren u mysqlu) hoće li kvote biti valjane? a drugo je mjesto gdje se pohranjuju datoteke koje su korisnici prenijeli, to jest, to su direktoriji svakog korisnika.

    1.    KZKG ^ Gaara dijo

      U teoriji možete implementirati kvote, zapravo baza podataka ima polja stvorena za nju, a konfiguracijska datoteka FTP usluge postavlja upite za to, što zapravo nisam testirao

      O tome gdje bi korisnici stavili datoteke, to definirate u 5. polju, pogledajte snimak zaslona: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg

  11.   Roberto dijo

    Puno vam hvala na komentaru, testirat ću ovaj sustav na testnom poslužitelju i komentirati rezultate, nadam se da mogu, jer je to sjajna metoda da sve bude u redu, a s RAID-om imate stabilan sigurnosni sustav: D.

    1.    KZKG ^ Gaara dijo

      Hvala vam na komentaru 🙂

  12.   Roberto dijo

    Imam pitanje, već sam uspio instalirati pure-ftp s mysqlom i kvotama, sada je pitanje kako mogu suspendirati račun iz same mysql tablice, bez izmjene korisničke lozinke ili prenesenih datoteka.

    1.    KZKG ^ Gaara dijo

      Mogu smisliti dva načina, najjednostavniji je promijeniti vrijednost status od 1 do 0, u teoriji ako je na 0 račun je deaktiviran, pokušajte ovo i recite mi 🙂

  13.   birkhoff dijo

    Roberto, kako si uspio odrediti naknade pomoću ovog objekta? Molimo podijelite informacije.
    Vrlo dobar ulaz !!

    1.    Roberto Sotelo dijo

      Birkhoff, upravo na svom osobnom blogu stvorio sam temu o tome, ostavljam vezu za pregled:

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

  14.   Klaus dijo

    Pozdrav:

    Pokušavam pratiti sve, ali dobivam pogrešku 501, a najviše se pozivam na činjenicu da je lozinka netočna kada znam da je u redu