Linux/Linux jako server/Sarge
Linux server pro školy
Viktor Matys v.matys@seznam.cz
Poslední úprava: 15.07.2006
Upozornění - práce pokračuje
[editovat | editovat zdroj]Tento manuál není hotový. Ale je funkční. Co tu je by mělo fungovat.
Rovněž je to ukázka možností systému pro psaní dokumentace [txt2tags.sf.net txt2tags].
Vítejte ve sbírce záznamů z instalace linuxového serveru ve škole.
Originál této dokumentace najdete na [1]. Wiki verzi pak na [2]. Připojte se k tvorbě této dokumentace a navštivte wiki! :o)
Tento manuál jsem začal psát proto, abych nemusel příště znovu vymýšlet, co už jsem jednou vymyslel. Většina z nás si časem zvykne během experimentování dělat si poznámky. Tohle povídání je souhrnem těchto poznámek. Není to kniha, není to učebnice.
Pokud vám má být užitečná, vězte, že se předpokládá, že jste víceméně schopni linuxový server nainstalovat a nakonfigurovat taky, ale řekněme, že jste v těchto dovednostech spíš začátečníci. Pak pro vás tento manuál může být dobrou pomůckou.
Nejsem génius, takže předpokládám, že některé věci se dají udělat jinak a i lépe než tady popisuji. Dejte mi prosím vědět, narazíte-li na něco, co není zcela O.K. E-mailovou adresu najdete na úvodní straně.
Něco do začátku
[editovat | editovat zdroj]Zadání - stručně
[editovat | editovat zdroj]Škola chce mít vlastní internetový a intranetový server, kde by mohlo být úložiště dat pro žáky a učitele, e-mailové služby, webový server se stránkami školy a nástroje pro správu a údržbu.
Připojení do Internetu se řeší případ od případu. Školy mají zpravidla připojení přes síť Českého Telecomu coby pozůstatek po projektu Indoš.
Vnitřní síť bývá strukturována do podsítí opět dost různě případ od případu. V našem řešení budeme vycházet z jednoduché varianty s jednou lokální podsítí.
Vše běží na jediném počítači, který plní funkce dataserveru, webserveru... firewallu a NATu. Vzácně se setkáme se situací, kdy budou k dipozici dva počítače - jeden na data a jeden jako brána/firewall.
Hardware
[editovat | editovat zdroj]Router / FireWall
[editovat | editovat zdroj]V případě samostatné brány/firewallu stačí pro tento stroj jakákoliv starší mašina osazená min. dvěma síťovými kartami, bez periférií (klávesnice, myš, monitor...). Tento stroj je tedy volitelný.
Hlavní počítač - dataserver
[editovat | editovat zdroj]Hlavní počítač, který může plnit i funkci výše zmíněného, by měl mít směrem do lokálních podsítí síťové karty minimálně 100MBs -- úložiště dat na tomto stroji zaručuje silný síťový provoz. GBs síť nebude na škodu, ale není nutná.
Stroj by měl být osazen kvalitními harddisky s vysokou kapacitou, nejlépe SCSI, kvalitně větranou skříní, vypalovaní mechanikou CD/DVD (kvůli zálohování). Výkon procesoru není kritický, velikost paměti ano. Takže víme, kde NEšetřit.
Software
[editovat | editovat zdroj]Zvolená distribuce Linuxu
[editovat | editovat zdroj]Po dlouhém přemýšlení jsem vybral Debian Linux. Mezi linuxovými distribucemi jsem pro server nenašel konkurenci. Mimo Linux by určitě vyhovovalo jakékoliv BSD (FreeBSD, OpenBSD, NetBSD), ale s těmi nemám zkušenost.
Pro výběr distribuce jsem vyžadoval splnění kritérií:
- tradice
- široké zázemí vývojářů
- včasné vydávání bezpečnostních updatů
- dostatečná šíře software
- záruka, že bude free i do budoucna
- záruka, že bude existovat do budoucna
Má někdo lepší tip?
Co nainstalovat
[editovat | editovat zdroj]Při instalaci je lepší vybrat minimum věcí, jenom tak, aby systém fungoval a bylo možno jej dále upravovat. Teprve pak budeme přidávat další balíčky. Kompletní seznam balíčků, které obvykle používám je v příloze.
Hlavní serverové služby
[editovat | editovat zdroj]Samba
[editovat | editovat zdroj]Jedná se o souborový server. Ten umožňuje umístit na linuxový stroj data uživatelů, kteří pracující na stanicích s OS MS Windows. Rovněž se stará o přihlašování uživatelů do domény Windows, o jejich práva ap.
Zde je použit smtp server Exim4, který umožňuje přijímat poštu z Internetu a rovněž poštu odesílat.
Pro uživatelský přístup k poště tu jsou servery POP3 a IMAP z balíku Dovecot.
Rovněž může být nainstalován webmail Squirrelmail, umožňující pracovat s poštou přes internetový prohlížeč.
Příjemným rozšířením může být odvšivení mailů: Antivirus ClamAV a antispam SpamAssassin.
Web server
[editovat | editovat zdroj]Škola bude chtít provozovat stránky www ve své vlastní režii. Použit je web server Apache.
FTP server
[editovat | editovat zdroj]Je potřeba hlavně pro údržbu internetových stránek školy. FTP přístup mohou využívat i uživatelé pro přístup do svých adresářů na serveru (jako alternativa k Sambě). ProFTPD se ukázal jako dobrá volba.
SSH server
[editovat | editovat zdroj]Je potřeba pro vzdálenou správu serveru. Umožňuje se přihlásit na server jako uživatel, aniž by člověk u něj musel sedět. Jinou volbu než OpenSSH neznám.:o) V našem řešení je ssh použit pouze pro správu - normálním uživatelům je přihlašování odepřeno.
Další serverové služby
[editovat | editovat zdroj]Časový (NTP) server
[editovat | editovat zdroj]Server má rád, když ví, kolik je přesně hodin.
Pracovní postup nahrubo
[editovat | editovat zdroj]Tady bych stručně vyjasnil, co všechno se bude muset udělat a v jakém pořadí. Nejde jenom o instalaci software a jeho konfiguraci. Jde také o jednání se zákazníkem a jeho dalšími dodavateli.
Škola
[editovat | editovat zdroj]Především se slušně představit a vysvětlit, co jim vlastně chceme nabídnout. Nezabíhat do technických detailů, nenudit. Budou mít vlastní web a mail. To potěší. Data na serveru už ředitel školy zpravidla neocení - to si povídejme s místním administrátorem.
Ušetří za MS Windows server. Pokud budou srovnávat cenu instalace Linuxu a cenu za nákup MS Windows serveru, podotkněme, že srovnávají špatně:
- Linux je zdarma a platí se za práci spojenou s instalací a konfigurací. Do budoucna bude systém průběžně aktualizován; přechod na novou verzi je bezbolestný.
- MS Windows Server se musí koupit. Instalace a konfigurace rovněž není zadarmo a za dva za tři roky budou stát před otázkou, zda pořídit drahý upgrade na novou verzi MS Windows Serveru.
Zjistit současný stav.
- Jaký HW chtějí použít na server.
- Jestli chtějí jen jeden stroj, nebo jestli mohou dát ještě jeden jako bránu/firewall.
- Kolik mají klientských počítačů.
- Jak mají udělanou síť nyní. Učebny, počítače v kabinetech učitelů,... Rozvody. Huby. (Mají-li nakreslené schéma, bude se nám hodit.)
- Kdo je připojuje do Internetu, jaké nabízí možnosti z hlediska provozování vlastního
internetového serveru (hlavně soukromá IP a schopnost vytvořit PTR záznam v DNS).
- Jaké budou chtít mít doménové jméno.
U větších sítí bude potřeba i uvnitř školy udělat router, který umožní rozdělit školu na podsítě a směrovat provoz mezi nimi. Takže to by byl už třetí stroj (možná bez disků, o to více síťovek :o) O tomto řešení se v tomto elaborátu nezmiňuji.
Poskytovatel internetového připojení
[editovat | editovat zdroj]Nestačí jen připojení směrem ven. Škola bude provozovat i vlastní webové stránky, mail server a pro údržbu bude potřeba ssh server. K tomu všemu je nutná veřejná IP adresa. Může ji poskytovatel poskytnout?
Dále, dle norem, musí být k IP adrese veden v DNS tzv. reverzní PTR záznam. Umí to poskytovatel udělat?
Kvalitní poskytovatelé nabízejí i SMTP server pro odesílání pošty z naší sítě (nebudeme potřebovat) a dva DNS servery pro vyřizování DNS dotazů (budeme potřebovat).
Každopádně ještě zjistěme další možné poskytovatele pro danou oblast. Cenové porovnání může na zákazníka udělat dojem.
Drobná zkušenost ze škol po Indoši: Telecom má poměrně komplikované řešení, které udržuje zákazníky v privátní síti 10.x.x.x. Tato síť je dělena dost složitě do podsítí, které nekončí na celých bajtech... Veřejná IP existuje a je transparentně směrována na privátní IP adresu. Telecom používá vlastní firewall, což dělalo problém, když bylo potřeba otevřít porty.
Vím o škole, která z tohoto přátelského sevření odešla, našli si nového poskytovatele, platí si připojení ze svého (kdo zůstane u Telecomu, má to placené ministerstvem, to jste nevěděli?) a jsou v pohodě.
Registrace domény
[editovat | editovat zdroj]Registrátorů je poměrně hodně. Takže koho vybrat?
- Měl by umožňovat registraci přes webový formulář.
- Dále by měl umožňovat ruční editaci DNS záznamů.
- Komunikace s administrátory by neměla být na dlouhé lokte.
- Neměl by zřízení domény vázat na další služby (např. webhosting), které nepotřebujeme.
Mně se osvědčil pes.cz. Zná-li někdo další, ať dá vědět.
Instalace a konfigurace serveru
[editovat | editovat zdroj]Teprve jako poslední bod přichází příjemné introvertní uzavření se do laboratoře a nastavování serveru. Během této práce bude ještě určitě dobíhat komunikace z předchozích bodů. Takže nezačínat serverem, ale věcmi, které závisejí (bohužel) na dalších stranách.
Konfigurace pracovních stanic
[editovat | editovat zdroj]Školy obvykle chtějí i nadále provozovat MS Windows. Pro práci v doménách je ideální použít MS Windows XP Professional. Další, o něco horší varianta je použít Windows 98. XP Home domény neumějí ani jako klient!
Škola podruhé: Nabídka dalších možností
[editovat | editovat zdroj]Určitě nabídneme nainstalovat Linux i na pracovní stanice vedle MS Windows (že by někdo chtěl MS-Win úplně pryč jsem ještě neslyšel - ostatně žáci se seznámit s MS-Win musí:).
Nabídneme školení administrátora. Asi z něj neuděláme Linux Guru, ale pár základních věcí ohledně fungování Linuxu by měl znát aspoň na uživatelské úrovni. Měl by taky umět spravovat uživatelské účty.
A také nabídneme technickou podporu za měsíční poplatek. Aktualizace SW, kontrola logů, ladění antispamu,... důvodů je dost.
Instalace serveru
[editovat | editovat zdroj]Instalační média
[editovat | editovat zdroj]Pro instalaci použijte CD Grumpa.net Server. Jedná se o originální Debian Linux verze Stable, ale nachází se na něm jen to, co potřebujete k rozchození serveru (plus pár drobností navíc od nás).
Můžete rovněž použít přímo originál CD Debianu; jen budete muset mít těch CD víc. Stejně tak můžete instalovat z ftp archívu ap. CD Grumpa.net Server přináší hlavně tu výhodu, že to máte všechno v kupě, včetně tohoto návodu ap. Navíc jeho koupí podpoříte tento projekt, že? :o)
CD Grumpa.net Server si můžete objednat na [3], nebo na [4]. Nebo si můžete ze stránek [5] stáhnout jigdo soubor a CD si vyrobit pomocí jigdo. Bližší informace o jigdo si přečtěte na [6]. Možnost stažení přímo iso obrazů CD Grumpa.net Server v době psaní tohoto textu nebyla. Koukněte na grumpa.net, jestli se to nezměnilo.
Průběh instalace
[editovat | editovat zdroj]Celý instalační proces Debian Linuxu je podrobně popsán v instalačním manuálu, který najdeme buď na CD, nebo na internetových stránkách [Debianu [7]]. Proto ho zde nebudu popisovat, jen se podělím o pár zkušeností.
Úvodní menu
[editovat | editovat zdroj]Při startu instalace je možné vybrat z několika režimů. Určitě si vybereme režim expert. I když se tak třeba necítíme, je to lepší - instalátor se víc ptá, takže bude méně nastavování po skončení instalace.
Pokud jde o verzi linuxového jádra. Debian Sarge nabízí jak jádro řady 2.4, tak řady 2.6. Osobně zůstávám konzervativnější a používám na serverech jádro řady 2.4. Verze 2.6 nám toho moc navíc nenabídne. Snad jen ovladače k novějšímu hardwaru, které se najdou spíš u jádra-2.6 nás mohou přesvědčit o použítí této novější řady.
Dále máme možnost zadat parametry jádru (stiskněte F1). Většinou nejsou potřeba.
Takže na úvodní výzvu zadáme:
boot: expert
pro jádro 2.4, nebo
boot: expert26
pro jádro 2.6. Toto jádro se vybírá jen pro čas instalace. Jaké jádro bude použito na produkčním systému se vybírá později při instalaci.
Rozložení klávesnice
[editovat | editovat zdroj]Vyberte typ PC, i když máte USB. Bude fungovat a navíc vám bude následně nabídnuta i správná česká klávesnice (u volby USB bůhvíproč není).
Nastavení sítě
[editovat | editovat zdroj]Tady asi odmítneme automatickou konfiguraci přes DHCP a nastavíme parametry ručně. Jená se o IP adresu (vnějšího rozhraní - vnitřní se nastaví po instalaci), síťovou masku, IP adresu brány a IP adresu DNS serveru.
Dále budeme zadávat jméno našeho stroje. Je tedy výhodné mít tuto otázku vyřešenou ještě před začátkem instalace (dá se změnit i dodatečně, ale jsou to zbytečné komplikace). Zadává se nadvakrát: Jméno a doména. Takže pro tento počítač budeme potřebovat nějaké jméno v doméně nase-skola.cz. Třeba srv, tedy celé jméno stroje bude srv.nase-skola.cz. Na první otázkut tedy odpovíme "srv" a na druhou "nase-skola.cz".
4.2.4. Rozdělení pevného disku
[editovat | editovat zdroj]Samotný systém toho moc nezabere. Převážnou většinu prostoru sežerou data uživatelů.
Při rozdělování je rovněž třeba myslet na fakt, že budeme chtít hlídat obsazení prostoru na disku jednotlivými uživateli - tzv. systém kvót (quotas). Tohle neumí každý souborový systém. Nativní linuxový souborový systém ext3 ho třeba neovládá (jen jeho předchůdce ext2, ale tomu se raději vyhneme). Rovněž velmi oblíbený ReiserFS hlídání kvót nenabízí. Z běžně dostupných jsem vybral xfs. Použijeme ho na uživatelské adresáře v /home a na adresáře s e-maily /var/mail.
Souborové systémy volím takto:
xfs tam, kde je potřeba zapnout kvóty ext2 na boot - tedy adresář jehož obsah se nemění reiserfs všude jinde ext3 nepoužívám. Je proti reiserfs o něco pomalejší a proti němu trochu ztrácí při ukládání velkého množství malých souborů - což je typický unixový systém. Umí ale ACL - rozšířené možnosti nastavování práv a vlastnictví k souborům a adresářům. ostatní s jinými jsem zkušenost nenabíral.
Pro představu o potřebě prostoru: Dva týdny po nainstalování systému byly jednotlivé diskové oddíly obsazeny takto:
Filesystem Využito Připojen jako /dev/sda1 403548 / reiserfs /dev/sda2 5267 /boot ext2 /dev/sda3 302272 /home xfs (s quotas) /dev/sda5 4 /mnt/fat32 vfat - jako rezerva /dev/sda6 296 /tmp xfs (bez quotas) /dev/sda8 57328 /var/log reiserfs /dev/sda9 300 /var/mail xfs (s quotas)
Jak vidíme, kořenový systém spotřeboval necelý 0,5 GB, a to tu je i /usr! Boot je tradičně malý. Pokud budou uživatelé využívat databáze, jejichž úložiště bývá ve /var/lib, pak se tento adresář může taky dobře nafukovat a stojí za úvahu, zda / nezvětšit, nebo zda pro /var/lib nevytvořit další speciální diskový oddíl. Rovněž /var/cache,... Ale dost kouskování. Nejlépe bude nechat vše v /, a jen ho prostě udělat větší. Třeba 5GB.
Dále si všimneme samostatně vyčleněného adresáře na systémové logy /var/log. Během těch dvou týdnů ladění serveru se trochu nafoukly, ale pořád to je nějakých 57MB. Necháme-li na logy 1GB, opět to bude stačit s dost velkou rezervou.
Zvlášť vyčleníme i /tmp. Jeho rozsah nebývá značný, ale dost "dýchá", takže nějaká rezerva tu je také nutná. Opět dávám 1GB.
Zbytek disku věnujeme na uživatelská data: /home a /var/mail. Svou velikost hodně budou měnit, a to výhradně směrem nahoru. Naštěstí tu většina souborů bude mít svého vlastníka z řad normálních uživatelů, takže si pomůžeme hlídáním obsazeného prostoru pomocí diskových kvót. Proto tu je zvolen souborový systém xfs se zapnutými kvótami.
Velikost /home je závislá na počtu uživatelů. Pak je to už malá násobilka: Počet uživatelů krát maximální velikost prostoru, který jim chceme dát. Přičteme prostor pro privilegované uživatele (na škole to budou učitelé) a prostor pro obecná sdílení - například adresář, kde bude úložiště programů pro pracovní stanice. Dvakrát měř jednou řež!
/var/mail dimenzujeme podobně. Kolik asi je snesitelný objem e-mailů v jednom inboxu? Někteří lidé si fakt nedají říct a archivují stovky e-mailů včetně příloh, často dost značné velikosti. Tady je třeba lidem hodně vysvětlovat. Někteří to nepochopí nikdy...
Mám-li to tedy nějak shrnout, tak na /, /boot, /tmp a /var/log dáme 4x1GB a zbytek disku rozdělíme mezi /home a /var/mail. Kolik bude uživatelů nám napoví, zda 100GB disk bude moc, nebo málo.
Po prvním nastartování - úvodní konfigurace
[editovat | editovat zdroj]Úvodní dotazy v menu jsou dost jasné (jazyk, časové pásmo, lokální čas)
Nastavit uživatele a hesla
[editovat | editovat zdroj]Povolíme stínová hesla, zadáme heslo pro superuživatele root (zatím nějaké jednodušší, budeme ho teď často zadávat). Dále přidáme účet pro běžného uživatele (dávám mu jméno bfu :o). Tento účet budeme v budoucnu používat pro příjem systémové pošty a také to bude jediný uživatel s právem vzdáleného přihlašování do systému. Takže ho určitě vytvoříme už nyní.
Nastavit jméno počítače
[editovat | editovat zdroj]Ačkoli jsme ho zadávali už při instalaci, tady se nás to ptá znovu. Na rozdíl od instalace je tady potřeba zadat jméno celé! Tedy srv.nase-skola.cz.
Nastavit apt
[editovat | editovat zdroj]Na první dotaz "Přístup k archívům" vybereme CD-ROM (musíme ho mít zasunuté v mechanice, jinak bude hlásit chybu).
Pak jsme dotázáni, zda přidat nějaký další zdroj dat. Doporučuji přidat ftp zdroj ftp://ftp.cz.debian.org
Pak už na dotaz po dalších zdrojích odpovíme Ne.
Následuje otázka, zda do seznamu přidat i zdroj bezpečnostních oprav na http://security.debian.org/ . Zadáme samozřejmě Ano.
Vybrat a nainstalovat balíky
[editovat | editovat zdroj]Tohle teď přeskočte. V tuto chvíli máme nainstalovaný základní systém. Po prvním přihlášení (za chvíli) si provedeme doinstalaci základu serveru sami.
Nastavit poštovní server
[editovat | editovat zdroj]Dostaneme tyto otázky a dáme tyto odpovědi:
- Rozdělit konfigurační soubory? Ne.
- Model poštovního nastavení: Internet
- Poštovní jméno počítače: nase-skola.cz
- IP adresy, na kterých se mají očekávat příchozí smtp spojení: Můžeme nechat prázdné, pak to bude fungovat pro všechny. Nebo je vyjmenujeme (oddělíme dvojtečkou): 127.0.0.1:192.168.1.1:194.36.15.21 - lokální i internetové.
- Další místa určení, pro která akceptujeme poštu: Nechat prázdné - tedy pouze pro naši doménu (viz Poštovní jméno výše).
- Domény, pro které předávat poštu: nase-skola.cz
- Počítače, kterým předávat poštu (relay): 192.168.1.0/24:192.168.2.0/24
Následuje dotaz na příjemce (systémové) pošty pro uživatele root a postmaster. Zadáme tam toho bfu, kterého jsme před chvílí nechali vytvořit.
Samozřejmě si odpovědi upravte podle vašich konkrétních podmínek.
program base-config
[editovat | editovat zdroj]Právě jsme prošli menu pro základní nastavení systému. Budeme-li se chtít k tomuto menu někdy vrátit, použijeme příkaz:
# base-config
Ukončit nastavení základního systému
[editovat | editovat zdroj]Takže teď menu opustíme a poprvé se přihlásíme do nově nainstalovaného systému jako root.
Nastavení systému po instalaci
[editovat | editovat zdroj]Česká konzole
[editovat | editovat zdroj]Nastavuje se zvlášť klávesnice a obrazovkové fonty
Klávesnice
[editovat | editovat zdroj]Definice je uložena v souboru:
/etc/console/boottime.kmpap.gz
Soubory s definicemi jsou v adresáři:
/usr/share/keymaps/i386/qwerty
Odsud vezmeme `cz-lat2.kmap.gz`
a zkopírujeme na správné místo (nejdříve si ale pro jistotu zazálohujeme původní nastavení) a spustíme nastavovací skript:
# cd /etc/console # cp boottime.kmap.gz boottime.kmap.gz.orig # cp /usr/share/keymaps/i386/qwerty/cz-lat2.kmap.gz boottime.kmap.gz # /etc/init.d/keymap.sh reload
Obrazovka
[editovat | editovat zdroj]Definice je uložena v souboru:
/etc/console-tools/config
Ten si na konci uděláme takto:
LEDS=+num APP_CHARSET_MAP=iso02 APP_CHARSET_MAP_vc1=iso02 APP_CHARSET_MAP_vc2=iso02 APP_CHARSET_MAP_vc3=iso02 APP_CHARSET_MAP_vc4=iso02 APP_CHARSET_MAP_vc5=iso02 APP_CHARSET_MAP_vc6=iso02 SCREEN_FONT=lat2u-16
Což nám kromě správného kódování češtiny zajistí i zapnutí NumLocku při startu počítače. No a ještě si to rovnou zapneme:
/etc/init.d/console-screen.sh
Instalace základu serveru
[editovat | editovat zdroj]Máte-li CD Grumpa.net Server, dejte ho do mechaniky a proveďte následující příkazy:
# mount /cdrom # cd /cdrom/Grumpa.net/ # apt-get install $(cat grumpa.net-sarge-zaklad)
A je to. Spustí se instalace balíčků podle seznamu v souboru na CD. Během instalace budeme bobmardováni otázkami, jejichž řešení najdeme v následujícím textu.
Nemáte-li toto CD, je třeba si seznam balíčků stáhnout předem z http://grumpa.net/. Můžete si je zkusit stáhnout i teď:
# wget http://grumpa.net/works/soubory/server/grumpa.net-sarge-zaklad
Seznam balíčků se stáhne do aktuálního adresáře. Teď už stačí zadat jen výše uvedený apt-get.
Po spuštění apt-get udělá pár testů a pak začne tvrdé dotazování:
FireWall IPMasq
[editovat | editovat zdroj]Se nás ptá anglicky:
Should PPP connections recompute the firewall? Odpovíme Ne, protože ppp spojení nebudeme vůbec používat (nebo máte server za vytáčenou linkou?).
Dál je tu upozornění, že kdybychom přeci jen chtěli, jak si můžeme ppp v budoucnu nastavit. Dáme OK.
When should IP Masq be started? Vybereme výchozí možnost: After network interfaces are brought up.
Should I start IPMasq? Ano, necháme FireWall/maškarádu hned nastartovat. Můžete si z nějakého počítače na vnitřní síti zkusit načíst internetové stránky. Mělo by to už teď běžet. :o)
ClamAV
[editovat | editovat zdroj]- Má aktualizátor virové databáze běžet jako: démon, if-up/down, cron, manual? Z vysvětlivek je jasné, že budeme chtít první volbu - démon pro průběžnou aktualizaci.
- Vybrat nejbližší zrcadlo pro stahování. Je tam i Česko, takže si ho vybereme.
- Adresu případného proxy serveru. Ten v našem řešení nepoužíváme, necháme tedy prázdné.
- Má být po aktualizaci databáze démon clamd upozorňován, aby si ji okamžitě přečetl? Ne. Antivir nepoběží v režimu démona, ale bude spouštěn ad hoc MailScannerem, tudíž není koho upozorňovat.
Gpm - myš v konzoli
[editovat | editovat zdroj]Někdo to možná zavrhuje, ale já mám myš rád. Program gpm umožní dělat operace copy/paste i v konzoli pomocí myši, včetně přenášení schránky mezi virtuálními konzolami.
Dotazy:
- Spustit i když běží X: Ano (X stejně nepoběží;-)
- Pamatovat si nastavení? Ne - při překonfiguraci chceme, aby se nás ptal znova.
- Které zařízení myši používat: (nabídnuté by mělo vyhovovat). /dev/psaux u PS/2 myší.
- Typ myši:
Nejběžnější typy:
imps2 - ps2 myš s kolečkem ps2 - ps2 myš bez kolečka (obvykle dvoutlačítková) ms - myš se sériovým připojením bare - dtto ms, ale nesimuluje prostřední tlačítko
Nabízená možnost autops2 mi trochu blbnula. Ale třeba zrovna vám půjde dobře. Každopádně můžeme chybná nastavení v budoucnu změnit.
Někdy se myš "zblázní" (až se to stane, poznáte to:o). Uklidníte ji restartem gpm:
/etc/init.d/gpm restart
Blbne-li často, je to možná tím, že jste zadali špatně typ myši. Použitelné typy zjistíte příkazem:
# gpm -t help
Pak stopněte gpm démona a spusťte rekonfiguraci:
# /etc/init.d/gpm stop # dpkg-reconfigure gpm
a zadejte správné údaje.
Jak gpm s myší funguje
[editovat | editovat zdroj]Pracuje to tak, že se stisklým levým tlačítkem přejedte přes text, který chcete kopírovat (tím je text obarven a také rovnou vložen do schránky - žádné machrování z klávesnice typu ctrl/c).
Text ze schránky se vložíte stiskem prostředního tlačítka u třítlačítkové myši (tj. i kolečkem), nebo pravým tlačítkem u dvoutlačítkové myši. Text se vloží do místa, kde bliká klávesnicový kurzor. Nikoli tedy do místa kam kliknete! Je tedy úplně jedno kde kliknete - záleží pouze a jedině na poloze klávesnicového kurzoru (ale to už jsem říkal:o).
FTP server ProFTPd
[editovat | editovat zdroj]Zde je jediný dotaz - zda ho spouštět jako démona či přes inetd. Dávám inetd, protože ftp provoz bude téměř stále na nule, takže proč nechávát v paměti strašit nějakého démona, že?
Nastavení Quota
[editovat | editovat zdroj]Dotazy:
- Posílat uživatelům upozornění na překročení kvót? Ano
- E-mailová adresa správce: [root@nase-skola.cz]
- Telefonní číslo správce:
Tyto dva kontakty budou uvedeny v e-mailu, který systém automaticky posílá uživatelům, kteří překročili soft-limit pro ukládání svých dat.
Nastavení Samba serveru
[editovat | editovat zdroj]Tím se budeme podrobně zabývat později. Teď ale musíme odpovědět na pár otázek:
- Skupinové/Doménové jméno: si vymyslete
- Použít šifrování hesel? Ano
- Upravit smb.conf, aby používal WINS z DHCP? Ne
- Jak spouštět Sambu: Jako démony
- Vytvořit databázi hesel? Ano Vytvoří soubor
/var/lib/samba/passdb.tdb
Ispell dictionary
[editovat | editovat zdroj]Nebudeme asi potřebovat, ale v základní instalaci je. Takže jednoduše všude odpovíme "american". :o)
Slovník pro češtinu na Debian Sarge není. Dá se doinstalovat. To může mít smysl, budeme-li používat webmail squirrelmail, který kontrolu pravopisu nabízí. Ale jelikož maily často píšeme bez hacku a carek, je nám tato kontrola stejně většinou k ničemu.
Hotovo
[editovat | editovat zdroj]Tím festival dotazů končí. Následující konfigurace si budeme už spouštět sami, takže to bude víc v klidu.
Nastavení textového editoru
[editovat | editovat zdroj]V Linuxu je zvykem, že veškeré konfigurace se ukládají do textových souborů v adresáři `/etc`
. Změna nastavení se provádí editací těchto souborů. Na to budete potřebovat nějaký textový editor. Doporučuji se časem seznámit aspoň povrchně s klasickým unixovým editorem `vi`
. I když ho asi nebudete používat (má dost neobvyklé ovládání), styl jeho příkazů používá i řada dalších programů (třeba znak / pro spuštění vyhledávání).
Debian ve standardní instalaci nabízí ještě jednoduchý textový editor `nano`
. Já osobně dávám přednost editoru `joe`
. V příloze s konfiguračními soubory najdete i mnou upravený `/etc/joe/joerc`
, který oproti výchozímu nastavení neláme řádky a nedělá automatické záložní kopie~. Snad do začátku pomůže, že nápověda se vyvolá
ctrl/kh.:o)
Vybrat si samozřejmě můžete cokoliv jiného. Nabídka je široká.
Midnight commander - souborový manažer
[editovat | editovat zdroj]Doporučuji si zapnout v nastaveních/konfiguraci "Lynx-like pohyb", který umožňuje otevírat adresáře pomocí šipky vpravo a opouštět je šipkou vlevo. Na tohle si rychle zvykne každý.:o) (Nezapomeňte si nastavení uložit: F9/Nastavení/uložit Nastavení).
Další nenápadnou pomůckou je klávesová zkratka M-o (levý Alt-o), která v druhém okně nastaví stejný adresář, jako je v aktivním okně.
Midnight commander nabízí i dost intuitivní textový editor (copy/paste pomocí myši funguje se současně stitnutou klávesou shift).
Rovněž oceníme schopnost práce se vzdálenými stroji, ať už přes ftp, ssh, nebo Sambu.
Jinak si přečtěte vestavěnou nápovědu. Je opravdu co číst.:o)
ruční přidávání / odebírání balíčků
[editovat | editovat zdroj]Debian používá pro správu balíčků celkem namakaný systém.
apt - zdroje balíčků
[editovat | editovat zdroj]Většina debianích programů, které manipulují softwarovými balíčky využívá databázi zdrojů apt. Tu najdeme v souboru:
/etc/apt/sources.list
Tyto zdroje, jak je zřejmé, popisují odkud mají instalační programy balíčky brát.
Během instalace jsme měli možnost vybrat jeden hlavní zdroj, zpravidla CD. Do sources.list Můžeme přidat i další (ručně):
deb cdrom:[Debian GNU/Linux 3.1 r0 _Sarge_ - Official - i386 Binary-1 (20050605)]/ unstable contrib main deb http://security.debian.org/ stable/updates main contrib deb http://ftp.cz.debian.org/debian/ stable main deb-src http://ftp.cz.debian.org/debian/ stable main
Pozn: První řádek byl rozdělen, aby se to sem vešlo. V souboru ho zase spojte.
Ještě jedno místo stojí z pozornost:
/var/cache/apt
Sem si aptoidní programy ukládají balíčky stažené z Internetových zdrojů, které jste chtěli instalovat. Viz dále apt-get.
aptitude
[editovat | editovat zdroj]Je velmi pohodlný program pro správu softwarových balíčků pro konzolové prostředí.
Program `aptitude`
nabízí vyhledávání v seznamech balíčků. Dělá se to stiskem "/" - lomítko (stejně jako ve všech vi-like programech). Objeví se řádek, do kterého můžeme napsat jméno, nebo část jména, nebo regulární výraz. Nabízí se i pár dašlích vypečeností - viz dokumentace.
Když píštete do okénka, hned se hledá. Standardně se prohledávají názvy balíčků. To co píšete se vyskytuje někde uvnitř názvu. Takže "apach" může zobrazit balíčky "Apache", ale i "libapache",... Trváte-li na tom že název musí začínat tím, co píšete, napište jako prvni znak stříšku "^apach". Pak se najde "Apache", ale "libapache" ne.
Můžete vyhledávat nejen v názvech, ale i v popisech balíčků. Pak do vyhledávacího okénka napište nejdříve "~d". Zápis "~dapach" tedy bude nabízet balíčky, v jejichž názvu i popisu se vyskytuje "apach".
Když pracujeme v grafickém režimu (což se nám na našem serveru nepoštěstí), můžeme použít program `synaptic`
- grafická obdoba `aptitude`
. Nahlédneme-li do dokumentace obou programů, zjistíme, že ten grafický je jen slabým odvarem toho konzolového. Jako obvykle.
apt-get
[editovat | editovat zdroj]Další možností je použít klascký příkaz `apt-get`
. Zvláště v hotovém systému je príma udržovat vše aktuální pomocí této trojice příkazů:
# apt-get update # apt-get upgrade # apt-get autoclean
První si zaktualizuje databázi balíčků, druhý provede aktualizaci software (nainstaluje nové verze balíčků). Protože používáme verzi Debianu "stable", nemusíme se bát, že se toho bude stahovat moc. Půjde vlastně jen o bezpečnostní aktualizaci. Třetí příkaz odstraní z cache zastaralé balíčky.
dpkg
[editovat | editovat zdroj]Dál tu máme příkaz dpkg
, který pracuje na nižší úrovni než apt-get. Umožňuje například nainstalovat balíček, který jsme si stáhli odjinud, než z debianích zdrojů:
# dpkg -i jmeno-souboru-s-balickem.deb
dále nabízí možnost vypsat si seznam nainstalovaných balíčků:
# dpkg -l
vypsat seznam souborů konkrétního nainstalovaného balíčku:
# dpkg -L aptitude
vypíše obsah balíčku aptitude - všimněme si, že se zadává jen první část jména balíčku.
Znovuspuštění konfigurace balíčku
[editovat | editovat zdroj]Při instalaci si všimnete, že některé balíčky se vyptávají na výchozí nastavení, jak si ho přejeme. Potřebujeme-li tuto základní konfiguraci zopakovat, použijeme příkaz:
# dpkg-reconfigure jmeno-balicku
Framebuffer pro konzoli
[editovat | editovat zdroj]Lépe se nám v konzoli bude pracovat, využijeme-li možnosti zvětšit si rozlišení monitoru. To se zajistí parametrem pro jádro vga=nnn. Výchozí nastavení je vga=normal, to zajišťuje rozlišení 25 řádků a 80 znaků v řádku. Změna nastavení se projeví po restartu počítače.
<:>vga | <:>body | <)>sl.xřád. |
<:>normal | <:>- | <)>80x25 |
<:>791 | <:>1024x768x64k | <)>128x48 |
<:>790 | <:>1024x768x32k | <)>128x48 |
<:>773 | <:>1024x768x256 | <)>128x48 |
<:>778 | <:>800x600x64k | <)>100x36 |
<:>787 | <:>800x600x32k | <)>100x36 |
<:>771 | <:>800x600x256 | <)>100x36 |
<:>785 | <:>640x480x64k | <)>80x30 |
<:>784 | <:>640x480x32k | <)>80x30 |
<:>769 | <:>640x480x256 | <)>80x30 |
grub
[editovat | editovat zdroj]Otevřeme /boot/grub/menu.lst, najdeme řádek "kernel" a přidáme (třeba na konec) onen kouzelný parametr. Takže ten řádek pak může vypadat třeba takto:
kernel /boot/vmlinuz-2.6.8-2-686 root=/dev/hda3 ro vga=791
lilo
[editovat | editovat zdroj]V obecné sekci souboru /etc/lilo.conf (první část) najdeme a upravíme řádek:
vga=791
LogWatch - výpisy logů
[editovat | editovat zdroj]Systém, jakož i řada programů vypisuje zprávy o své činnosti do systémových logů, které najdeme v
/var/log
Studovat bychom je měli nejlépe denně. Zprávy v těchto souborech jsou řazeny chronologicky, takže je těžké se v nich oreintovat. Proto vznikly programy na analýzu logů. Jedním z nich je logwatch. Ve výchozím nastavení ho spustí jednou za den cron a vygeneruje e-mail pro uživatele root (mail ve skutečnosti dostane uživatel, kterého jste při instalaci určili jako příjemce e-mailů roota). V tomto e-mailu je vše uspořádáno přehledně podle služeb, které do logů prováděly zápisy.
Příjemné počteníčko! :o)
Hlavní serverové služby
[editovat | editovat zdroj]Quotas - hlídání obsazeného prostoru
[editovat | editovat zdroj]Systém quotas umožňuje nastavit pro jednotlivé uživatele, kolik mohou maximálně obsadit diskového prostoru. Je možno nastavit limit pro objem dat a pro počet souborů. My vystačíme s hlídáním objemu.
Jsou tu tři důležité parametry:
- soft limit
- říká, kolik místa může uživatel obsadit. Tento prostor je možno dočasně překročit až po
- hard limit
- Ten je o něco větší než soft limit a je maximální, nepřekročitelnou mezí.
- grace time
- nastavuje čas, po který je překročení soft limitu tolerováno. Výchozí nastavení je jeden týden.
Kromě průběžného hlídání, systém quotas pravidelně spouští test na překročení soft limitu a sám automaticky pošle varovný e-mail uživatelům, kteří jsou přes.
Předpoklady
[editovat | editovat zdroj]Hlídání uživatelských kvót má svoji podporu v linuxovém jádru. Ale aby to mohlo fungovat, budete muset ještě splnit podmínku, že hlídané prostory jsou namountovány na souborovém systému, který kvóty ovládá. O tom jsem psal už v kapitole instalace serveru - rozdělení disku. Vybrali jsme souborový systém `xfs`
.
Kvótování je třeba nastavit v `/etc/fstab`
tak, že přidáme parametr `usrquota`
.
Příslušné řádek v tomto souboru pak budou vypadat nějak takto:
/dev/sda3 /home xfs defaults,usrquota 0 2
Po úpravě fstab je nutné příslušný filesystém odmountovat a znovu namountovat.
Dále je potřeba nainstalovat balíček `quotatool`
, který obsahuje příkazy pro nastavování a kontrolu kvót.
Vlastní hlídání kvót se zapíná standardním způsobem:
# /etc/init.d/qouta start
Při startu systému se to samozřejmě zapne samo.
Nastavení kvót
[editovat | editovat zdroj]Pokud budete přidávat uživatele pomocí dodávaného programu `ug-start.sh`
, pak se kvóty budou nastavovat automaticky podle hodnot uvedených v konfiguračním souboru tohoto programu - viz. kapitola věnující se tomuto programu.
Přidáváte-li uživatele ručně, nebo chcete-li limity změnit, použijte příkaz:
setquota franta 50000 60000 0 0 /home
Tedy říkáme, že uživatel franta bude mít v rámci /home
soft limit nastaven na 50MB a hard limit na 60MB. Ty další dvě nuly říkají že počet souborů nebude omezován.
V našem řešení ještě nastavujeme limity na /var/mail
setquota franta 10000 12000 0 0 /var/mail
Pokud jde o grace-time, ten nemusíme nastavovat; použije se výchozí hodnota, což je jeden týden. Pokud chceme, tak se to dělá:
# setquota -t 604800 0 /home
pro všechny uživatele najednou, nebo
# setquota -T franta 604800 0 /home
pro jednoho konkrétního uživatele. Opět hlídáme limity pro objem (první číslo) a pro počet souborů. Hodnota se zadává ve vteřinách, nula znamená "neomezeně".
Pokud přidáváme další uživatele, můžeme si ušetřit práci pomocí příkazu
edquota -p franta milos anicka bejby kozlik
To říká, aby se uživatelům milos,... nastavily kvóty podle uživatele franta.
Informace o obsazení prostoru si může root zjišťovat příkazem `repquota`
. Zadá-li se parametr `-v`
, dozví se toho ještě víc.
A samozřejmě dokumentace a manuálové stránky.
Jen ještě jednu informaci. Chcete-li někoho neomezit, nastavíte mu kvóty na 0. Nula znamená "neomezeně".
Správa uživatelů a skupin
[editovat | editovat zdroj]Děláme to pro lidi, že? Tohle byl dost kritický moment, protože školy potřebují správu skupin a uživatelů provádět ve vlastní režii, ale nemají administrátory, kteří by ovládali Linuxové systémy. Vyřešil jsem to napsáním skupiny skriptů, které nabízejí systém menu v prostředí konzole (program Dialog), takže není nutné dělat to úplně ručně.
Pro začátek si ale zkusme představit, že by se to ručně dělat muselo, aby bylo jasné, co ty skripty dělají.
pojmenovávání skupin
[editovat | editovat zdroj]Uspořádávat uživatele do skupin možná není tak úplně nutné. Vystačili bychom možná s jedinou skupinou `users`
. Debian má ve zvyku vytvořit každému uživateli stejnojmennou skupinu a zařadit ho do ní (uživatel franta, skupina franta). Nicméně škola je členěna do ročníků a tříd a my to zohledníme, protože nám to usnadní práci s těm, kdo hromadně školu opustí po deváté třídě.
Navrhuji systém skupin, kde co třída do skupina. Skupiny mají jméno podle roku, kdy do školy přišly, doplněné písmenem třídy. Takže takhle:
název skupiny: z1998b z jako žáci 1998 - rok nástupu (tedy 7. ročník v roce 2005) b - 7.B
Další skupiny si můžeme samozřejmě vymyslet pro učitele a pro personál. Budeme-li potřebovat pracovat s celou skupinou naráz, jednoznačné pojmenování nám hodně pomůže.
pojmenovávání uživatelů
[editovat | editovat zdroj]Jméno uživatele je současně jménem domovského adresáře, který bude vidět jak z Linuxu, tak MS Windows. Také je jménem poštovní schránky. Z toho vyplývá, že by mělo být bez diakritických znamének.
Další důležitá věc je, že jméno uživatele musí být uvnitř celého systému jednoznačné - a to i napříč skupinami. Nemohou být dva uživatelé téhož jména. Na to je potřeba dát pozor zvláště při hromadném vkládání uživatelů. Duplicitní uživatel přidán nebude, protože to prostě není možné.
domovské adresáře
[editovat | editovat zdroj]Pro přehlednost doporučuji seskupovat uživatelské adresáře do adresářů s názvy skupin takto:
```/home/z1998b/fr.horak/
ruční přidávání
[editovat | editovat zdroj]Naštěstí nebude potřeba, protože máme zmíněný `ug-start.sh`
, ale pro představu: Uživatele je potřeba přidat do systému a přidělit mu heslo pro přihlašování. Je třeba vytvořit skupinu, pokud ještě neexistuje. Je potřeba přidat uživatele do `samby`
a také mu musíme nastavit diskové kvóty.
Ruční práce by sestávala z tohoto postupu:
groupadd -g 10000 z1998b mkdir /home/z1998b chown nobody.z1998b /home/z1998b chmod 775 /home/z1998b useradd -u 10001 -g z1998b -G (další skupiny) -d /home/z1998b/fr.horak -s /bin/sh -m -k /etc/skel -p fr.horak (zadat heslo) smbpasswd -a fr.horak (zadat heslo pro sambu) setquota fr.horak 40000 50000 0 0 /home setquota fr.horak 10000 12000 0 0 /var/mail
Takže asi proto máme na těžkou práci stroje.
program ug-start.sh
[editovat | editovat zdroj]Nabízí správu skupin a uživatelů pomocí menu. Umožňuje vytvářet, mazat, přejmenovávat a vypisovat skupiny. Dále vytvořit uživatelský
účet, přičemž skupinu vybíráme z menu (nemusíme si ji pamatovat). Uživatele přidá do obou systémů (výchozí i samba), automaticky
nastaví výchozí heslo na 123456
a nastaví kvóty.
Veškeré parametry pro tento program jsou uloženy v souboru s názvem `promenne`
, který najdeme v adresáři tohoto skriptu. Najdeme tu mimo jiné:
PRAVA_ADR_SKUP=775 # Vychozi prava k adresari skupiny PRAVA_ADR_HOME=0711 # Vychozi prava k domovskemu adresari GRP_NO_BEGIN=10000 # Pocatecni hodnota pro cisla skupin /etc/group GRP_NO_END=15000 # Maximalni hodnota pro cisla skupin /etc/group USR_NO_BEGIN=10000 # Pocatecni hodnota pro cisla uzivatelu /etc/passwd USR_NO_END=25000 # Maximalni hodnota pro cisla uzivatelu /etc/passwd QUOTAH_UZIV_HOME=40000 # Limit hard v KB pro domovsky adresar uzivatele QUOTAS_UZIV_HOME=30000 # Limit soft v KB pro domovsky adresar uzivatele QUOTAH_UZIV_MAIL=15000 # Limit hard v KB pro soubor mailu v /var/mail/ QUOTAS_UZIV_MAIL=15000 # Limit soft v KB pro soubor mailu v /var/mail/
Takže výchozí práva pro adresáře skupiny a uživatele, rozsah čísel skupiny a uživatele a výchozí velikosti pro systém kvót. Je tam ještě pár dalších věcí, ale do těch zasahovat nebudeme.
Uvedené parametry můžete upravit podle vašich potřeb - třeba můžete přidělit větší prostor pomocí kvót.
Nastavení, která nebudou jednotlivým uživatelům vyhovovat, můžeme změnit dodatečně ručně. Mám na mysli hlavně kvóty, které mohou ve většině případů vyhovovat (pro žáky), ale nemusí se líbit některým učitelům. O kvótách se tu ale píše jinde, takže to tu už nebudu dál rozmazávat.
Program `ug-start.sh`
je dodáván ve formě tar balíčku, který si vybalíme, nejlépe do podadresáře v adresáři `/root/`
.
DNS a DHCP
[editovat | editovat zdroj]Obě tyto služby vyřešíme jedním balíčkem s názvem `dnsmasq`
. Funguje jako DNS cache i jako DHCP server. A hlavně je dost jednoduchý.
DNS
[editovat | editovat zdroj]DNS (Domain Naming System) je služba, která převádí doménové názvy na Internetu na jejich IP adresy. Doménová jména používají lidé, IP adresy používají počítače mezi sebou. Zhruba řečeno.
DNSmasq není plnohodnotný DNS server, ale jen cache. Kešuje DNS dotazy, které z vnitřní sítě vysílají prohlížeče Internetu. První dotaz na nějakou doménu program ještě neumí odpovědět, takže se zeptá nadřízeného DNS serveru. Následující dotaz na stejnou doménu je už vyřízen z keše, tedy podstatně rychleji.
DHCP
[editovat | editovat zdroj]DHCP server slouží k poskytování informací o síti počítačům, které nemají pevnou konfiguraci sítě. Takový počítač může vyslat do sítě dotaz na DHCP server a ten mu potřebné údaje pošle. Mezi tyto informace patří především: IP adresa pro dotazující se stroj a příslušná maska sítě. Dále je to adresa DNS serveru, název domény v níž se stroj nalézá, případně další informace.
My budeme používat kombinované řešení: Stálé počítače budou mít pevně nastavenou síť. DHCP server pak bude přidělovat IP a další věci počítačům přenosným. Samozřejmě je možné nechat všechny počítače v síti konfigurovat pomocí DHCP. Je to snazší pro začátek. Pro diagnostiku problémů v síti je to ale už o něco horší. Takže si vyberme.
Doporučuji nechat DHCP serveru přidělovat IP adresy z rozsahu řekněme 30-99. Adresy 100-250 nechat pro pevně nastavené stroje. Adresy 1-29 a 251-255 pak rezervujeme pro servery ap. Pro pracovní stanice s používat nebudou. Uvedená čísla jsou míněna jako poslední číslo v IP adrese ze sítě 192.168.x.y. Je to tedy to y. X je číslo sítě - obvykle 1, pokud nemáme podsítí více.
Nastavení
[editovat | editovat zdroj]Nastavení je prováděno pomocí konfiguračního souboru `/etc/dnsmasqconf`
. Tento soubor je opatřen kvalitními komentáři. Nastavíme tu tyto položky:
domain-needed bogus-priv except-interface=eth0 expand-hosts domain=nase-skola.cz dhcp-range=192.168.1.30,192.168.1.100,36h dhcp-range=192.168.2.30,192.168.2.100,36h
První dva parametry zajišťují, že dnsmqsq nebude předávat nadřízeným DNS serverům dotazy ne neúplné názvy domén.
Další parametr říká, že požadavky budou vyřizovány na všech síťových rozhraních, vyjma `eth0`
, což je rozhraní, které vede za sítě ven. Zbytku Internetu DNS a DHCP serverem být opravdu nechceme.;-) Následující parametr říká, aby k názvům bez domény bylo automaticky přidáváno jméno naší domény - viz další parametr.
Další dva řádky přidělují rozsah IP adres pro dvě podsítě. Pokud jde o nadřízené DNS servery, ty si DNSmasq zjišťuje ze standardního
souboru `/etc/resolv.conf`
.
resolv.conf
[editovat | editovat zdroj]Ten by měl vypadat nějak takto:
domain nase-skola.cz nameserver 127.0.0.1 nameserver 194.228.105.33 nameserver 194.228.105.34
Říká, aby požadavky na vyřízení DNS dotazů byly nejdřív vyřizovány tímto strojem (adresa 127.0.0.1), pak budou žádány nadřízené DNS servery. Jejich adresy nám sdělí poskytovatel připojení.
NAT a Firewall
[editovat | editovat zdroj]Opět jsem použil jednoduché řešení, balíček `ipmasq`
, který je postaven na `iptables`
- standardním firewallu pro Linux. Program `ipmasq`
nabízí především NAT - překlad adres, tzv. "maškarádu", což umožňuje počítačům
na LAN vidět do Internetu, avšak počítačům z Internetu je vnitřní síť neviditelná.
Po naistalování je `ipmasq`
okamžitě funkční. Sám si totiž dovede podle nastavení sítě odvodit, jak má pracovat. Do jeho nastavení tudíž není nutno zasahovat. Dokonce i v případě, že je na serveru víc síťových rozhraní než dvě. Dokonce se správně nakonfiguroval i na stroji, kde všechny tři síťové karty vedly do privátních adresních prostorů!
Bez další konfigurace máme tedy okamžitě funkční NAT.
Pokud potřebujeme firewall, i tady nabízí `ipmasq`
řešení. Musíme se ale
podívat do dvou důležitých adresářů:
/etc/ipmasq/rules
kde jsou nastavena pravidla. Jsou to vlastně skripty, spouštějící `iptables`
.
/usr/share/doc/ipmasq/examples/stronger
V `examples`
jsou - jak název říká - ukázky dalším možných pravidel. My si zkopírujeme soubory I80*,A80* a O80* do toho prvního adresáře. Pak si otevřeme ten jehož název začíná A80 a všimneme si řádky:
EXTERNAL_TCP_ALLOW="ftp ssh www pop3 smtp imap https imaps pop3s"
V ní přidáme/ubereme služby, které chceme mít viditelné z venčí, z Internetu. Možná si tu všimneme věty, abychom názvy protokolů nenahrazovali jejich čísly, protože to může vést k problémům. Takže tu bude http, a ne 80, atd.
Změny otestujeme po restartu ipmasq
/etc/init.d/ipmasq restart
odněkud zvenčí. Programů je na to dost. Nejjednodušší pro Linux bude asi nmap
:
# nmap nase-skola.cz
6.5. Samba fileserver
[editovat | editovat zdroj]Samba je program, který umožňuje linuxovému stroji vystupovat v sítích Microsoft a tvářit se, že na něm jedou MS Windows. Umí tedy vytvářet sdílené složky, ale umí toho postatně víc.
Poznámka: Samba patří k tomu složitěšímu, co nás potkává. Nejsem samba-guru, proto vděčně přijmu jakékoliv připomínky či vysvětlení. Díky. Přidám je sem.:o)
My využijeme Sambu jako doménový řadič. To nám umožní mít centralizovanou správu uživatelských účtů na linuxovém serveru. To znamená, že uživatelé, kteří se budou přihlašovat na stanicích s MS Windows, budou ověřováni na linuxovém serveru. Na tomto serveru rovněž budou mít úložný prostor pro svoje data.
Dále budou na serveru vytvořena obecně přístupná sdílení:
programy kde budou programy pro MS Windows stanice, které budou součástí výuky ve škole test kam budou mít žáci právo k zápisu a budou tam ukládat výsledky svých prací. Učitel si je odsud pak může kopírovat kamkoliv jinam.
Samba je poměrně rozsáhlý systém, o kterém vyšla i kniha. Doporučuji ji mít.
6.5.1. Konfigurace serveru
[editovat | editovat zdroj]Konfigurace se nastavuje v několika souborech. Tím hlavním je:
/etc/samba/smb.conf
Jeho obsah si teď po částech vypíšeme a rozebereme:
[global] netbios name = dataserver workgroup = obecna server string = Debian Linux - Samba fileserver
Takže jsme řekli, kdo jsme. Workgroup funguje i jako jméno domény.
wins support = yes dns proxy = no name resolve order = wins host bcast
Povolili jsme převod jmen na IP adresy pomocí wins databáze. Pokud vyhledávání ve wins neuspěje, použije se soubor /etc/hosts, jako poslední možnost je broadcast, což je nejjistější, ale taky nejpomalejší metoda.
interfaces = 192.168.1.1/24, 192.168.2.1/24, 127.0.0.1/8, localhost hosts allow = 192.168.1., 192.168.2., localhost
Samba bude naslouchat na síťových rozhraních interfaces. Přihlašovat se mohou stroje (hosts allow) s uvedenými IP adresami či jmény. Můžeme tu zadat i celou síť, jako je to v uvedeném případě, což nám umožní nezadávat všechny počítače po jednom. Kdyby bylo potřeba nějaký počítač ze sítě vyloučit, máme v záloze direktivu hosts deny.:o)
log level = 1 max log size = 1000 log file = /var/log/samba/log.%m syslog = 0 panic action = /usr/share/samba/panic-action %d
Samba bude o své činnosti podávat svědectví do logových souborů. Podrobnost je nastavena na 1 (dvojka je fakt moc ukecaná a hodí se třeba, když hledáte chybu. Trojka je maximum). Maximální velikost logu je 1MB (Po překročení této velkosti je log přejmenován na jmeno.old a otevřen znovu prázdný). Ten .old samozřejmě přepíše minulý .old. Další parametr říká, kde budou logy umístěny, a že se jim bude dávat jméno "log-tečka-jméno_počítače". Dále říkáme, že do sysolgu se nic psát nebude. Panic action moc nerozumím. No, hlavně že máme řešení (kromě Stopařova průvodce po Galaxii do D.Adamse:o)
security = user encrypt passwords = yes # passdb backend = tdbsam guest passdb backend = smbpasswd guest account = nobody # invalid users = root unix password sync = yes passwd program = /usr/bin/passwd %u # passwd chat = ... # passwd chat debug = yes obey pam restrictions = yes pam password change = yes
Zabezpečení je na úrovni user, což je jediná možnost vhodná pro naše účely. Hesla budou z MS Window strojů chodit zašifrovaná. Dál říkáme, kam se budou informace o uživatelých ukládat (backend), zda do tdb databáze, nebo do smbpasswd,... (viz níže v kapitole o uživatelských účtech v Sabmě) - tady je vybrán smbpasswd. Pro win uživatele guest bude použit linuxový účet nobody. Uživatele root si nezablokujeme, protože by mj. uživatelé nemohli měnit svoje hesla...(z tohodle jsem fakt kvetl). Budeme synchronizovat hesla v Sambě i v Linuxu - tj. když si uživatel ze stroje s MS Windows bude měnit heslo, změní se v obou databázích uživatelů. Passwd program je snad jasný, jen podoktněme, že při nasatavení přes PAM (o kousek níže) by neměl být tento paramter potřeba - ale ani nepřekáží... Passwd chat jsem nakonec zakomentářoval, protože ten parametr prostě nechybí! :o) Poslední dva parametry zajišťují spolupráci Samby a systému ověřování pam.
socket options = TCP_NODELAY
Tohle se tam prostě dává...
domain master = yes preferred master = yes os level = 100 domain logons = yes
Tato nastavení zajistí, že náš server bude tím nejdůležitějším v celé windows síti.
# logon script = logon.bat # logon home = \\%N\%U\.winprofile logon home = \\%N\%U logon path = \\%N\%U\.winprofile logon drive = H: time server = yes unix charset = iso8859-2
Jaký skript se spustí na win mašině, když se uživatel přihlásí. Domovský adresář uživatele (ten první home by se použil pro stroje s Win98, ta druhá varianta pro WinXP Pro). Logon path je místem pro ukládání cestovních profilů. Tu tečku před jménem (.winprofile) dáme proto, aby se složka chovala jako skrytá. Domovský adresář se zjeví na Win mašině jako síťový disk H:. Win počítače mohou používat server pro střizování svých hodinek. Charset nám zajistí, že jména souborů budou vypadat stejně v Linuxu i MS Windows a to i přesto, že každý používají jinou znakovou sadu (Linux iso8859-2, MS Windows ibm-852).
add machine script = /usr/sbin/useradd -s /bin/false -d /tmp '%u'
No, tohle jsem zatím nevyužil. Ale možná, že to funguje. Viz kapitola o přidávání počítačů do domény.
[netlogon] comment = Sitova prihlasovaci sluzba path = /home/admin/netlogon guest ok = yes read only = yes share modes = no browseable = no
Tahle část se týká adresáře s pomůckami pro přihlašování. Mj. se sem dávají přihlašovací skripty (viz výše logon script).
[homes] browseable = no read only = no create mask = 644 directory mask = 700
Domovské adresáře uživatelů. Po přihlášení uvídí uživatel svůj domovský adresář buď jako sdílení s adresou \\server\\uziv-jmeno, nebo jako disk H: (viz výše). Uživatelské adresáře ostatních uživatelů neuvidí (browsable). Může do něj i zapisovat. A jaká unixová práva budou nastavena když si uživatel vytvoří nový soubor nebo adresář ve své domovské složce. Nastavení práv je samozřejmě věc důkladného přemýšlení.
[programy] comment = Programy pro Windows browseable = yes read only = yes guest ok = yes path = /home/admin/programy
Toto sdílení uvidí všichni uživatelé. Sem se může dát všcheno, co chceme, aby uživatelé mohli používat bez rizika, že to smažou. Třeba tu múžou být výukové programy,...
[test] comment = Sem muzete zapsat cokoliv :o) browseable = yes read only = no guest ok = yes path = /home/test
Toto je univerzálně využitelné sdílení, kam mohou všichni uživatelé zapisovat. V našem systému je zamýšleno jako místo, kam můžou žáci ukládat výsledky testů. Bohužel tu nefunguje možnost nastavit kombinaci práv 333, kdy mohou uživatelé ukládat, ale nezobrazuje se jim obsah adresáře. Tady si Linux (kde to funguje) s MS Windows nerozumí. Zkusíte-li to tak nastavit, budou MS Windows při pokusu otevřít složku s takto nastavenými právy hlásit, že nemáte právo tam vlézt. V Linuxu tam vlezete, jenom neuvidíte, co tam je za soubory. Toto řešení (333) by aspoň trochu omezilo riziko, že někdo zlomyslný bude mazat soubory kolegů...
6.5.2. Přidávání počítačů do domény
[editovat | editovat zdroj]Aby se mohli uživatelé v doméně přihlašovat, musí to udělat z nějakého počítače. A Win-doména se nebaví s každým počítačem, ale jenom s takovým, který je zaregistrovaný v databázi Samby. To se týká pracovních stanic s WinNT/2000/XP. Máte-li na nich Win98, můžete tuhle kapitolu přeskočit - s nima se do domény dostanete vždycky.
Počítač v doméně "zlegalizujeme" tak, že mu vytvoříme normální uživatelský účet v Sambě. Podle dokumentace je nutné ho přidat i do passwd, ale jen u Samby do verze 2.2. Můžu vám prozradit, že to je potřeba i u Samby verze 3.0.:o) Takže ho přidáme do obou databází.
Účet se bude jmenovat stejně, jako je jméno počítače, jen se za název ještě přidá znak $. Takže:
# smbpasswd -a pc01$ # useradd pc01$
Budeme požádáni o zadání hesla. Na něm nezáleží, takže tam dáme něco univerzálního, co nikdy nezapomeneme, třeba oblíbené 123456.
Pak je potřeba aby se klientský počítač v doméně zaregistroval. Přhlásíte se na něm jako administrátor. Pak Ovládací panely -> Systém -> karta Název počítače -> tlačítko Změnit. Zadáte název počítače a jméno domény jejímž bude členem (v našem smb.config máme jméno OBECNA). Až to potvrdíte O.K. nastane šok - budete požádáni o uživatelské jméno a heslo a nebudete vědět, která bije.
Takže: Jde o uživatelské jméno a heslo uživatele, který smí přidávat stroje do domény. Ten uživatel se shodou okolností jmenuje root a musí být v databázi uživatelů Samby. Tento root nemá v zásadě nic společného s opravdovým rootem - linuxovým účtem na serveru. Mohou mít tedy odlišná hesla, a řekněme si na rovinu, měli by mít odlišná hesla.
Přeběhneme tedy k serveru a přidáme uživatele root do databáze uživatelů Samby:
# smbpasswd -a root
O heslo si to řekne samo v zápětí. Pak se můžete vrátit ke klientské stanici a zadat jméno root a jeho heslo. Po stisku O.K. by se mělo objevit hlášení, vítající vás do domény. Držím vám palce!
Od dalších počítačů už odbíhat nemusíte, roota jste už do Samby přidali.
Pro ty, které uživatel root v databázi hesel Samby znervózňuje: Po přidání všech počítačů do domény můžete tento účet zase zrušit. Budete-li v budoucnu potřebovat přidat další stroj (nebo po přeinstalaci MS Windows), tak si toho pseudo-roota zase na chvíli zřídíte, no.
6.5.3. Uživatelé v doméně
[editovat | editovat zdroj]Jak víme, Linux si udržuje informace o uživatelých a skupinách v souborech passwd, shadow a group, které se nacházejí v adresáři /etc.
Sambě tyto soubory ale nejsou moc platné, protože je nemůže využít k ověřování hesel. Hesla jsou v souboru shadow uložena zašifrovaně. Pokud se přihlašuje uživatel ze stroje s MS Windows, přijme Samba jeho heslo, které je už také zašifrované. Problém je, že jiným šifrovacím mechanismem.
Tento problém se dá obejít tak, že se MS Windows stanice nastaví tak, aby posílaly heslo nešifrovné. To ale přináší zase další problémy, takže to vlastně řešením není. Víc si o tomto problému přečtěte ve zmíněné knize.
Je to vyřešeno takto: Samba si udržuje vlastní databázi uživatelů, obdobnou té linuxové. Ano je to nepříjemné, ale je to nevyhnutelné: Používání Samby znamená, že budme mít dvě databáze uživatelů... Tj, přidáváme-li uživatele do systému, musíme ho přidat dvakrát: Jednou klasicky Linuxově a jednou pro Sambu.
Uložení uživatelů v Sambě může být provedeno několika způsoby. V podstatě dvěma. Buď klasicky v:
/etc/samba/smbpasswd
nebo moderněji v tdb databázi, která se pak nachází v adresáři /var/lib/samba
Měli bychom používat ten druhý způsob.
Tdb databáze není čitelná textovým prohlížečem. K vypisování jejího obsahu slouží program pdbedit, který toho ale umí mnohem víc. Výpis uživatelů:
# pdbedit -L # pdbedit -Lw # pdbedit -Lv franta
Sambový program pro údržbu uživatelů je buď smbpasswd, nebo zmíněný pdbedit. První je jednodušší, druhý zas toho nabízí podstatně více.
Každopádně je dobré připomenout, že k údržbě uživatelských účtů máme k dispozci mnou spáchaný program ug-start.sh, který se o synchronizaci obou databází stará automaticky a ještě navíc umí udržovat diskové kvóty.
6.5.4. Mapování uživatelů a skupin win/lin
[editovat | editovat zdroj]Konfigurační soubor /etc/samba/username.map
umožňuje mapovat uživatelská jména a skupiny mezi Linuxem a MS Windows. Příklad
objasní vše:
mirek = miroslav koyot spravci = @administrators nobody = *
To co je před rovnítkem je Linuxové jméno, co je za ním jsou odpovídající jména z MS Windows. Více jmen se odděluje mezerou. Když se tedy uživatel miroslav bude přihlašovat z win mašiny, bude se ověřovat jako mirek na Linuxu. Může se rovněž přihlašovat pod jménem koyot. Jak je to s případnou diakritikou nevím... Druhý řádek mapuje skupinu spravci na Linuxu na skupinu adminstrators. Tohle mi nějak nefungovalo. Chtěli jsme mít uživatele, který se po přihlášení z Win mašiny stane pro tu mašinu administrátorem. Řešil jsem to tak, že jsem vytvořil skupinu spravci a namapoval ji na skupinu admnistrators, jak je vidět výše. Pak jsem toho uživatele do té skupiny spravci přidal. Bohužel, po přihlášení se ten uživatel svých výjimečných práv nedočkal...
Třetí volba namapuje ostatní (tedy neznámé) uživatele na uživatele nobody.
6.6. Webserver Apache
[editovat | editovat zdroj]Má svoje konfigurační soubory v /etc/apache2/
. Výchozí nastavení je v souboru
apache2.conf
.
Podadresáře:
sites-available | obsahuje konfiguraci www sajtů - virtuálních domén. |
sites-enabled | zde jsou linky do sites-available na sajty, které mají skutečně běžet. |
modules-available | dtto pro moduly severu Apache |
modeles-enabled | opět analogicky. |
6.6.1. Naše nastavení
[editovat | editovat zdroj]6.6.1.1. Uživatel Webmaster
[editovat | editovat zdroj]Zřídíme si jeden (pro začátek to stačí) účet pro uživatele, který bude mít právo měnit internetové stránky. Budeme ho muset vytvořit ručně:
# useradd -d /var/www/nase-stranky/ -g www-data -m -p -s /bin/sh webmaster
Budeme-li jej chtít využívat i z MS Windows stanic, budeme ho muset přidat i do samby:
# smbpasswd -a webmaster
6.6.1.2. Adresář pro stránky
[editovat | editovat zdroj]Podíváme se, zda opravdu existuje adresář /var/www/nase-stranky/
a zda má nastaveno vlastnictví webmaster.www-data
. Pokud, ne uděláme to.
6.6.1.3. Konfigurace Apache
[editovat | editovat zdroj]Do adresáře /etc/apache2/sites-available/
přidáme konfigurační soubor našich stránek. Nazveme ho třeba nase-skola.cz
,
aby bylo jasno. Obsah tohoto konfiguračního souboru najdeme v příloze s nastaveními.
Ještě nezapomeneme udělat link:
ln -s /etc/apache2/sites-available/nase-skola.cz /etc/apache2/sites-enabled/010-nase-skola.cz
Dále v adresáři sites-enabled
zrušíme link 000-default
- už není potřeba:
# rm 000-default
Pak budeme muset udělat soubor o jednom řádku do sites-available
a pojmenujeme
ho třeba namevirthost.head
. Jeho obsahem bude tento řádek:
NameVirtualHost *
A uděláme link
ln -s /etc/apache2/sites-available/namevirthost.head /etc/apache2/sites-enabled/000-namevirthost.head
Takže nyní máme v sites-enabled
dvě položky:
000-namevirthost.head 010-nase-skola.cz
Restartujeme Apache server:
/etc/init.d/apache2 restart
a mělo by to fungovat.
6.6.2. Stránky uživatelů
[editovat | editovat zdroj]Apache nabízí možnost, aby si uživatelé zřídili svoje webové stránky. Musí si udělat adresář public_html ve svém domovském adresáři. Jeho obsah pak bude vidět na adrese:
http://nase-skola/~uzivatel/
Aby to fungovalo budete muset povolit modul userdir
a restartovat Apache:
# a2enmod userdir # /etc/init.d/apache2 force-reload
Je-li modul aktivován se můžete přesvědčit nahléduntím do adresáře /etc/apache2/mods-enabled
, měl by tam být link na userdir.load a userdir.conf.
6.6.3. Apache a SSL
[editovat | editovat zdroj]Přepneme se do adresáře
# cd /etc/apache2/ssl
Vygenerujeme si soukromý klíč serveru:
# openssl genrsa -rand /sbin/fsck -out server.key 1024
Místo /sbin/fsck dejte nějaký jiný soubor. Jde jen o počáteční hodnotu pro generátor náhody. Ale můžete klidně nechat tenhle.
Vygenerujeme žádost o certifikát pro certifikační autoritu:
# openssl req -new -key server.key -out server.csr
Pokud žádost o certifikát nikam nechceme posílat, vygenerujeme si ho sami:
# openssl req -x509 -key server.key -in server.csr -out server.crt
Do souboru {{{`/etc/apache2/ports.conf`}}} přidáme řádek
Listen 443
Do souboru {{{`/etc/apache2/sites-available/nase-skola.cz`}}} přidáme do sekce <VirtualHost> řádek
SSLEngine on
Do souboru {{{`/etc/apache2/modules-available/ssl.conf`}}} přídáme dva řádky:
SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key
Po restartu Apache by měly fungovat už i adresy s protokolem `https://`
.
E-mail server Exim4
[editovat | editovat zdroj]Debian Linux používá jako výchozí smtp server program Exim4. Jeho možnosti jsou značné, konfigurační soubory nekonečné,... Naštěstí pro jednoduché podmínky se nabízí i poměrně jednoduché řešení.
Při instalaci (viz kapitola o instalaci serverových služeb) jsme zadali vše potřebné. Máme-li pocit, že jsme to trochu pohnojili, nebojte, o kousek dál se píše o tom, jak to nastavit dodatečně.
Otestovat funkčnost serveru musíme několika způsoby:
1. Odešleme e-mail přímo ze serveru:
``` # mail [nekdo@seznam.cz]
2. Odešleme e-mail odjinud na server. Třeba z toho seznamu.cz na lokální adresu [uzivatel@nase-skola.cz]. 3. Z lokální sítě.
1. Nastavíme si poštovního klienta (k tomu bude potřeba mít hotové nastavení POP3 nebo IMAP serveru viz další kapitola) 2. a pošleme z něj mail třeba na ten seznam.cz. 3. Pošleme sobě mail odněkud z venku, třeba zas z toho seznamu.
Nefunguje? Zkusme se podívat do konfiguračního souboru Exim4. A také na:
Práva k adresáři s e-maily
[editovat | editovat zdroj]Z nějakého záhadného důvodu má adresář /var/mail/, kam se ukládá došlá pošta uživatelů špatně nastavená práva. Vlastníkem adresáře má být root.mail a práva nastavená na 775.
Konfigurační soubor Exim4
[editovat | editovat zdroj]Ten není žádná sranda. Naštěstí nám situaci usnadňuje "nadstavba" použitá v Debian Linuxu, konfigurační soubor:
/etc/exim4/update-exim4.conf.conf
Jeho obsah po nainstalování bude vypadat asi takto:
dc_eximconfig_configtype='internet' dc_other_hostnames='' dc_local_interfaces='' dc_readhost='' dc_relay_domains='nase-skola.cz' dc_minimaldns='false' dc_relay_nets='192.168.1.0/24:192.168.2.0/24' dc_smarthost='' CFILEMODE='644' dc_use_split_config='false' dc_hide_mailname='' dc_mailname_in_oh='true'
- Other hostnames nepotřebujeme - hostname se převezme ze systému.
- Local interfaces je prázdné - naslouchá se na všch rozhraních.
- Relay-domains - jasné.
Jen zmíním: Když se sem dá *(hvězdička), tj všem, uděláte si ze svého počítače tzv. Open Relay a dostanete se na černou listinu spamerských serverů. Tak pozor.:o)
- Minimal DNS - se nastavuje když jsme za vytáčenou linkou a nemáme přímý přístup k DNS serveru. To není náš případ.
- Realy Nets - z jakých sítí si nás mohou nastavit jako smtp server (komu děláme smarthosta)
- Smarthost - kdo dělá smarthosta nám. Nepotřebujeme, jsme smart dost sami.:o)
- Ostatní direktivy si můžete nastudovat v manuálové stránce:
# man update-exim4.conf
Neobvyklý restart serveru Exim4
[editovat | editovat zdroj]Po případných změnách v konfiguračním souboru restartujeme server Exim4 trochu neotřelým způsobem:
# invoke-rc.d exim4 restart
Intuitivnější varianta `/etc/init.d/exim4 restart`
se nemá používat. Nemusely by se restartovat dceřiní démoni běžícího serveru (Dceřiný démon, to si nechám patentovat:o).
Po restartu se automaticky vygeneruje nový konfigurační soubor z námi zadaných parametrů:
/var/lib/exim4/config.autogenerated
Pár užitečných příkazů
[editovat | editovat zdroj]# mailq
Tento příkaz nám zobrazí obsah fronty nedoručených zpráv. Exim se snaží poštu doručovat okamžitě. Není-li fronta prázdná, znamená to obvykle nějaký problém.
# exim4 -Mvl kód-zprávy
Vypíše i důvody, proč zpráva visí ve frontě. Kód zjistíme předchozím příkazem mailq.
# exigrep [-l] vzor /var/log/exim4/main.log
Prohledává zadaný logový soubor a vypisuje řádky odopovídající vzoru.
Parametr -l říká, aby se vzor bral doslova a ne jako regulární výraz.
# eximstats /var/log/exim4/mainlog
Nabízí souhrný výpis toho, co je zaznamenáno v log souborech. Výstup je možné nechat udělat v různých formátech (txt, html, xls - MS Excel).
Ještě tu jsou grafické nástroje, které najdeme v balíčcích eximon4, geximon a pfqueue.
eximon4 nabízí v prostředí X velmi primitivní pohled na fronty bez větší možnosti cokoliv ovlivnit.
geximon je daleko lepší, nabízí stav fronty, pohled na log soubory... Ovšem na našem serveru jsme si grafické prostředí nenainstalovali... Ale můžete si ho tam dát. Nejsem váš šéf. :o)
pfqueue oceníme v konzoli - je to obdoba geximonu napsaná pro konzoli. To si na našem serveru užijeme.
Open Realy
[editovat | editovat zdroj]Pokud si myslíte, že nejhorší věc, která vás v souvislosti s provozováním mail serveru může potkat je, že nefunguje, mýlíte se. Nejhorší je, když mail server funguje moc!
Od doby, kdy se spam stal strašákem Internetu, vede snaha o jeho omezení k tvrdým restrikcím vůči serverům, které jeho rozesílání umožňují. K takovým serverům patří i ty, které jsou nastavené jako open-relay - tedy umožňují, aby si je kdokoliv nastavil jako smpt server pro odesílání pošty.
Naše nastavení je z tohoto hlediska bezpečné. Jako odesílací smpt mohou náš server používat jen počítače z naší lokální sítě. Přesto stojí za to, nechat si svůj server otestovat.
Jednak si zkuste na nějakém počítači mimo vaši síť nastavit poštovního klienta tak, aby používal jako odesílací smtp server právě ten váš, a pak zkuste poslat e-mail někomu jinému (samozřejmě ne v doméně poštovního serveru, který testujeme;). Poštovní klient by měl hodit chybovou hlášku, že smtp server odmítl poštu doručit.
Další možností je využít nějakou testovací službu. Například:
- [8] - oficiální databáze. Tady pozor, skončí-li váš test "úspěšně" (tj. budete otestování jako open-relay pozitivní), stanete se také hned součástí databáze open-relay serverů, tedy se ocitnete na black listu!
- [9] - tady to není tak divoké. Poztivní test vás jen upozorní, ale nikam nezapíše.
- [10] - i zde se jen testuje bez následků.
- [11] - tady najdete spoustu odkazů na další možnosti jak testovat (včetně výše zmíněných).
Otestování funuje zpravidla takto: Zadáte adresu vašeho poštovního serveru a za chvíli se vám začne vypisovat seznam různých pokusů (až špinavých triků), které by na váš server případný spamer mohl zkoušet. Pokud všechny skončí neúspěchem, můžeme si pogratulovat a jít na pivo.
Pokud byste se na blacklistu ocitli, můžete se po opravě mail serveru nechat na ordb.org znovu otestovat a v případě, že je vše O.K., tak vás z blacklistu opět vyřadí.
POP3 a IMAP server Dovecot
[editovat | editovat zdroj]Po naistalování Dovecotu tyto služby neběží, je nutno je zpřístupnit v konfiguračním souboru:
/etc/dovecot/dovecot.conf
A upravíme direktivy:
protocols = imap imaps pop3 pop3s imap_listen = * pop3_listen = * imaps_listen = * pop3s_listen = *
Říkáme, že chceme použít imap i pop3, a to jak ve výchozím režimu (imap, pop3), tak i v šifrovaném přes ssl či tsl (imaps, pop3s).
Pak můžeme Dovecot spustit (dáme restart pro sichr, kdyby náhodou přeci jen běžel:):
# /etc/init.d/dovecot restart
Ostatní výchozí nastavení vyhovují. Tzn. že hesla se budou posílat v plaintextu, tedy nešifrovaně. Umí-li klientský mailový program komunikovat přes ssl, pak se bude moci připojit takto, šifrovaně a nešifrovaná hesla vlastně budou šifrovaná (díky ssl). V opačném případě nám budou přes síť běhat hesla nešifrovaná, což může být problém.
Dovecot ovládá i zasílání šifrovaných hesel (cram-md5, digest-md5), jenže zde může být problém s klientem (mailovacím programem), který to neovládá...
Taky je třeba vzít v úvahu fakt, že tyto ověřovací mechanismy vyžadují vlastní databázi uživatel/heslo, což by znamenalo další komplikaci při přidávání uživatelů do systému. Navíc v této databázi jsou hesla uložena nešifrovaně, takže se nám bezpečnostní problém pouze přesouvá na jiné místo.
Proto nakonec volím výchozí nastavení - zasílání nešifrovaných hesel s možností komunikace klienta se serverm přes šifrovanou vrstvu ssl.
Dovecot a SSL
[editovat | editovat zdroj]Dovecot si během instalace sám vygeneruje ceritfikáty, což si lze ověřit v /etc/ssl
. Ve svém poštovním klientu tedy můžete použít místo stadnardních portů pro pop3(110) a imap(443) porty zabezpečené: pop3s(995), imaps(993).
WebMail - Squirrelmail
[editovat | editovat zdroj]Webmail přidává nad e-mailový systém uživatelské rozhraní ovládané z prostředí internetového prohlížeče. Je to to, co známe třeba ze seznam.cz.
Projekt Squirrelmail sídlí na internetových stránkách [12]. V Debian Linuxu má samozřejmě svůj instalační balíček. Balíčky jsou dva: squirrelmail a squirrelmail-locales.
Po nainstalování spustíme program
# squirrelmail-configure
který se ovládá pomocí jednoduchého menu. Nastavují se tu kosmetické věci, jakož i věci podstatné. Například sekce 2-server settings. Většinou ale zjistíme, že výchozí nastavení vyhovuje. Pozoruhodná je sekce 8-pluggins, kde si můžeme zapnout rozšíření, která jsou po instalaci vypnutá. Další plugginy můžeme stáhnout z domovských stránek projektu. Já třeba pro přidávání adres do adresáře nepoužívám standardně dodávaný pluggin `abook-take`
, ale stahuji si `address_add`
. Stažené plugginy se rozbalují do adresáře
/usr/share/squirrelmail/pluggins
Po přidání sem, se příslušný pluggin objeví i v menu programu `squirrelmail-configure`
, takže si ho pustíme a pluggin zapneme.
Výsledky práce nastavovacího programu jsou uloženy v souboru:
/etc/suqirrelmail/config.php
ve kterém můžeme dělat úpravy i ručně. Rovněž můžeme použít jako výchozí ten, který je v příloze `nastaveni`
tohoto návodu.
Další soubor, který nás zajímá je:
/etc/suqirrelmail/apache.conf
Ten si upravíme. V části `VirtualHost`
upravíme název, pod jakým si budou uživatelé
webmail z prohlížeče vyvolávat. Třeba: `webmail.nase-stranky.cz`
.
Poslední věc, kterou musíme udělat je, říct o webmailu http serveru Apache:
ln -s /etc/squirrelmail/apache.conf \ /etc/apache2/sites-enabled/020-squirrelmail.conf
A pak Apache restartovat. Spustíme prohlížeč internetových stránek a do adresního řádku zadáme adresu webmailu `http://webmail.nase-skola.cz`
. Mělo by to fungovat.
6.9.1. Česká kontrola pravopisu
[editovat | editovat zdroj]Za prvé musíme mít nainstalovaný balíček aspell a český slovník pro aspell. Slovník v Debianu bohužel chybí, takže si ho musíme stáhnout z ftp.gnu.org - bereme aspell6-.... A pak ho nainstalovat.
V squirrelmail-configure Je třeba zapnout plugin SquirrelSpell a pak ručně editovat soubor
/etc/squireelmail/sqspqll_config.php
a přidat do něj řádek
$SQSPELL_APP['Czech'] = '/usr/bin/aspell -d cs -a';
za uzavírací složenou závorku prvního ifu.
Nebo použijeme předvařený konfigurák ze sekce nastavení.:o)
Ve webmailu pak objevíme v sekci "nastavení" podsekci "kontrola pravopisu", v níž vedle anglického bude i český slovník. Nastavíme ho jako výchozí a naše nové majly od teď budou bez překlepů a tak...:o)
MailScanner - maily bez spamu a virů
[editovat | editovat zdroj]Instalace
[editovat | editovat zdroj]Nainstalujeme balíčky:
MailScanner
To je program, který se o vše stará, ale sám nic neumí. Tedy praktického. Chroupe všechny e-maily došlé na náš systém a podle konfigurace je předává dalším programům ke kontrole. Typicky to jsou antivirový a antispamový program.
- ClamAV
- Antivirový program pro mailové servery. Je spouštěn MailScannerem.
- ClamAV-freshclam
- Důležitá součást antiviru - program, který si z Internetu stahuje aktualizace virové databáze.
- ClamAV-docs
- Dokumentace se občas hodí. ;-)
- arj, unzoo, unrar, lha
- Balíčky doporučované a navrhované balíčkem ClamAV. Obsluhují různé komprimované archivy.
- SpamAssassin
- Spamový filtr, založení na přemýšlení a porovnávání obsahu mailu.
- Razor
- Spamový filtr, který identifikuje spamy přímo díky spolupráci s internetovou databází.
6.10.2. Nastavení - MailScanner
[editovat | editovat zdroj]MailScanner.conf
[editovat | editovat zdroj]Otevřeme konfigurační soubor
/etc/MailScanner/MailScanner.conf
a upravíme následující řádky (uvádím jen nové hodnoty):
Cesta k adresáři s českými hláškami:
%report-dir% = /etc/MailScanner/reports/cz
Dále stručné pojmenování naší organizace. (Toto jméno se má - dle instrukcí - nastavit i v souboru /etc/MailScanner/spam.assassin.prefs.conf
). Bude vkládáno mj. do hlaviček e-mailů:
%org-name% = Nase-Skola
Úplné pojmenování organizace. Může být i víceřádkové. Odřádkování se naznačí pomocí \n.
%org-long-name% = Naše Škola v Bolívii \n Za Bogottou 35 \n Paranaa
Stránky školy, nebo lépe, stránka s vysvětlivkou, proč byl mail odmítnut ap.:
%web-site% = www.nase-skola.cz/mailscanner/vysvetlivky.html
V sekci kontroly virů musí být nastaveno:
Virus Scanning = yes Virus Scanners = clamav
Tento řádek nastavuje hlavičku, která se přidá do mailu, a která říká, jakého skóre mail dosáhnul z hlediska zda je či není spamem:
Spam Score Header = X-%org-name%-MailScanner-SpamScore:
A tento říká, jak bude skóre označeno. V tomto případě to bude tolik písmenek s, kolik dostal mail "spamových bodů".
Spam Score Character = s
Kdybychom chtěli místo "syčení" skutečně číslo, nastavíme tohle na yes:
SpamScore Number Instead Of Stars = no
Tato pravidla užijeme v poštovním programu k filtrování spamu. V nastaveních našeho oblíbeného poštovního klienta si najdeme "filtry" a přidáme podmínku, říkající, že když hlavička X-Nase-Skola-MailScanner-SpamScore: obsahuje "ssssss" (tedy minimálně šest bodů), přesuň ji do složky, kterou si na spamy vytvoříme. Nedoporučuji spam automaticky mazat. Může se stát, že se do spamu dostane i něco zdravého a pak budete litovat.:o)
Tím jsme s konfiguračním souborem hotovi.
Další nastavení pro MailScanner
[editovat | editovat zdroj]Aby MailScanner spolupracoval s e-mailovým serverem je potřeba ho do procesu zpracování e-mailů zapojit. Návod (originál) je zde:
file:///usr/share/doc/mailscanner/README.exim4
A zde je jeho překlad:
Jak nastavit MailScanner pro Exim4 v režimu démona
Změníme práva pro uživatele exim4:
# chown -R Debian-exim:Debian-exim /var/spool/MailScanner # chown -R Debian-exim:Debian-exim /var/lib/MailScanner # chown -R Debian-exim:Debian-exim /var/run/MailScanner # chown -R Debian-exim:Debian-exim /var/lock/subsys/MailScanner
Vytvoříme spoolový adresář pro příchozí frontu (ten první řádek je dobrá finta, co? taky jste to neznali?:o)
# mkdir -p /var/spool/exim4_incoming/{db,input,msglog} # chown -R Debian-exim:Debian-exim /var/spool/exim4_incoming # chmod -R 750 /var/spool/exim4_incoming
Pokud jste si nakonfigurovali Exim4 s parametrem `Split Exim Spool = yes`
, což v našem řešení není, tak koukněnte do originál návodu, je tam pár věcí navíc.
Vytvoříme logovací adresář pro příchozí frontu:
# mkdir -p /var/log/exim4_incoming # chown -R Debian-exim:adm /var/log/exim4_incoming # chmod -R 2750 /var/log/exim4_incoming
Upravíme soubor
/etc/logrotate.d/exim4-base
tak aby rotovaly logy v obou frontách. Já to vyřešil tak, že jsem ho zkopíroval do exim4-base-mailscanner a v něm jsem upravil cestu k logům z exim4 na exim4_incomming.
Upravíme soubor
/etc/default/exim4
takto:
- nastavíme QUEUERUNNER na hodnotu `separate'
- přidáme do QUEUERUNNEROPTIONS `-DOUTGOING'
- přidáme do SMTPLISTENEROPTIONS `-odq'
Následující řádky přidáme na záčátek souboru
/etc/exim4/exim4.conf.template
.ifdef OUTGOING SPOOLDIR = /var/spool/exim4 .else queue_only = true queue_only_override = false SPOOLDIR = /var/spool/exim4_incoming log_file_path = /var/log/exim4_incoming/%slog .endif
Zmíněné řádky jsou uvedeny v
/usr/share/doc/mailscanner/examples/01_mailscanner_config
Pokud bychom měli dělenou konfiguraci (což nemáme), pak bychom místo předchozího přidávání řádků do exim4.conf.template zkopírovali tento soubor (01_mailscanner_config) do /etc/exim4/conf.d/main/.
Spustíme aktualizaci konfiguračních souborů Exim4 a restartujeme ho (obě akce udělá tento příkaz):
invoke-rc.d exim4 restart
Upravíme
/etc/cron.daily/exim4-base
tak, aby byl volán exim_tidydb na oba spool adresáře (tj i na nový exim4_incomming).
Upravíme
/etc/default/mailscanner
a odkomentářujeme řádek:
run_mailscanner=1
čímž docílíme toho, že od nyní se bude MailScanner automaticky při startu počítače spouštět.
Dále nastavíme v
/etc/MailScanner/MailScanner.conf
Sendmail = /usr/sbin/exim4 -DOUTGOING Sendmail2 = /usr/sbin/exim4 -DOUTGOING
Nyní závěrečná třešínka na dortu:
/etc/init.d/mailscanner start
a už to frčí!
Nastavení ClamAV - antivirus
[editovat | editovat zdroj]V našem řešení je antivirus spouštěn MailScannerem. Výchozí konfigurace antivirového programu bude nejspíš vyhovovat. Chcete-li se tím trochu víc zabývat, například proto, že chcete spouštět ClamAV bez MailScanneru, hledejte v dokumentaci.
Nastavení SpamAssassin - antispam
[editovat | editovat zdroj]V našem řešení je SpamAssassin spouštěn prostřednictvím MailScanneru. Pokud bychom chtěli systém pouze se spamovým filtrem (bez AntiViru), pak by byl MailScanner zbytečný. V tom případě by stačilo provozovat samotný SpamAssassin. To ale není předmětem této dokumentace.
Dokumentace ke Spamassassinu je mj:
/usr/share/doc/spamassassin/ perldoc sa-learn perldoc Mail::SpamAssassin::Conf
Soubory s nastavením hledejme zde:
/etc/MailScanner/spam.assassin.prefs.conf
- Tohle je místo, kde měnit konfiguraci pro SpamAssassin v případě, že používáme MailScanner. Tento konfigurační soubor přebíjí všechny konfigurace SpamAssassinu (zpracovává se jako poslední). Vlastní konfiguráky SpamAssassinu tedy můžeme ignorovat. Jsou to tyto:
/usr/share/spamassassin/
- výchozí nastavení (neměnit!)/etc/spamassassin/
- naše výchozí nastavení pro všechny uživatele~/.spamassassin/
- soubory uživatele - některé přidává spamassassin sám.~/.spamassassin/user_prefs
- osobní nastavení uživatelů (spamd ignoruje!)
FTP server
[editovat | editovat zdroj]Slouží k přenášení souborů mezi serverem a počítačem u kterého právě sedíme. Určitě ho využije webmaster pro úpravu internetových stránek - umožní mu to spojit se s kořenovým adresářem stránek odkudkoliv z lokální sítě i z Internetu. Samozřejmě může použít i Sambu - tedy na lokální síti.
K dispozici ho budou mít ale všichni uživatelé. Jen nesmíme zapomenout, že ve výchozím nastavení serveru mohou uživatelé procházet celým souborovým systémem, což se nám nelíbí, takže to musíme nastavit tak, aby uživatelé byli "zamčeni" ve svém domovském adresáři a ven z něj se nedostali.
Použil jsem ftp server ProFTPD. Při instalaci musíte rozhodnout, jestli má běžet v režimu standalone, nebo inetd. Vybereme inetd, protože není důvod, aby permanentně strašil v paměti. Server po nainstalování hned pracuje. Provedeme jen drobnou úpravu v jeho konfiguračním souboru:
/etc/proftpd.conf
Hlavně přidáme direktivu
DefaultRoot ~
ta zajistí, že uživateli se po přihlášení bude jeho domovský adresář jevit jako kořenový (je tam tzv. chrootnutej). Nedostane se tedy do kořenového adresáře systému a nemůže tak šmejdit tam kde ho nechceme (třeba v /etc).
Ostatní výchozí nastavení vyhovují, včetně zablokovaného anonymního přístupu.
Pokud jde o uživatele webmaster, při jeho vytváření jsme mu zadali jako domovský adresář `/var/www/nase-stranky`
, ale o tom píšu v kapitole o Apache web serveru.
SSH server
[editovat | editovat zdroj]Neboli SecureShell (SSH) slouží ke vzdálenému přihlašování. Nainstalujeme ho proto, abychom se mohli k serveru přihlásit odkudkoliv z Internetu a spravovat ho, jako bychom u něj seděli. Na jednu stranu to zní lákavě, na druhou nebezpečně. Takže jak být opatrný.
Po nainstalování OpenSSH (je nainstalován standardně, nemusíme o to prosit) si otevřeme konfigurační soubor:
/etc/ssh/sshd_config
a přidáme tam direktivu:
AllowUsers jenomja
Kde `jenomja`
je uživatelské jméno, které si zřídíme právě jen pro toto přihlašování. Dáme mu pekleně kvalitní heslo. Z jakéhokoliv počítače se tedy přihlásíme na náš server jedině takto:
# ssh jenomja@nase-skola.cz
Pak jsme požádáni o zadání hesla (toho pekleně kvalitního:) a jsme na serveru. Zbývá jen se přepnout pod superuživatelský účet:
$ su -
zadat heslo (ještě pekelnější). A už administrujeme.
Není dobré nechat jako možnost přihlásit se rovnou jako root. Většina útoků silou na náš server bude vedena snahou přihlásit se jako root. To si časem při studiu systémových logů všimnete. Taky uvidíte, že tu bývají při podobných snahách náhodně generovaná uživatelská jména z rodu těch "normálních" (John, Peter...) takže pro tohoto přihlašovacího uživatele zvolte něco méně tradičního (třeba winhacker:o)
Pokud se budete chtít na server přihlásit a nebudete mít k dispozici linuxový (nebo jiný unixový) systém, ale jen MS Windows, nainstalujte si tam program PuTTY, který je náhradou ssh pro win-mašiny. Stáhnout si ho můžete třeba odsud.
NIS - sdílení systémových souborů
[editovat | editovat zdroj]Služba nis slouží ke zjednodušení údržby některých systémových souborů, které máme v síti na všech strojích stejné. Typicky to jsou hosts, passwd, group, shadow, ethers,... NIS umožňuje udržovat tyto soubory na jediném počítači - nis serveru - a ostatní počítače, klienti, si o ně serveru říkají. Bohužel to nejde udělat s libovolnými soubory.
Seznam možností je v manuálové stránce nsswitch.conf (5).
Balíček nis obsahuje serverovou i klientskou část. Při instalaci se ptá na jméno domény nis. To si můžeme vymyslet libovolné - na serveru a stanicích ho pak ale musíme zadat pochopitelně všude stejné.
Po nainstalování se automaticky spustí klientská část. Je dobré ji nechat běžet i na serverové stanici, i když na serveru asi budeme číst sdílené soubory přímo a ne přes nis. Běžící klient na serverové stanici nám ale může pomoci při hledání problémů.
Na serveru
[editovat | editovat zdroj]Po nainstalování balíčku nis:
/etc/default/nis
- opravitNISSERVER=false
na=master
.- zkontrolujeme si
/etc/hosts
. Je tu řádek:
127.0.0.1 localhost.localdomain localhost
Adrese 127.0.0.1 nesmí být přiřazeno jméno hostitele. Mohlo by to působit selhání některých operací (v dokumentaci to není blíže zdůvodněno).
/etc/ypserv.securenets
- přidáme sem číslo naší lokální sítě. Například:
255.255.255.0 192.168.1.0
V Debian Sarge tu je řádek
0.0.0.0 0.0.0.0
který umožňuje připojení komukoliv, tak ten zakomentářujeme.
- editujeme
/var/yp/Makefile
- tam najdeme řádekall:
za kterým následuje seznam systémových souborů, které chceme prostřednictvím služby nis sdílet. Já jsem odsud vyndal názvy souborů rpc, services a protocols, protože mám na serveru Debian stable a na stanicích verzi testing a nejsem si jistý, zda by se tyto soubory nemohly lišit. Navíc do těchto souborů stejně nehrabu. Naopak jsem odkometářoval: ethers a networks (pokud tyto soubory v/etc/
na serveru neexistují, je potřeba je vytvořit aspoň prázdné).
Taky je možné přidat soubor aliases (ten navíc vyžaduje odkomentářovat řádek ALIASES o cca 25 řádků výše). Zatím jsem to ale nevyužil. Vlastně nejde. Pohled do manuálové stránky k nsswitch.conf říká, že to není dosud implementováno.
A ještě si povšimneme, že soubor shadow se přidává sám o pár řádků pod all: níže.
- zadáme příkaz
# /usr/lib/yp/ypinit -m
kterým inicializujeme server jako master server. Bude se nás to ptát na jména všech dalších nis serverů v doméně. Máme-li jen ten jeden, ukončíme zadávání CTRL+D a správnost potvrdíme "y"
. Pak sledujeme, jak se generují tabulky jednotlivých sdílených souborů (passwd, group,...).
- restartovat:
# /etc/init.d/nis restart
Sledujeme, které služby startují (ypserv, ypbind, yppasswd).
To by mělo stačit. Další možnosti viz. originální dokumentace.
Aktualizace sdílených souborů na serveru
[editovat | editovat zdroj]Kdykoliv v budoucnu něco změníme ve sdílených souborech (přidáme počítač do /etc/hosts
, přidáme/odstraníme uživatele ze systému,...) musíme aktualizovat tabulky služby nis takto:
# cd /var/yp # make
a restartovat nis:
# /etc/init.d/nis restart
(asi by stačilo i reload místo restart) (možná není restart vůbec nutný..?).
Poznámka: Příkaz adduser se v Debianu se snaží chovat inteligentně, takže při přidávání uživatele provede aktualizaci tabulek nis automaticky. To uvidíte. Jenže pak výše zmíněnou aktualizaci (make
v /var/yp
) spusťte raději ještě jednou ručně. Po adduser to nebylo zcela košer.
Na klientských stanicích
[editovat | editovat zdroj]Úprava /etc/nsswitch.conf
[editovat | editovat zdroj]Nejdříve upravíme {{{/etc/nsswitch.conf}}}. Tady si ujasnime, co má stanice brát z vlastních souborů a co z nis serveru. Navrhuji toto:
passwd: compat nis group: compat nis shadow: compat nis
hosts: files nis dns networks: files nis
protocols: db files services: db files ethers: nis db files rpc: db files
netgroup: nis
To zajistí, že při přihlašování budou nejdříve kontrolovány lokální soubory na stanici a teprve potom služba nis. Toto pořadí je důležité, aby se mohl přihlásit root, když není přístupná síť (obrácené pořadí {{{nis compat}}} by ten problém působilo).
Poznámka: Místo compat - by tu mohlo být i files, stejně compat pravidla asi nevyužijeme.
Jména a adresy počítačů (hosts) a sítí (networks) se budou nejdřív hledat v souborech na stanici a po neúspěchu bude oslovena služba nis. U hosts navíc ještě pak DNS.
Protocols, services a rpc, jak jsem se už zmínil, do nis netahám z důvodu odlišných verzí Debian Linuxu na stanicích a na serveru.
Seznam ethernetových karet s převodem na IP adresy (ethers) se ale udržuje ručně, takže tady je nis v pořádku.
Soubor netgroup je čistě záležitostí služby nis - bez ní by tento soubor stejně neměl smysl (např, když nis nefunguje), takže je tu jen to nis - vždy se vyžádá verze ze serveru.
Instalace balíku nis na stanici
[editovat | editovat zdroj]Nainstalujeme balík nis na všech klietnským počítačích. Při instalaci budeme požádáni o zadání jména domény pro službu nis. Zadáme stejné, jako jsme zadali při instalaci serveru.
Po nainstalování vše běží - tj. výchozí nastavení stanice zcela vyhovuje.
Můžeme upravit /etc/ypbind.conf
, který umožňuje zadat adresu nis serveru "natvrdo", ale výchozí nastavení "broadcast" (které ani nemusíme uvádět)
je v malé síti naprosto vyhovující.
Ověření funkčnosti
[editovat | editovat zdroj]K tomu máme pár prima příkazů, které si můžeme zkusit z klientské stanice:
# ypcat hosts.byaddr
- vypíše obsah tabulky vygenerované z /etc/hosts na serveru
# ypmatch normaluser passwd
- to vypíše řádek týkající se uživatele normaluser z tabulky passwd.
# ypmatch root passwd
- to skončí chybou, protože v souboru passwd se sdílejí jen uživatelé u UID od 1000 výše (nastaveno je to v /var/yp/Makefile
) a root má vždy číslo 0.
Seznam všech tabulek poskytovaných službou nis najdete na serveru v adresáři /var/yp/doména
(místo doména dosaďte sktuečné jméno vaší domény).
Užitečné soubory
[editovat | editovat zdroj]Hledejte zde: http://grumpa.net/works/soubory/server/
- grumpa.net-sarge-zaklad - je seznam balíčků pro apt-get, který použijeme po nainstalování serveru k doinstalování nezbytných balíčků pro náš server.
- grumpa.net-sarge-extras - zde jsou balíčky, které najdete na CD Grumpa.net server navíc oproti těm základním. Jelikož na CD zbývá ještě poměrně dost místa, je tu prostor pro vaše návrhy, co ještě na CD přihodit. Pište mi!
- nastaveni - v tomto adresáři jsou konfigurační soubory, které jsou upravené pro potřeby našeho serveru. Obsahují tedy ta nastavení, o kterých se píše v tomto pojednání. Použijte je po zralé úvaze - v žádném případě je slepě nepřekopírujte!
Changelog - změny v dokumentaci
[editovat | editovat zdroj]2006-07-15
Opraveno datum u předchozí položky :o)
Vytvořena nově verze pro moinmoin wiki a umístěna na grumpa.eurowiki.net
V úvodu dokumentace přidána zmínka o obou umístěních na webu.
2006-06-28
Přidána sekce věnující se NIS - Network Information Service.
Exim4 - Přidány informace o nástrojích pro administraci.
2006-04-10 V sekci instalace bylo chybně zadáváno jméno počítače a domény. Opraveno.
2005-10-19 Opraveno několik překlepů a upraveno pořadí kapitol tak, aby lépe vystihovalo, co se při instalaci odehrává.
2005-10-07 Návod na MailScanner konečně doopravdy přidán :o)
2005-10-06 NOVÉ - nastavení Udělal jsem nový adresář na webu Grumpa.net a na CD, kam budu dávat odzkoušené konfigurační soubory.
2005-10-06 MailScanner
Přidán návod na zprovoznění MailScanneru pod Exim4. Návod přeložen z originálu v /usr/share/doc/mailscanner/README.exim4
TODO - co ještě udělat
[editovat | editovat zdroj]Je toho ještě dost k doladění. Ale dá se říct, že v tuto chvíli je tento návod použitelný pro každého, kdo není úplný začátečník. A o to mi šlo.
I zde chci poprosit o vaše připomínky a zkušenosti, jakož i o návrhy, co se dá dělat jinak a v čem by se tedy mohl změnit i tento návod.
Apache - web server Tam trochu kecám při nastavování SSL. Takhle by to fungovalo všechno přes https a nic přes http.
Dále chci vyřešit návrat k použití 000-default a vše nastavovat jen v přidaných konf. souborech pro jednotlivé weby.