LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> FTP server

Instalace a konfigurace FTP serveru ProFTPD.

10.3.2005 06:00 | Martin Pruša | Články autora | přečteno 17499×

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.

ServerNameJmé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 souborSoubor (případně i s cestou) s hláškou pro klienta po přihlášení.
DisplayFirstChdir souborSoubor (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

pridej.cz

 

DISKUZE

Poznámky 10.3.2005 13:14 Václav Hlobil
L Re: Poznámky 10.3.2005 14:47 Martin Pruša
  L Re: Poznámky 10.3.2005 15:07 Václav Hlobil
    L Re: Poznámky 11.3.2005 11:28 Jan Houštěk
uživatel 10.3.2005 13:56 Václav Hlobil
jiné servery 10.3.2005 23:02 Jan Houštěk
  |- Re: jiné servery 10.3.2005 23:05 Jan Houštěk
  | L Re: jiné servery 11.3.2005 00:42 Martin Pruša
  |   L Re: jiné servery 11.3.2005 11:11 Jan Houštěk
  L Re: jiné servery 12.3.2005 13:37 CandySan




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 ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze