FTP server
Instalace a konfigurace FTP serveru ProFTPD.
10.3.2005 06:00 |
Martin Pruša
| Články autora
| přečteno 17837×
Jelikož je na naší síti sdílení dat přes FTP velice rozšířeno a já nemohl zůstat pozadu, porozhlédl jsem se po nějakém vhodném FTP serveru. Měl jsem jasné požadavky co očekávám: bezpečnost, stabilitu, snadnou konfigurovatelnost a svobodný software . Volba padla na FTP server ProFTPD (www.proftpd.org). Ostatně už podnadpis na stránkách tohoto projektu je všeříkající: Highly configurable GPL-licensed FTP server software. Aktuální verze je 1.2.10.
Instalace
Stáhl jsem si z aktuální verzi a dal jsem se do instalace. Instalace probíhá klasickou svatou trojicí: ./configure, make, make install . Vše, alespoň u mne, proběhlo bez komplikací. Po instalaci je důležité najít čtyři hlavní soubory, které nás budou zajímat. Konkrétně soubory proftpd - spouštěcí soubor, ftpusers - blacklist, proftpd.conf - konfigurační soubor , ftpshut - zastavení FTP serveru. Já osobně tyto soubory mám po standardní instalaci (žádná použitá volba u příkazu ./configure ) rozházené po celém disku.
Po této proceduře je nutno vytvořit uživatele. Na tohoto uživatele bude nastaven ftpserver a do jeho domovského adresáře se dají přimountovat jiné adresáře, viz dále. V shellu postupně zadáme tyto příkazy (jsou uvedeny pro SuSE, pro jiné distribuce se můžou drobně odlišovat):
# groupadd uživatel - Vytvoří uživatelskou skupinu uživatel.
# useradd -s /etc/ftponly -g uživatel -d /home/ uživatel uživatel - Vytvoří uživatele ve skupině uživatel s domovským adresářem /home/uživatel a shellem /etc/ftponly. Tento soubor musí existovat (může být prázdný) a zamezuje jinému přihlášení. Tento soubor musí být uvedený v /etc/shells.
Konfigurace
Blacklist
Do souboru ftpusers napište po řádcích všechny uživatele, kteří se nebudou moci přihlásit.
Obecná konfigurace
Tato část se týká už jen výhradně souboru proftpd.conf a vysvětlení příkazů v něm zapsaném.
ServerName “Jméno serveru“ - Jméno serveru.
ServerType standalone/inetd – Volba standalone způsobí, že server sám bude čekat na spojení. Volba inetd způsobí, že na spojení bude čekat démon inetd.
Port číslo portu – Číslo portu ftp.
ShowSymlinks on/off – Zobrázení symbolických odkazů pro uživatele.
MaxInstances číslo – Číslo udává maximální počet podprocesů. Zamezuje DoS útokům. Tato volba funguje jen při standalone, při inetd řídí počet podprocesů démon inetd.
TimeoutStalled číslo – Číslo udává v sekundách, jak dlouho bude existovat spojení, jestliže se nebudou přenášet žádná data.
TimeoutNoTransfer číslo – Číslo udává v sekundách, jak dlouho bude existovat spojení, jestliže není po přihlášení klienta k serveru zadán žádný příkaz.
TimeoutIdle číslo – Číslo udává v sekundách, jak dlouho bude existovat spojení při nečinnosti klienta.
DisplayLogin soubor – Soubor (případně i s cestou) s hláškou pro klienta po přihlášení.
DisplayFirstChdir soubor – Soubor (případně i s cestou) s hláškou pro klienta při každé změně pracovního adresáře.
MaxClients číslo – Číslo určuje maximální počet spojení.
MaxClientsPerHost číslo – Číslo určuje maximální počet spojení z jedné IP adresy.
User nobody – Uživatel pod nímž server poběží.
Group nogroup – Skupina pod níž server poběží.
Anonymní účet
Po úvodní hlavičce, kde jsme omezili nebo povolili kdeco kdekomu, nastává konfigurace serveru pro konkrétní účet.
< Anonymous /home/uživatel >
< /Anonymous > - Do tohoto “tagu“ budeme vkládat další položky. Tímto určujeme, že chceme aby byl server anonymní a nastaven na domácí adresář uživatele, kterého jsme již vytvořili.
User uživatel – Nastavení přihlášení už ke konkrétnímu účtu.
Group uživatel – To samé jako předešlé.
UserAlias anonymous uživatel – Anonymní přihlášení.
MaxClients číslo “sdělení“ - Maximální počet klientů na daném účtu. Při překročení se dálším zobrazí uvedené sdělení.
AnonRequirePassword on/off – Při přihlášení bude/nebude vyžadováno heslo.
RequireValidShell on/off – Platný shell. V některých distribucích je tento řádek vyžadovan.
ReadRateBPS číslo – Omezení rychlosti pro jednoho přihlášeného uživatele.
HideUser uživatel – Schování všech souborů na něž má práva uživatel.
< Limit LOGIN > - Přihlášení.
DenyAll/AllowAll – Zakázání/povolení všem. V případě zakázání/povolení vybraných je třeba zvolit postup viz níže.
Order deny,allow - Výčet položek.
Deny from server – Server určuje odkud se nedá přihlásit. Serverů může být uvedeno více, pak se oddělují čárkami.
Allow from all – Povolení přihlášení z ostatních serverů.
< /Limit >
< Directory / > - Zakázání/povolení přepisování stávajících souborů.
AllowOverwrite no/yes
< /Directory >
< Limit WRITE > - Zapisování.
Opět je možné povolit/zakázat všem nebo jen vybraným. Stejný postup jako při přihlašování.
< /Limit >
< Limit READ > - Čtení.
To samé jako předešlý tag.
< /Limit >
< Limit READ DIRS > - Přístup ke skrytým souborům.
IgnoreHidden on/off – Ignorovat/neignorovat skrýte soubory.
< /Limit >
< Directory upload/* > - Zpřístupnění upload. Tento adresář musí existovat v /home/uživatel/.
Do tohoto tagu můžeme opět vložit další tagy, které budou zakazovat/povolovat, kdo smí číst nebo zapisovat do tohoto adresáře.
< /Directory >
Takto jako upload se dá zpřístupnit jakýkoliv jiný adresář.
Spouštění a provoz
FTP serveru se spouští příkazem ./proftpd , z adresáře, kde se tento soubor nachazí. Nebo odkudkoliv, jestliže je uveden v PATH. Zastavení se provádí příkazem ./ftpshut now (funguje pouze v standalone módu), místo now se dá použít jiných voleb, viz. man ftpshut . Tento příkaz způsobí vytvoření souboru /etc/shutmsg, který zamezuje přihlášení k serveru, který ale stále běží. Obnovení standardního provozu se provádí příkazem ./ftpshut -R , který uvedený soubor smaže. Já mám nastaveno automatické spouštění FTP serveru při startu X serveru. Stačí uvést tento příkaz do souboru /etc/X11/xdm/Xsetup nebo Xsession. Ještě je vhodné připojit do /home/uživatel/ adresáře, které chceme sdílet a jsou jinde na disku. To zajistí příkaz mount --bind olddir newdir, kde olddir je adresář, který chceme připojit do /home/uživatel/newdir. Tyto příkazy mám také uvedené v souboru pro automatické spouštění. Před tímto připojeném je ještě vhodné adresáře odpojit, kvůli případnému restartování X (umount olddir newdir) – vícenásobné připojení.
Můj soubor proftpd.conf
#Jmeno serveru
ServerName "Samael server ftp"
#Typ nastaveni
ServerType standalone
# Port
Port 21
#Ukazovat Symlinky
ShowSymlinks on
#Odpojeni pri necinosti po prihlaseni
TimeoutNoTransfer 300
#Odpojeni pri neprenaseni dat
TimeoutStalled 300
#Odpojeni pro necinosti klienta
TimeoutIdle 300
#Jmeno uzivatele a skupina kde bezi server
User nobody
Group nogroup
DisplayLogin welcome.msg
MaxClients 10
MaxClientsPerHost 2
#Konfigurace anonymniho uctu
< Anonymous ~ku >
User samael-ftp
Group samael-ftp
UserAlias anonymous samael-ftp
#vse pouze pro cteni
< Limit WRITE >
DenyAll
< /Limit>
#zakaz prepsani existujiciho souboru
< Directory / >
AllowOverwrite no
< /Directory>
#prihlaseni povoleno vsem
< Limit LOGIN >
AllowAll
< /Limit >
#upload
< Directory upload/* >
< Limit WRITE >
AllowAll
< /Limit >
< /Directory >
< /Anonymous >
Závěr
Jestliže server běží můžete se podívat, kdo je přihlášen pomocí programů ftpwho nebo ftptop. Tento server umožňuje spoustu dalších “vychytávek“ , např. virtuální server. Ale to už je mimo rozsah tohoto článku a kdo by měl zájem, může si toto a spoustu dalších zajímavých věcí o tomto projektu nastudovat na uvedených stránkách, v dobře provedené a rozsáhlé dokumentaci.
Verze pro tisk
|
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|
Vyhledávání software
Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|