Jsem jedním z těch, kteří rádi inovují a učí se nové věci, nedávno jsem musel instalovat a konfigurovat FTP server a rozhodl jsem se to udělat jinak, než jsem to dělal vždycky.
V tomto případě jsem se rozhodl pro službu FTP s virtuálními uživateli, uživateli, kteří budou uloženi v šifrovaném souboru (uživatel, heslo, nastavení atd.), Vše s Čistý FTPd.
Zde vám ukážu, jak na to ... no, pojďme začít 😉
Nejprve určete, že příkazy v tomto výukovém programu jsou určeny pro distribuce, jako je Debian nebo na nich založené, avšak pokud někdo na svém serveru používá jinou distribuci, musí nainstalovat stejné balíčky a použít níže uvedená nastavení, jedinou věc, kterou potřebujete je třeba změnit příkaz install.
1. Nejprve musíme nainstalovat Pure FTPd:
apt-get install pure-ftpd
Výstup ukončí něco takového:
2. Služba je již aktivována, ale není nám k ničemu, pokud jsme ji správně nenakonfigurovali, pojďme dát rozsáhlý konfigurační soubor, ale je to téměř standardní, obsahuje normální, zjišťující, že anonymní uživatelé nejsou povoleni atd. Atd. .
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf
3. Předpokládejme, že naše složka FTP je / var / www / ftp / a chceme vytvořit uživatele, který může nahrávat informace do složky / var / www / ftp / sysadmin /, do terminálu vložme následující:
pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/
To znamená následující:
pure-pw: Příkaz používaný k manipulaci s uživateli Pure-FTPd
useradd: Označujeme, že přidáme uživatele
sysadmin: Uživatel, kterého chci vytvořit
-u 2001: ID uživatele tohoto uživatele
-g 2001: GroupID daného uživatele
-d / var / www / ftp / sysadmin /: Složka, která bude domovem daného uživatele, tj. kam bude nahrávat věci
Při zadávání předchozího řádku požádá o heslo daného uživatele.
4. Nyní musí aktualizovat databázový soubor uživatele, proto zadáme složku / etc / pure-ftpd / (cd / etc / pure-ftpd) a vložíme do terminálu:
pure-pw mkdb
5. Nyní musíme spustit Pure-FTPd, ale s uvedením, že použijeme soubor virtuálních uživatelů, nejprve zastavme službu:
/etc/init.d/pure-ftpd stop
Pak se ujistíme, že se standardně nespustí normálně:
chmod -x /etc/init.d/pure-ftpd
A nyní zahajujeme službu po svém:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
6. Pokud se pokusí použít aplikaci jako Filezilla, uvidí, že se mohou bez problémů připojit k vytvořenému uživateli, ale nebudou moci nic kopírovat ani vytvářet adresáře, protože složka / var / www / ftp / sysadmin / ( domov uživatele podle příkladu) nemá příslušná oprávnění, bude opravena pomocí:
chown -R 2001:2001 /var/www/ftp/sysadmin/
Nezapomeňte, že Uid a Gid 2001 je ten z uživatelů, které jsme vytvořili, vytvořili jsme to pomocí příkazu v předchozím kroku 3 😉
7. Chcete-li službu zastavit, stiskněte na stejném terminálu [Ctrl] + [C] nebo na jiném terminálu proveďte:
killall pure-ftpd
Nyní označíme, že se služba spustí automaticky se systémem při spuštění serveru, upravíme soubor /etc/rc.local a před poslední řádek, který říká „exit 0“, vložíme příkaz, kterým spustíme Služba FTP:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
Jinými slovy by to vypadalo takto:
Soubor můžete upravit pomocí nano, vi nebo preferovaného editoru, nebo pokud chcete, zkopírujte a vložte tento příkaz, který vám usnadní práci:
perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local
... ano ano ... jak čtete, «usnadnit», je to rozsáhlý příkaz ano, ale je to jednoduše nahradit text perlem a neškodnou ozvěnou 🙂
8. Jakmile to provedete, restartujte server a uvidíte, že služba pure-ftpd je spuštěna a připravena k práci 😀
Jak odstranit uživatele?
Jak jsem vám už řekl, příkaz čistě-pw je to, co potřebujeme k manipulaci s uživateli, k vymazání uživatele (například sysadmin) pojďme následující:
cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb
Pamatujte, že kdykoli provedete změnu u kteréhokoli uživatele, musíte znovu vygenerovat soubor virtuální databáze uživatelů, který je umístěn v / etc / pure-ftpd / a je generován / aktualizován pomocí pure-pw mkdb
Každopádně, přátelé, myslím, že toho není mnoho k přidání, pozývám vás, abyste si přečetli pomoc pure-pw, protože nám umožňuje mnohem víc, než to, co jsem vám zde ukázal (toto je jen krátký a téměř základní návod).
Před jedním nebo dvěma lety jsem byl jedním z těch, kteří vše propojili s OpenLDAP nebo MySQL, ale postupem času jsem si uvědomil, že tolik připojení k databázím, které jsou servery jako takové, generuje spotřebu, kterou si mnohokrát nemůžeme dovolit. Z tohoto důvodu použití zcela životaschopných alternativ, jako je použití databází ve vlastních souborech aplikace, jako je Pure-FTPd .pdb 🙂
Jakékoli pochybnosti nebo otázky se pokusím pomoci, jak jen mohu.
Zdravím a ... šťastné hackování!
Že to .. Dokumentace v případě chyb 😀
A už píšu příspěvek o tom, jak nainstalovat Nginx + MySQL + Spawn_FastCGI, jako jsem to udělal v Justice, a díky tomu blog funguje tak dobře :)
Doufám, že to budu mít připravené na zítra nebo pozítří.
Dobrý příspěvek; Je to legrační, nedávno jsem se snažil umístit svůj server ftp, i když jsem nemohl s vsftpd a šel jsem na čistý-ftpd a co když si myslím, že to potřebuji, je dát příklad jasného conf dokumentace je velmi dobrá, ale na alespoň základy. Šifrování nebo alespoň port pro přepadení v případě, že je použit router.
Mimochodem s tímto příkazem pure-ftpwho vám dá vědět, kdo je připojen k serveru a jestli se něco stahuje;).
A podle vás není nutné připojovat databázi k serveru.
Díky za komentář 🙂
Ano, musel jsem vysvětlit mnoho věcí (vše ve skutečnosti) v konfiguraci, to je to, že jsem předpokládal, že někdo, kdo ví, jak spravovat server, kdo chce nainstalovat službu FTP, že někdo nebude mít velké problémy se čtením komentářů souboru conf ^ - ^
Zdravím a ještě jednou děkuji za komentář
Ahoj Velmi dobrý příspěvek, používám (nebo alespoň prozatím) vsftpd, ale mám s tím nějaké problémy a chtěl jsem zjistit, jestli se mi to stalo, máte nějakou adresu URL nebo dokument, abyste zjistili, jak je její konfigurace?
Díky moc };)
Konfiguraci si můžete prohlédnout zde: http://ftp.desdelinux.net/pure-ftpd.conf
Jakékoli dotazy nebo pokud potřebujete něco, otevřete vlákno ve fóru, které vám rádi pomůžeme 🙂
Velmi dobře 😀
Jen malá věc, v příkazu perl chybí symbol ^, takže to nezmění další exit 0, který je v komentářích:
perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local
pozdravy
Výborně, jen mám otázku, jak mohu vytvořit uživatele jen pro čtení? Používám Centos 6.5, pureftpd, ispconfig a grafický režim.
Ispconfig používám pouze pro ftp
pozdravy a poděkování
Tento způsob instalace pureftp je ASCO 🙂 necháte službu spuštěnou jako root, vytvoříte virtuálního uživatele a poté změníte oprávnění k souborovému systému a ufff long atd. Způsob instalace balíčku je připraven k použití, není tedy nutné provádět všechny tyto kroky
Jste vyzváni, abyste vydali méně „nechutného“ průvodce .. 😉
Co navrhuješ? Dát serveru ftp naslouchat na portu> 1024? Pokud ftp server poslouchá na svém standardním portu: 22 musí být spuštěn jako root, pokud nezměníte schopnosti jádra, pokud chcete zlepšit zabezpečení, použijte MAC framework s SELinuxem, další variantou by bylo zavřít / chrootovat server ftp.
Odkaz na pure-ftpd.conf je nefunkční nebo neexistuje. Můžete to obnovit?
díky
O 2 roky později je odkaz na soubor pure-ftpd.conf stále nefunkční 🙁