Portál AbcLinuxu, 2. května 2025 07:25

Pure-ftpd - instalujeme

19.8.2006 00:28 | Přečteno: 11760× | Linux | Výběrový blog | poslední úprava: 19.8.2006 16:13

Dneska místo popisování co se mi všechno stalo nestalo zkusím popsat strastiplnou cestu instalace a konfigurace pure-ftpd na (X-K-Ed)Ubuntu. Můžete to brát jako návod pro Linux newbie.

Když jsem na linuxu začínal tak jsem jako FTP server využíval proftpd. Obsahuje ho každá slušná distribuce, docela jednoduše se konfiguruje a spravuje. Obsahuje taky prográmky na monitorování a vůbec všechno co má slušný FTP server obsahovat. Jeho jediná nevýhoda je docela strojově a i humáně nepohodlná konfigurace. Pravda, podporuje MySQL databázi, ale já mám radši konfiguráky.

Dneska tedy padla volba na pure-ftpd. Nejdříve jsem zavítal na web projektu a prostudoval dokumentaci. Největší sílu vidím u pure-ftpd ve virtual userech, ale o tom až dále. Pokud Vás pure-ftpd zaujal tak jako mě tak můžeme pokračovat magickou formulí:

sudo apt-get install pure-ftpd

Po instalaci balíčku musíme zprovoznit naše virtuální usery. Virtuální user (dále jen VU) je uživatel, který nemá účet v samotném systému, ale pouze na FTP, takže nemusíme nikde nastavovat shelly a podobné věci. Pokud se chystáme na nějaký komunitní server je to ideální volba, protože má velice jednoduchý konfigurační soubor, kde jsou hodnoty oddělený pouze středníkem. Každému uživately můžeme nastavit jeho ratio, kolik může stahovat a kolik uploadovat, jakou má mít složku a další kupu zajímavých věcí. Problém u (X-K-Ed)Ubuntu je takový, že standardně nejsou virtuální useři zapnutí. Resp. jsou, ale díky tomu, že instalační script "zapoměl" na jeden symlink tak nefungujou. Musíme proto z /etc/pure-ftpd/conf/PureDB udělat symlink do /etc/pure-ftpd/auth/50pure. Tím vnutíme pure-ftpd soubor s usery. V konsoly to vypadá nějak takhle:

cd /etc/pure-ftpd/auth
sudo ln -s ../conf/PureDB 50pure

Je to opsané z ubuntu fóra a dalo mi asi 2 hodiny než jsem se k tomu dopídil.

Standardně se k pure-ftpd můžeme přihlásit jako uživatel našeho systému. Tyto ftp účty jsou vytvářeny automaticky a pokud Vám stačí není nutné pokračovat ve čtení dále.

Teď můžeme restartovat náš FTP server...

sudo /etc/init.d/pure-ftpd restart

...a vrhnout se na konfiguraci.

První na co se sběžně podíváme je přidávání usera. Pro práci s uživateli slouží prográmek pure-pw. Dokáže přidávat, upravovat, mazat a zobrazovat informace o uživateli. Pokud do konsole napíšeme jméno tohoto prográmku vyjede nám nápověda podle které se dá nastavení udělat vcelku v pohodě, ale to základní si ukážeme.

Nejdříve musíme do systému přidat jednoho uživatele jehož práva budeme dávat našim virtuálním userům. Těch uživatelů může být víc, ale pro jednoduchost budu používat jednoho. Tomuto uživateli by jsme měly dát do parametru shell prázdný soubor, aby se na něj nikdo nemohl přihlásit přes ssh. Jde nám jen o práva. Takže začneme s tim shellem.

sudo dd if=/dev/null of=/bin/void
sudo chmod 775 /bin/void

Přes dd vytvoříme nulový soubor a dáme mu práva ke spuštění. Pak ještě náš nový shell přidáme do /etc/shells třeba takto:

sudo nano /etc/shells
a na konec přidáme /bin/void

Teď když máme shell tak vytvoříme uživatele (je jedno jaké si zvolíte jméno, já použil myftp):

sudo adduser myftp --shell /bin/void

a vyplníme k němu potřebné informace. Teď už můžeme přidávat naše virtuální usery. Přidávání se realizuje asi takto:

sudo pure-pw useradd login -d /home/login -u myftp

Toto nám vytvoří uživatele s určitým loginem a home direm. Pokud použijeme -d tak se použije tzv. chroot a při přihlášení se uživatel nedostane za hranice své složky. Pokud použijeme -D tak má uživatel práva jako uživatel myftp včetně přístupu na disk. Přepínač -u slouží k určení, která že to práva má virtual user používat. Existuje asi 30 dalších přepínačů nastavujících různé omezení včetně maximální velikosti složky nebo maximální rychlosti odesílání či příjmání dat. Po odeslání tohoto příkazu se Vás systém zeptá na dvakrát na heslo.

Editace uživatelů funguje podobně jako přidávání. Tak nejdřív příklad:

sudo pure-pw usermod santa -d /home/novy_adresar

Tento příkaz změní home dir uživatele santa na /home/novy_adresar. Podobně se dají nastavit další parametry.

sudo pure-pw passwd santa

Tento příkaz pro změnu změní uživately santa heslo. Pokud se nám uživatel santa přestane líbit tak ho vymažeme:

sudo pure-pw userdel santa

Pokud potřebujeme zjistit informace o uživateli santa tak použijeme:

sudo pure-pw show santa

Samozřejmě než ho vymažeme :)

Pokud jsme udělaly všechny změny, které jsme chtěly tak je potvrdíme (Nemusíme restartovat server!):

sudo pure-pw mkdb

Jako základní návod na vytvoření vlastního FTP server si myslím, že to postačuje. Pro jakékoli další nastavování bude nutné kuknout do manuálu nebo homepage projektu, kde to je moc pěkně popsané včetně návodů (v angličtině). Nebo mi napsat na cx@jabber.cz .

Nakonec pár linků:

Ubuntu fórum pure-ftpd dokumentace pure-ftpd homepage a můj blog :)        

Hodnocení: 91 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Valoun avatar 19.8.2006 13:28 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Odpovědět | Sbalit | Link | Blokovat | Admin
Pokud se nepletu, tak na Debianech je k nalezení /bin/false, který dělá to, co jste pracně vytvářel jako /bin/void. Nebo se pletu? Viz "man false".
19.8.2006 15:15 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Presne aj ja pouzivam /bin/false napr. pre pureftpd ale aj pre userov co maju email konto ale nechcem aby mali shell.
19.8.2006 16:04 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Uživatele co mají mít jen email ani nezakládám do systému...
-- Nezdar není hanbou, hanbou je strach z pokusu.
19.8.2006 16:05 Creckx | skóre: 23 | blog: cxblog | Lanškroun
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Ano je tam, ale s /bin/false se mi nepodařilo rozchodit proftpd, tak jsem z tiku popsal toto. V manuálu dokonce píšou použít /dev/null.
Můj blog Pokud máte taky blog, můžeme vyměnit odkazy :)
19.8.2006 16:20 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
aneb "RequireValidShell off" ... coz bys potreboval (v proftpd) i na ten /bin/void, pokud bys neudelal to , cos udelal - pridal ho do /etc/shells
Urine should only be green if you're Mr. Spock.
19.8.2006 16:22 Creckx | skóre: 23 | blog: cxblog | Lanškroun
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
To by mohlo být ono..
Můj blog Pokud máte taky blog, můžeme vyměnit odkazy :)
19.8.2006 15:36 Ivanhoej | skóre: 26 | blog: ss2_Debian | Bratislava
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Odpovědět | Sbalit | Link | Blokovat | Admin
Ubuntu je takový, že standardně nejsou virtuální useři zapnutí. Resp. jsou, ale díky tomu, že instalační script zapoměl na jeden symlink tak nefungujou. Musíme proto

Takto instalacny skript nic "nezapomnel" Ono je to na adminovi aby vybral tym autentifikacie a preto tam defaltne nic nie je, lebo moze byt od PuDB, LDAP, cez PAM az po MySQL.

Este mozno par veci na doplnenie:
1. Ak chcete mat PureDB za firewalom treba mu urcit rozsah pasivnych porov a to v /etc/pure-ftpd/conf/PassivePortRange do neho dat 50000 50400
2. tiez do conf ak TLS treba vytvorit TLS a no neho 0 1 alebo 2 podla manula + treba mat samozrejme vytvoreny certifikat, vsetko je v doc.

PureFTPd pouzivam cca 8 rokov, a na 3 systemoch no Debiam ma najhorsie spravene konfiguraky(tie jeho ln ako i v apache), treba si to poriadne nastudovat, zatialco na gentoo ci archu to bola zalezitost par minut. No co uz ked na server zasa ten debian patri.

sudo dd if=/dev/null of=/bin/void
Tu by snad stacilo
sudo touch /bin/void 
, ked uz tuto zbytocnost s dd by niekto robil.

Pureftpd je asi jeden z najlepsich (pre mna najlepsi) FTP server vadi mi tam len jedna vec, ze sa neda userovi pridelit este aj aky typ pripojenia moze pouzivat ci 0-bez SSL/TLS, 1 aj aj 2= len SSL/TSL, to je skoda dost by som to vyuzil.
19.8.2006 16:12 Creckx | skóre: 23 | blog: cxblog | Lanškroun
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Zapomněl/nezapomněl má to bejt pro lidi a když na každym druhym fóru najdu jak někdo řeší tento "problém", tak se odvážím to označit jako že zapomněl. Ale jinak máš pravdu, ten kdo vytvářel ten balíček to tak myslel.

Co se týče jeho konfigurace, tak je opravdu zvláštní, ale třeba u proftpd mi trvalo několik hodin přidat anonymního usera a to mi to nikdy nefungovalo jak jsem chtěl. Možná má přehlednější to nastavování vlastního serveru, ale co se týče uživatelů tak proftpd vede na plný čáře.
Můj blog Pokud máte taky blog, můžeme vyměnit odkazy :)
20.8.2006 20:07 jm
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
sudo dd if=/dev/null of=/bin/void
Tu by snad stacilo
sudo touch /bin/void 
, ked uz tuto zbytocnost s dd by niekto robil.
Ale zato tam neni zbytecnej cat... :-D :-D :-D
8.3.2007 00:31 Jano
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Odpovědět | Sbalit | Link | Blokovat | Admin
zdravim.vsetko som nastavil podla navodu,ale mam problem: sam na seba sa pripojim,ale zvonku sa na moj server nedostane nikto.nemam firewall.co robim zle,ako by som to mal spravne nastavit?dakujem za kazdu radu.
8.3.2007 00:31 Jano
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
ps: mam kubuntu
7.8.2008 23:54 KerryCZE | skóre: 1 | Děčín
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Odpovědět | Sbalit | Link | Blokovat | Admin
Děkuji vám za tento návod. konečně jsem to rozchodil, a nic vtom nebylo :). Ješte jednou děkuji
5.10.2009 03:12 Aragus
Rozbalit Rozbalit vše Re: Pure-ftpd - instalujeme
Odpovědět | Sbalit | Link | Blokovat | Admin
zdar, kdyz vytvorim usera pomoci pure-pw tak se vsechno tvari ok.. ale kdyz dam pure-pw show joe tak mi to pise ze joe nema zaznam a ani v samotnem /etc/pureftpd.passwd ho nevidim ..

tak nevim.. tim padem tam nemam zadny login a nemuzu testovat.. at delam co delam - nic nefaka

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.