Въпреки известна несигурност, която може да заобиколи MySQL, лично аз все още предпочитам да работя с тази DB пред да използвам друга. Нямам нищо против Postgre, просто използвах MySQL цял живот и досега нямах причина да преосмислям използването му.
Този път ще ви науча как да инсталирате FTP сървър, но не само това, ще ви науча по не толкова сложен начин, как да направя потребителите, паролите и другите потребителски данни да се съхраняват в база данни на MySQL, а не в акаунти местни.
Защо това е така?
Просто, защото при създаване на резервно копие, преинсталиране на сървър или друга значителна промяна преместването на услугата би било толкова просто, колкото копирането на конфигурационен файл и експортирането на базата данни MySQL към FTP.
За да постигнем това ще използваме Чисто-FTPd, добре ... нека започнем 🙂
Инсталиране на FTP услугата с Pure-FTPd
1. Първото нещо, което трябва да направите, е да инсталирате пакета: чист-ftpd-mysql
В дистрибуции като Debian или производни: aptitude инсталирайте pure-ftpd-mysql
2. След като инсталирахме, стартирахме услугата, но трябва да я спрем, за да я спрем на системи като Debian или деривати, достатъчно е с:
/etc/init.d/pure-ftpd-mysql stop
Оставям ви обаче линия, която ще спре услугата, независимо от дистрибуцията, която използвате:
ps ax | grep pure | grep -v grep | awk '{print $1}' | xargs kill
Подготовка на условия на MySQL сървъра
Вече обясних неотдавна как да създам база данни, потребител и да дам разрешения на този потребител в базата данни: Потребители и разрешения в MySQL
Нека да преминем към това какво ще правим тук? ...
1. Ще създадем база данни да, но първо влизаме в MySQL:
mysql -u root -p
2. След като влезем в MySQL, продължаваме да създаваме базата данни myftpdb:
CREATE DATABASE myftpdb;
3. Сега ще създадем потребителя myftpuser и ние ще дадем разрешения за използване на потребител в базата данни, която току-що създадохме, този потребител ще има като парола myftpпарола:
CREATE USER 'myftpuser'@'localhost' IDENTIFIED BY 'myftppassword';
GRANT ALL PRIVILEGES ON myftpdb.* TO 'myftpuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES ;
4. Готови, създадохме базата данни, потребителя и зададохме разрешенията. Сега трябва да импортираме базата по подразбиране (или чиста), за да бъде това пълно. За да направите това, нека първо излезем от MySQL:
exit;
Сега нека изтеглим базата данни по подразбиране, която ви предлагам:
Или на сървъра използвайте следния ред:
wget http://ftp.desdelinux.net/myftpdb.sql
Готови, вече го имаме на нашия сървър, сега остава само да импортираме вашите данни:
mysql -u root -p myftpdb < myftpdb.sql
И готово!
5. И това е всичко, за да са готови условията на нашия MySQL.
Свързване на FTP с MySQL
Е, вече имаме инсталирана FTP услуга, инсталирана услугата MySQL и с нашата база данни ... сега просто се нуждаем, присъединете се към FTP услуга с MySQL.
1. Първо трябва да изтеглим конфигурационния файл, който ще използваме за гореспоменатите. В сървърния терминал поставяме следния ред:
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd-mysql.conf
2. Сега стартираме FTP услугата, която казва да се използва за удостоверяване на потребителите на MySQL, и също така ще посочим кой конфигурационен файл да използва, за да се свърже с MySQL:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
И вуала 😀
Това е достатъчно, за да инсталираме нашия собствен FTP сървър за удостоверяване с MySQL база данни.
Ако искате всеки път, когато сървърът стартира автоматично, той стартира FTP услугата, трябва да поставите файла /etc/rc.local линията, която използваме за изпълнение на FTP, тоест поставяме /etc/rc.local това:
pure-ftpd-mysql -l mysql:/etc/pure-ftpd/pure-ftpd-mysql.conf
Между другото, можете да получите достъп до FTP с помощта на всеки браузър, както и FTP клиенти като Filezilla ... и не само, като използвате файлови браузъри като Nautilus, Dolphin или PCManFM, можете също да изтегляте и качвате файлове 😀
Тествайте потребител, който е в базата данни
Потребител: testuser
парола: тестова парола
Как да управлявам FTP потребители?
Е, като се има предвид, че това е база данни MySQL, както казах по-горе ... използването на PHPMyAdmin или Adminer ще бъде достатъчно. Просто използвайте любимото си приложение за управление на базата данни, която съдържа една таблица: Потребители ... И в него са потребителите, ето екранна снимка:
Ако искате да създадете нов потребител, можете да дублирате или клонирате съществуващия ред и да промените данните, които биха били различни между двамата потребители, тук ви показвам екранна снимка:
Ами ... нищо повече за добавяне 🙂
Надявам се, че това е полезно за вас и знаете ли, всички въпроси или предложения да ме уведомите.
поздрави
PD: В този урок използваме пароли, записани в базата данни в обикновен текст, ако искате повече сигурност, препоръчвам ви да опитате md5 😉
МНОГО ДОБРЕ!!! Преди няколко седмици инсталирах това, но с vsftpd и не съм убеден, така че ще пробвам това, за да видя как е. Благодаря ти
Благодаря приятел.
vsftpd Не помня кога за последно го използвах ... преди няколко години, ... дали някога съм го използвал HAHA. В момента с PureFTPd съм повече от доволен 😀
Много добър принос!
Благодаря компа 😀
Правиш каквото можеш хаха ...
Uuumm, интересно ... предайте ми IP адреса на DB, който искам да има под ръка тази колекция от потребители и пароли 😉
Не бъди зъл, човече
Не разбрах хехехе ... за какъв IP и DB говориш?
Ако имате предвид, че тези данни, които съм поставил в урока, могат да бъдат и на сървър, да, вие сте прав ... те са във FTP услуга на виртуален компютър на моя лаптоп, той има МНОГО добра защитна стена (iptables) така че ... HAHAHAHAHA разбира се, не бъди зъл LOL !!!
Joroña какъв joroña .... ще бъде по-сложно, отколкото изглежда да се възползва от известна уязвимост и да улови тези данни 😉
Много интересно!! 🙂
Благодаря ви
Това се опитвам да ни разграничи от останалите сайтове ... че се опитваме да пускаме не толкова новини, колкото технически статии 😀
Колко бързо е това в сравнение със Samba? (само локална мрежа)
че samba и ftp са 2 различни неща, ftp е сериозен протокол и smb, само за да улесни споделянето между win и linux.
Ако търсите производителност в мрежата, използвайте FTP услуга, в противен случай използвайте samba просто без проблеми
Точно.
Да кажем, че FTP е малко по-сериозен от Samba, поне според мен е така.
Изобщо не съм правил никакви критерии, но може би FTP е малко по-бърз.
Благодаря ти. Използвам Samba, така че от конзолата на Wii (с помощта на wiimc) да мога да гледам филми и сериали, които изтеглям на компютъра си. Но wiimc може да се свърже и с ftp сървър. Използвах Samba, защото беше най-лесният, но винаги ме интересуваше дали ще бъде по-бързо с ftp. Ще трябва да опитам.
Е, можете също така просто да монтирате Apache на вашия компютър и за да се свърже Wii, той трябва да е по-бърз от samba ... и много по-лесен за конфигуриране от FTP 😀
Wiimc (Wii Media Player) приема само Samba и FTP връзки.
Отлично. Трябва ви само нещо от този тип статии (и сайта като цяло), за да направите всичко перфектно; шаблон на CSS, за да можете да отпечатвате статиите в PDF или на хартия.
Не знам дали ще е мой, но големият проблем с това е, че потребителите могат да преминат през всички директории, дори ако им дам конкретна директория като "/ var / www / user_site", ако се свържат чрез ftp те имам достъп до всяко място от моя компютъ𠬬
това не е много безопасно хаха
ЕТО ГО!!!
За да попречим на създадените от нас потребители да могат да навигират през цялата ни система, трябва да добавим параметъра "-A", когато стартираме чистата ...
Така че това, което добавяме към /etc/rc.local, което поставяте в урока, е това
pure-ftpd-mysql -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
и трябва да го замените с това друго:
pure-ftpd-mysql -A -l mysql: /etc/pure-ftpd/pure-ftpd-mysql.conf
Оценява ли се? ... Този нов ред носи параметъра -A, за да ограничи само директорията, към която го присвояваме и нищо друго, той може да създава, но не може да се изравнява.
D: този сладък pure-fptd
Благодаря за съвета 😀
Здравейте, възможно е да приложите квоти в тази реализация на MySQL и FTP, в момента имам ftp сървър с vsftpd и нямам проблем с квотите, но като виртуален потребител (създаден в mysql) квотите ще бъдат ли валидни? и второто е мястото, където се съхраняват файловете, качени от потребители, тоест кои са директориите на всеки потребител.
На теория можете да внедрите квоти, всъщност базата данни има полетата, създадени за нея, а конфигурационният файл на FTP услугата има зададени заявки за това, което всъщност не съм тествал това 😉
За това къде потребителите ще поставят файловете, вие го определяте в 5-то поле, вижте екранната снимка: https://blog.desdelinux.net/wp-content/uploads/2012/09/phpmyadmin-screenshot-nuevo-usuario.jpg
Благодаря ви много за вашия коментар, ще тествам тази система на тестов сървър и ще коментирам резултатите, надявам се, че мога, защото това е чудесен метод да имате всичко в ред, а с RAID имате стабилна система за архивиране : Д.
Благодаря ви за коментара 🙂
Имам въпрос, вече успях да инсталирам pure-ftp с mysql и квоти, въпросът сега е как мога да преустановя акаунт от самата таблица на mysql, без да променя потребителската си парола или качени файлове.
Мога да измисля два начина, най-простият е да променя стойността на Статус от 1 до 0, на теория ако е на 0 акаунтът е деактивиран, опитайте това и ми кажете 🙂
Роберто, как успяхте да определите таксите, използвайки това съоръжение? Моля, споделете информацията.
Много добър вход !!
Birkhoff, точно в личния си блог създадох тема за това, оставям връзката за преглед:
http://aprendelinux.net/instalar-servidor-ftp-pure-ftp-con-cuentas-virtuales-en-mysql/
поздрави:
Опитвам се да следвам всичко, но получавам грешка 501 и най-вече да се позова на факта, че паролата е неправилна, когато знам, че е добре