Pure-FTPd je bezplatný a bezpečný FTP server. Nenabízí zbytečné zvonky a píšťalky, ale zaměřuje se na efektivitu a snadné použití. Poskytuje jednoduché odpovědi na běžné potřeby a navíc jedinečné užitečné funkce pro osobní uživatele i poskytovatele hostingu.
Tento návod vám pomůže nastavit Pure-FTPD s MySQL jako uživatelskou databázi. Poskytuje také podrobné pokyny k vytvoření uživatele a testování.
Krok 1:Nainstalujte MySQL (přeskočte, pokud již máte)
Nejprve musíme nainstalovat MySQL na náš systém pomocí následujících kroků příkazu.
# yuminstall mysql mysql-server
kliknutím sem zobrazíte podrobné pokyny pro instalaci mysql.
Krok 2:Instalace Pure-FTPD
Použijte následující příkaz k instalaci pure-ftpd na váš linuxový systém.
# yuminstall pure-ftpd
Krok 3:Vytvořte uživatele a databázi MySQL
Po instalaci balíčku pure-ftpd umožňuje vytvořit databázi mysql, tabulku a uživatele pro ukládání uživatelských informací.
#mysql -u root -p Enter password: mysql> CREATE DATABASEpureftpd ; mysql> GRANT ALL ONpureftpd .* to 'pureftpd '@'localhost' IDENTIFIED BY '_password_ '; mysql> FLUSH PRIVILEGES; mysql> usepureftpd ; mysql> CREATE TABLE `users` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `User` varchar(32) NOT NULL DEFAULT '', `Password` varchar(64) NOT NULL DEFAULT '', `Uid` int(3) NOT NULL DEFAULT '500', `Gid` int(3) NOT NULL DEFAULT '500', `Dir` varchar(255) NOT NULL DEFAULT '', `QuotaSize` int(4) NOT NULL DEFAULT '50', `Status` enum('0','1') NOT NULL DEFAULT '1', `ULBandwidth` int(2) NOT NULL DEFAULT '100', `DLBandwidth` int(2) NOT NULL DEFAULT '100', `Date` date NOT NULL DEFAULT '0000-00-00', `LastModif` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`ID`), UNIQUE KEY `User` (`User`), KEY `Uid` (`Uid`), KEY `Gid` (`Gid`), KEY `Dir` (`Dir`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; mysql> quit
Krok 4:Konfigurace Pure-FTPD
Chystáme se nakonfigurovat čistý ftpd tak, aby ukládal přihlašovací údaje uživatele do databáze mysql. Nejprve upravte hlavní konfigurační soubor pure-ftpd
# vim /etc/pure-ftpd/pure-ftpd.conf
a proveďte následující změny.
ChrootEveryoneyes MaxClientsNumber50 MaxClientsPerIP2 VerboseLogyes AnonymousOnlyno NoAnonymousyes MaxIdleTime15 MySQLConfigFile/etc/pure-ftpd/pureftpd-mysql.conf PAMAuthenticationno UnixAuthenticationno
Po provedení změn v konfiguraci pure-ftpd nechte upravit konfigurační soubor pure-ftpd mysql
# vim /etc/pure-ftpd/pureftpd-mysql.conf
a aktualizujte následující proměnné
MYSQLUserpureftpd MYSQLPassword_password_ MYSQLDatabasepureftpd MYSQLCryptmd5
Krok 5:Otestujte nastavení Pure-FTPD
V tomto kroku jsme dokončili nastavení čistého ftpd, nyní musíme otestovat naše nastavení vytvořením našeho prvního ftp účtu. Abychom otestovali naše nastavení, musíme nejprve vytvořit uživatele v systému linux. Poté použijeme UID a GID uživatelů k vytvoření našich virtuálních ftp účtů.
Vytvořit uživatelský účet:
# useradd demouser1 # passwd demouser1
Získejte UID a GID tohoto účtu:
# cat /etc/passwd | grep demouser1 demouser1:x:504:505::/home/demouser1:/bin/bash
Podle výše uvedeného výstupu jsme zjistili, že UID usres je 504 a GID je 505.
Vytvořit účet FTP
Umožňuje přihlášení k serveru mysql nebo přístup přes phpMyAdmin a vytvoření vašeho prvního účtu. Pro tento tutoriál používám příkazový řádek.
# mysql -u root -p Enter password: mysql> INSERT INTO `users` (`User`, `Password`, `Uid`, `Gid`, `Dir`, `QuotaSize`, `Status`, `ULBandwidth`, `DLBandwidth`, `Date`, `LastModif`) VALUES ('ftpuser1', md5('_password_'), '504', '505', '/home/demouser1', '20', 2, '10', '10', now(), ''); mysql> quit
Podle výše uvedeného dotazu jsme úspěšně vytvořili náš první ftp účet
Připojte se k serveru FTP pomocí nově vytvořeného ftp účtu a pokuste se nahrát testovací soubor.
C:>ftp ftp.tecadmin.net Connected to ftp.tecadmin.net. 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- 220-You are user number 1 of 50 allowed. 220-Local time is now 21:39. Server port: 21. 220-This is a private system - No anonymous login 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. User (ftp.tecadmin.net:(none)):ftpuser1 331 User ftpuser1 OK. Password required Password: 230 OK. Current restricted directory is / ftp>put test.txt 200 PORT command successful 150 Connecting to port 57216 226-File successfully transferred 226 0.004 seconds (measured here), 0.65 Mbytes per second ftp: 2593 bytes sent in 0.00Seconds 2593.00Kbytes/sec. ftp> bye 221-Goodbye. You uploaded 3 and downloaded 0 kbytes. 221 Logout. C:>
Podle výše uvedených výsledků jsme se úspěšně připojili k uživateli ftp a nahráli testovací soubor. Pojďme zkontrolovat oprávnění těchto souborů na serveru.
# ls -l /home/demouser1/test.txt -rw-r--r-- 1 demouser1 demouser1 2525 Dec 4 21:39 /home/demouser1/test.txt
Nyní můžete vidět, že soubory získávají oprávnění daného uživatele, které UID, GID jsme použili pro daný FTP účet.