Tento příspěvek byl označen našimi administrátory, neboť dle jejich názoru nevyhovoval pravidlům slušného chování či zákonům této země.
Náš portál patří k posledním serverům na světě, které si udržují vysoký standard kvality diskusí. Komentáře jsou k věci, lidé se snaží druhým pomoci, nenadávají si. Schválně srovnejte kvalitu našich diskusí s konkurencí. Chceme tento standard uchovat, bohužel někteří návštěvníci se u nás začínají chovat tak, jak jsou zvyklí jinde. A to nehodláme tolerovat. Proto jsme zavedli cenzuru.
Cenzura je speciální nástroj našich administrátorů k označení nevhodných příspěvků. Mohou jej použít tehdy, pokud narazí na komentář obsahující vulgarismy, osobní urážky či osočování nebo pokud obsah odporuje platným zákonům (například podpora takových zrůdností, jako je komunismus či fašismus, výzvy k nezákonným akcím a podobně).
Text takto označených příspěvků není v diskusi zobrazen. Místo něj je napsáno vysvětlení a odkaz na tuto stránku, kde je zobrazen nezměněný závadný příspěvek. Takto se každý náš čtenář může sám rozhodnout, zda si jej přečte (jde o explicitní akci) a zda měl náš administrátor pravdu, nebo byl příliš úzkostlivý.
Linux jako server/Sarge
Z Wikiknih
Linux jako server
Linux server pro školy
Viktor Matys v.matys@seznam.cz
Obsah
[skrýt]
* 1 Upozornení - práce pokracuje
* 2 Neco do zacátku
o 2.1 Zadání - strucne
o 2.2 Hardware
+ 2.2.1 Router / FireWall
+ 2.2.2 Hlavní pocítac - dataserver
o 2.3 Software
+ 2.3.1 Zvolená distribuce Linuxu
+ 2.3.2 Co nainstalovat
+ 2.3.3 Hlavní serverové služby
# 2.3.3.1 Samba
# 2.3.3.2 E-mail
# 2.3.3.3 Web server
# 2.3.3.4 FTP server
# 2.3.3.5 SSH server
+ 2.3.4 Další serverové služby
# 2.3.4.1 Casový (NTP) server
* 3 Pracovní postup nahrubo
o 3.1 Škola
o 3.2 Provider pripojení
o 3.3 Registrace domény
o 3.4 Instalace a konfigurace serveru
o 3.5 Konfigurace pracovních stanic
o 3.6 Škola podruhé: Nabídka dalších možností
* 4 Instalace serveru
o 4.1 Instalacní média
o 4.2 Prubeh instalace
+ 4.2.1 Úvodní menu
+ 4.2.2 Rozložení klávesnice
+ 4.2.3 Nastavení síte
+ 4.2.4 4.2.4. Rozdelení pevného disku
o 4.3 Po prvním nastartování - úvodní konfigurace
+ 4.3.1 Nastavit uživatele a hesla
+ 4.3.2 Nastavit jméno pocítace
+ 4.3.3 Nastavit apt
+ 4.3.4 Vybrat a nainstalovat balíky
+ 4.3.5 Nastavit poštovní server
+ 4.3.6 program base-config
+ 4.3.7 Ukoncit nastavení základního systému
* 5 Nastavení systému po instalaci
o 5.1 Ceská konzole
+ 5.1.1 Klávesnice
+ 5.1.2 Obrazovka
o 5.2 Instalace základu serveru
+ 5.2.1 FireWall IPMasq
+ 5.2.2 ClamAV
+ 5.2.3 Gpm - myš v konzoli
# 5.2.3.1 Jak gpm s myší funguje
+ 5.2.4 FTP server ProFTPd
+ 5.2.5 Nastavení Quota
+ 5.2.6 Nastavení Samba serveru
+ 5.2.7 Ispell dictionary
+ 5.2.8 Hotovo
o 5.3 Nastavení textového editoru
o 5.4 Midnight commander - souborový manažer
o 5.5 rucní pridávání / odebírání balícku
+ 5.5.1 apt - zdroje balícku
+ 5.5.2 aptitude
+ 5.5.3 apt-get
+ 5.5.4 dpkg
+ 5.5.5 Znovuspuštení konfigurace balícku
o 5.6 Framebuffer pro konzoli
+ 5.6.1 grub
+ 5.6.2 lilo
o 5.7 LogWatch - výpisy logu
* 6 Hlavní serverové služby
o 6.1 Quotas - hlídání obsazeného prostoru
+ 6.1.1 Predpoklady
+ 6.1.2 Nastavení kvót
o 6.2 Správa uživatelu a skupin
+ 6.2.1 pojmenovávání skupin
+ 6.2.2 pojmenovávání uživatelu
+ 6.2.3 domovské adresáre
+ 6.2.4 rucní pridávání
+ 6.2.5 program ug-start.sh
o 6.3 DNS a DHCP
+ 6.3.1 DNS
+ 6.3.2 DHCP
+ 6.3.3 Nastavení
+ 6.3.4 resolv.conf
o 6.4 NAT a Firewall
o 6.5 6.5. Samba fileserver
+ 6.5.1 6.5.1. Konfigurace serveru
+ 6.5.2 6.5.2. Pridávání pocítacu do domény
+ 6.5.3 6.5.3. Uživatelé v doméne
+ 6.5.4 6.5.4. Mapování uživatelu a skupin win/lin
o 6.6 6.6. Webserver Apache
+ 6.6.1 6.6.1. Naše nastavení
# 6.6.1.1 6.6.1.1. Uživatel Webmaster
# 6.6.1.2 6.6.1.2. Adresár pro stránky
# 6.6.1.3 6.6.1.3. Konfigurace Apache
+ 6.6.2 6.6.2. Stránky uživatelu
+ 6.6.3 6.6.3. Apache a SSL
o 6.7 E-mail server Exim4
+ 6.7.1 Práva k adresári s e-maily
+ 6.7.2 Konfiguracní soubor Exim4
+ 6.7.3 Neobvyklý restart serveru Exim4
+ 6.7.4 Pár užitecných príkazu
+ 6.7.5 Open Realy
o 6.8 POP3 a IMAP server Dovecot
+ 6.8.1 Dovecot a SSL
o 6.9 WebMail - Squirrelmail
+ 6.9.1 6.9.1. Ceská kontrola pravopisu
o 6.10 MailScanner - maily bez spamu a viru
+ 6.10.1 Instalace
+ 6.10.2 6.10.2. Nastavení - MailScanner
# 6.10.2.1 MailScanner.conf
# 6.10.2.2 Další nastavení pro MailScanner
+ 6.10.3 Nastavení ClamAV - antivirus
+ 6.10.4 Nastavení SpamAssassin - antispam
o 6.11 FTP server
o 6.12 SSH server
o 6.13 NIS - sdílení systémových souboru
+ 6.13.1 Na serveru
# 6.13.1.1 Aktualizace sdílených souboru na serveru
+ 6.13.2 Na klientských stanicích
# 6.13.2.1 Úprava /etc/nsswitch.conf
# 6.13.2.2 Instalace balíku nis na stanici
# 6.13.2.3 Overení funkcnosti
* 7 Užitecné soubory
* 8 Changelog - zmeny v dokumentaci
* 9 TODO - co ješte udelat
Upozornení - práce pokracuje
Tento manuál není hotový. Ale je funkcní. Co tu je by melo fungovat.
Rovnež je to ukázka možností systému pro psaní dokumentace [txt2tags.sf.net txt2tags].
Vítejte ve sbírce záznamu z instalace linuxového serveru ve škole.
Originál této dokumentace najdete na [[1]]. Wiki verzi pak na [[2]]. Pripojte se k tvorbe této dokumentace a navštivte wiki! :o)
Tento manuál jsem zacal psát proto, abych nemusel príšte znovu vymýšlet, co už jsem jednou vymyslel. Vetšina z nás si casem zvykne behem experimentování delat si poznámky. Tohle povídání je souhrnem techto poznámek. Není to kniha, není to ucebnice.
Pokud vám má být užitecná, vezte, že se predpokládá, že jste víceméne schopni linuxový server nainstalovat a nakonfigurovat taky, ale rekneme, že jste v techto dovednostech spíš zacátecníci. Pak pro vás tento manuál muže být dobrou pomuckou.
Nejsem génius, takže predpokládám, že nekteré veci se dají udelat jinak a i lépe než tady popisuji. Dejte mi prosím vedet, narazíte-li na neco, co není zcela O.K. E-mailovou adresu najdete na úvodní strane.
Neco do zacátku
Zadání - strucne
Škola chce mít vlastní internetový a intranetový server, kde by mohlo být úložište dat pro žáky a ucitele, e-mailové služby, webový server se stránkami školy a nástroje pro správu a údržbu.
Pripojení do Internetu se reší prípad od prípadu. Školy mají zpravidla pripojení pres sít Ceského Telecomu coby pozustatek po projektu Indoš.
Vnitrní sít bývá strukturována do podsítí opet dost ruzne prípad od prípadu. V našem rešení budeme vycházet z jednoduché varianty s jednou lokální podsítí.
Vše beží na jediném pocítaci, který plní funkce dataserveru, webserveru... firewallu a NATu. Vzácne se setkáme se situací, kdy budou k dipozici dva pocítace - jeden na data a jeden jako brána/firewall.
Hardware
Router / FireWall
V prípade samostatné brány/firewallu stací pro tento stroj jakákoliv starší mašina osazená min. dvema sítovými kartami, bez periférií (klávesnice, myš, monitor...). Tento stroj je tedy volitelný.
Hlavní pocítac - dataserver
Hlavní pocítac, který muže plnit i funkci výše zmíneného, by mel mít smerem do lokálních podsítí sítové karty minimálne 100MBs -- úložište dat na tomto stroji zarucuje silný sítový provoz. GBs sít nebude na škodu, ale není nutná.
Stroj by mel být osazen kvalitními harddisky s vysokou kapacitou, nejlépe SCSI, kvalitne vetranou skríní, vypalovaní mechanikou CD/DVD (kvuli zálohování). Výkon procesoru není kritický, velikost pameti ano. Takže víme, kde NEšetrit.
Software
Zvolená distribuce Linuxu
Po dlouhém premýšlení jsem vybral Debian Linux. Mezi linuxovými distribucemi jsem pro server nenašel konkurenci. Mimo Linux by urcite vyhovovalo jakékoliv BSD (FreeBSD, OpenBSD, NetBSD), ale s temi nemám zkušenost.
Pro výber distribuce jsem vyžadoval splnení kritérií:
* tradice
* široké zázemí vývojáru
* vcasné vydávání bezpecnostních updatu
* dostatecná šíre software
* záruka, že bude free i do budoucna
* záruka, že bude existovat do budoucna
Má nekdo lepší tip?
Co nainstalovat
Pri instalaci je lepší vybrat minimum vecí, jenom tak, aby systém fungoval a bylo možno jej dále upravovat. Teprve pak budeme pridávat další balícky. Kompletní seznam balícku, které obvykle používám je v príloze.
Hlavní serverové služby
Samba
Jedná se o souborový server. Ten umožnuje umístit na linuxový stroj data uživatelu, kterí pracující na stanicích s OS MS Windows. Rovnež se stará o prihlašování uživatelu do domény Windows, o jejich práva ap.
E-mail
Zde je použit smtp server Exim4, který umožnuje prijímat poštu z Internetu a rovnež poštu odesílat.
Pro uživatelský prístup k pošte tu jsou servery POP3 a IMAP z balíku Dovecot.
Rovnež muže být nainstalován webmail Squirrelmail, umožnující pracovat s poštou pres internetový prohlížec.
Príjemným rozšírením muže být odvšivení mailu: Antivirus ClamAV a antispam SpamAssassin.
Web server
Škola bude chtít provozovat stránky www ve své vlastní režii. Použit je web server Apache.
FTP server
Je potreba hlavne pro údržbu internetových stránek školy. FTP prístup mohou využívat i uživatelé pro prístup do svých adresáru na serveru (jako alternativa k Sambe). ProFTPD se ukázal jako dobrá volba.
SSH server
Je potreba pro vzdálenou správu serveru. Umožnuje se prihlásit na server jako uživatel, aniž by clovek u nej musel sedet. Jinou volbu než OpenSSH neznám.:o) V našem rešení je ssh použit pouze pro správu - normálním uživatelum je prihlašování odepreno.
Další serverové služby
Casový (NTP) server
Server má rád, když ví, kolik je presne hodin.
Pracovní postup nahrubo
Tady bych strucne vyjasnil, co všechno se bude muset udelat a v jakém poradí. Nejde jenom o instalaci software a jeho konfiguraci. Jde také o jednání se zákazníkem a jeho dalšími dodavateli.
Škola
Predevším se slušne predstavit a vysvetlit, co jim vlastne chceme nabídnout. Nezabíhat do technických detailu, nenudit. Budou mít vlastní web a mail. To poteší. Data na serveru už reditel školy zpravidla neocení - to si povídejme s místním administrátorem.
Ušetrí za MS Windows server. Pokud budou srovnávat cenu instalace Linuxu a cenu za nákup MS Windows serveru, podotkneme, že srovnávají špatne:
* Linux je zdarma a platí se za práci spojenou s instalací a konfigurací. Do budoucna bude systém prubežne aktualizován; prechod na novou verzi je bezbolestný.
* MS Windows Server se musí koupit. Instalace a konfigurace rovnež není zadarmo a za dva za tri roky budou stát pred otázkou, zda porídit drahý upgrade na novou verzi MS Windows Serveru.
Zjistit soucasný stav.
* Jaký HW chtejí použít na server.
* Jestli chtejí jen jeden stroj, nebo jestli mohou dát ješte jeden jako bránu/firewall.
* Kolik mají klientských pocítacu.
* Jak mají udelanou sít nyní. Ucebny, pocítace v kabinetech ucitelu,... Rozvody. Huby. (Mají-li nakreslené schéma, bude se nám hodit.)
* Kdo je pripojuje do Internetu, jaké nabízí možnosti z hlediska provozování vlastního
internetového serveru (hlavne soukromá IP a schopnost vytvorit PTR záznam v DNS).
* Jaké budou chtít mít doménové jméno.
U vetších sítí bude potreba i uvnitr školy udelat router, který umožní rozdelit školu na podsíte a smerovat provoz mezi nimi. Takže to by byl už tretí stroj (možná bez disku, o to více sítovek :o) O tomto rešení se v tomto elaborátu nezminuji.
Provider pripojení
Nestací jen pripojení smerem ven. Škola bude provozovat i vlastní webové stránky, mail server a pro údržbu bude potreba ssh server. K tomu všemu je nutná verejná IP adresa. Muže jí provider poskytnout?
Dále, dle norem, musí být k IP adrese veden v DNS tzv. reverzní PTR záznam. Umí to provider udelat?
Kvalitní provideri nabízejí i SMTP server pro odesílání pošty z naší síte (nebudeme potrebovat) a dva DNS servery pro vyrizování DNS dotazu (budeme potrebovat).
Každopádne ješte zjisteme další možné providery pro danou oblast. Cenové porovnání muže na zákazníka udelat dojem.
Drobná zkušenost ze škol po Indoši: Telecom má pomerne komplikované rešení, které
udržuje zákazníky v privátní síti 10.x.x.x. Tato sít je delena dost složite do
podsítí, které nekoncí na celých bajtech... Verejná IP existuje a je transparentne
smerována na privátní IP adresu. Telecom používá vlastní firewall, což delalo problém,
když bylo potreba otevrít porty.
Vím o škole, která z tohoto prátelského sevrení odešla, našli si nového providera,
platí si pripojení ze svého (kdo zustane u Telecomu, má to placené ministerstvem,
to jste nevedeli?) a jsou v pohode.
Registrace domény
Registrátoru je pomerne hodne. Takže koho vybrat?
* Mel by umožnovat registraci pres webový formulár.
* Dále by mel umožnovat rucní editaci DNS záznamu.
* Komunikace s administrátory by nemela být na dlouhé lokte.
* Nemel by zrízení domény vázat na další služby (napr. webhosting), které nepotrebujeme.
Mne se osvedcil pes.cz. Zná-li nekdo další, at dá vedet.
Instalace a konfigurace serveru
Teprve jako poslední bod prichází príjemné introvertní uzavrení se do laboratore a nastavování serveru. Behem této práce bude ješte urcite dobíhat komunikace z predchozích bodu. Takže nezacínat serverem, ale vecmi, které závisejí (bohužel) na dalších stranách.
Konfigurace pracovních stanic
Školy obvykle chtejí i nadále provozovat MS Windows. Pro práci v doménách je ideální použít MS Windows XP Professional. Další, o neco horší varianta je použít Windows 98. XP Home domény neumejí ani jako klient!
Škola podruhé: Nabídka dalších možností
Urcite nabídneme nainstalovat Linux i na pracovní stanice vedle MS Windows (že by nekdo chtel MS-Win úplne pryc jsem ješte neslyšel - ostatne žáci se seznámit s MS-Win musí:).
Nabídneme školení administrátora. Asi z nej neudeláme Linux Guru, ale pár základních vecí ohledne fungování Linuxu by mel znát aspon na uživatelské úrovni. Mel by taky umet spravovat uživatelské úcty.
A také nabídneme technickou podporu za mesícní poplatek. Aktualizace SW, kontrola logu, ladení antispamu,... duvodu je dost.
Instalace serveru
Instalacní média
Pro instalaci použijte CD Grumpa.net Server. Jedná se o originální Debian Linux verze Stable, ale nachází se na nem jen to, co potrebujete k rozchození serveru (plus pár drobností navíc od nás).
Mužete rovnež použít prímo originál CD Debianu; jen budete muset mít tech CD víc. Stejne tak mužete instalovat z ftp archívu ap. CD Grumpa.net Server prináší hlavne tu výhodu, že to máte všechno v kupe, vcetne tohoto návodu ap. Navíc jeho koupí podporíte tento projekt, že? :o)
CD Grumpa.net Server si mužete objednat na [[3]], nebo na [[4]]. Nebo si mužete ze stránek [[5]] stáhnout jigdo soubor a CD si vyrobit pomocí jigdo. Bližší informace o jigdo si prectete na [[6]]. Možnost stažení prímo iso obrazu CD Grumpa.net Server v dobe psaní tohoto textu nebyla. Kouknete na grumpa.net, jestli se to nezmenilo.
Prubeh instalace
Celý instalacní proces Debian Linuxu je podrobne popsán v instalacním manuálu, který najdeme bud na CD, nebo na internetových stránkách [Debianu [7]]. Proto ho zde nebudu popisovat, jen se podelím o pár zkušeností.
Úvodní menu
Pri startu instalace je možné vybrat z nekolika režimu. Urcite si vybereme režim expert. I když se tak treba necítíme, je to lepší - instalátor se víc ptá, takže bude méne nastavování po skoncení instalace.
Pokud jde o verzi linuxového jádra. Debian Sarge nabízí jak jádro rady 2.4, tak rady 2.6. Osobne zustávám konzervativnejší a používám na serverech jádro rady 2.4. Verze 2.6 nám toho moc navíc nenabídne. Snad jen ovladace k novejšímu hardwaru, které se najdou spíš u jádra-2.6 nás mohou presvedcit o použítí této novejší rady.
Dále máme možnost zadat parametry jádru (stisknete F1). Vetšinou nejsou potreba.
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 cas instalace. Jaké jádro bude použito na produkcním systému se vybírá pozdeji pri instalaci.
Rozložení klávesnice
Vyberte typ PC, i když máte USB. Bude fungovat a navíc vám bude následne nabídnuta i správná ceská klávesnice (u volby USB buhvíproc není).
Nastavení síte
Tady asi odmítneme automatickou konfiguraci pres DHCP a nastavíme parametry rucne. Jená se o IP adresu (vnejšího rozhraní - vnitrní se nastaví po instalaci), sítovou 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 vyrešenou ješte pred zacátkem instalace (dá se zmenit i dodatecne, ale jsou to zbytecné komplikace). Zadává se nadvakrát: Jméno a doména. Takže pro tento pocítac budeme potrebovat nejaké jméno v doméne nase-skola.cz. Treba 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. Rozdelení pevného disku
Samotný systém toho moc nezabere. Prevážnou vetšinu prostoru sežerou data uživatelu.
Pri rozdelování je rovnež treba 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 treba neovládá (jen jeho predchudce ext2, ale tomu se radeji vyhneme). Rovnež velmi oblíbený ReiserFS hlídání kvót nenabízí. Z bežne dostupných jsem vybral xfs. Použijeme ho na uživatelské adresáre v /home a na adresáre s e-maily /var/mail.
Souborové systémy volím takto:
xfs tam, kde je potreba zapnout kvóty ext2 na boot - tedy adresár jehož obsah se nemení reiserfs všude jinde ext3 nepoužívám. Je proti reiserfs o neco pomalejší a proti nemu trochu ztrácí pri ukládání velkého množství malých souboru - což je typický unixový systém. Umí ale ACL - rozšírené možnosti nastavování práv a vlastnictví k souborum a adresárum. ostatní s jinými jsem zkušenost nenabíral.
Pro predstavu o potrebe prostoru: Dva týdny po nainstalování systému byly jednotlivé diskové oddíly obsazeny takto:
Filesystem Využito Pripojen 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, korenový systém spotreboval necelý 0,5 GB, a to tu je i /usr! Boot je tradicne malý. Pokud budou uživatelé využívat databáze, jejichž úložište bývá ve /var/lib, pak se tento adresár muže taky dobre nafukovat a stojí za úvahu, zda / nezvetšit, nebo zda pro /var/lib nevytvorit další speciální diskový oddíl. Rovnež /var/cache,... Ale dost kouskování. Nejlépe bude nechat vše v /, a jen ho proste udelat vetší. Treba 5GB.
Dále si všimneme samostatne vycleneného adresáre na systémové logy /var/log. Behem tech dvou týdnu ladení serveru se trochu nafoukly, ale porád to je nejakých 57MB. Necháme-li na logy 1GB, opet to bude stacit s dost velkou rezervou.
Zvlášt vycleníme i /tmp. Jeho rozsah nebývá znacný, ale dost "dýchá", takže nejaká rezerva tu je také nutná. Opet dávám 1GB.
Zbytek disku venujeme na uživatelská data: /home a /var/mail. Svou velikost hodne budou menit, a to výhradne smerem nahoru. Naštestí tu vetšina souboru bude mít svého vlastníka z rad normálních uživatelu, takže si pomuž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 poctu uživatelu. Pak je to už malá násobilka: Pocet uživatelu krát maximální velikost prostoru, který jim chceme dát. Pricteme prostor pro privilegované uživatele (na škole to budou ucitelé) a prostor pro obecná sdílení - napríklad adresár, kde bude úložište programu pro pracovní stanice. Dvakrát mer jednou rež!
/var/mail dimenzujeme podobne. Kolik asi je snesitelný objem e-mailu v jednom inboxu? Nekterí lidé si fakt nedají ríct a archivují stovky e-mailu vcetne príloh, casto dost znacné velikosti. Tady je treba lidem hodne vysvetlovat. Nekterí to nepochopí nikdy...
Mám-li to tedy nejak shrnout, tak na /, /boot, /tmp a /var/log dáme 4x1GB a zbytek disku rozdelíme mezi /home a /var/mail. Kolik bude uživatelu nám napoví, zda 100GB disk bude moc, nebo málo.
Po prvním nastartování - úvodní konfigurace
Úvodní dotazy v menu jsou dost jasné (jazyk, casové pásmo, lokální cas)
Nastavit uživatele a hesla
Povolíme stínová hesla, zadáme heslo pro superuživatele root (zatím nejaké jednodušší, budeme ho ted casto zadávat). Dále pridáme úcet pro bežného uživatele (dávám mu jméno bfu :o). Tento úcet budeme v budoucnu používat pro príjem systémové pošty a také to bude jediný uživatel s právem vzdáleného prihlašování do systému. Takže ho urcite vytvoríme už nyní.
Nastavit jméno pocítace
Ackoli jsme ho zadávali už pri instalaci, tady se nás to ptá znovu. Na rozdíl od instalace je tady potreba zadat jméno celé! Tedy srv.nase-skola.cz.
Nastavit apt
Na první dotaz "Prístup k archívum" vybereme CD-ROM (musíme ho mít zasunuté v mechanice, jinak bude hlásit chybu).
Pak jsme dotázáni, zda pridat nejaký další zdroj dat. Doporucuji pridat 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 pridat i zdroj bezpecnostních oprav na http://security.debian.org/ . Zadáme samozrejme Ano.
Vybrat a nainstalovat balíky
Tohle ted preskocte. V tuto chvíli máme nainstalovaný základní systém. Po prvním prihlášení (za chvíli) si provedeme doinstalaci základu serveru sami.
Nastavit poštovní server
Dostaneme tyto otázky a dáme tyto odpovedi:
1. Rozdelit konfiguracní soubory? Ne.
2. Model poštovního nastavení: Internet
3. Poštovní jméno pocítace: nase-skola.cz
4. IP adresy, na kterých se mají ocekávat príchozí smtp spojení: Mužeme nechat prázdné, pak to bude fungovat pro všechny. Nebo je vyjmenujeme (oddelíme dvojteckou): 127.0.0.1:192.168.1.1:194.36.15.21 - lokální i internetové.
5. Další místa urcení, pro která akceptujeme poštu: Nechat prázdné - tedy pouze pro naši doménu (viz Poštovní jméno výše).
6. Domény, pro které predávat poštu: nase-skola.cz
7. Pocítace, kterým predávat poštu (relay): 192.168.1.0/24:192.168.2.0/24
Následuje dotaz na príjemce (systémové) pošty pro uživatele root a postmaster. Zadáme tam toho bfu, kterého jsme pred chvílí nechali vytvorit.
Samozrejme si odpovedi upravte podle vašich konkrétních podmínek.
program base-config
Práve jsme prošli menu pro základní nastavení systému. Budeme-li se chtít k tomuto menu nekdy vrátit, použijeme príkaz:
# base-config
Ukoncit nastavení základního systému
Takže ted menu opustíme a poprvé se prihlásíme do nove nainstalovaného systému jako root.
Nastavení systému po instalaci
Ceská konzole
Nastavuje se zvlášt klávesnice a obrazovkové fonty
Klávesnice
Definice je uložena v souboru:
/etc/console/boottime.kmpap.gz
Soubory s definicemi jsou v adresári:
/usr/share/keymaps/i386/qwerty
Odsud vezmeme `cz-lat2.kmap.gz` a zkopírujeme na správné místo (nejdríve si ale pro jistotu zazálohujeme puvodní 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
Definice je uložena v souboru:
/etc/console-tools/config
Ten si na konci udelá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 krome správného kódování ceštiny zajistí i zapnutí NumLocku pri startu pocítace. No a ješte si to rovnou zapneme:
/etc/init.d/console-screen.sh
Instalace základu serveru
Máte-li CD Grumpa.net Server, dejte ho do mechaniky a provedte následující príkazy:
# mount /cdrom
# cd /cdrom/Grumpa.net/
# apt-get install $(cat grumpa.net-sarge-zaklad)
A je to. Spustí se instalace balícku podle seznamu v souboru na CD. Behem instalace budeme bobmardováni otázkami, jejichž rešení najdeme v následujícím textu.
Nemáte-li toto CD, je treba si seznam balícku stáhnout predem z http://grumpa.net/. Mužete si je zkusit stáhnout i ted:
# wget http://grumpa.net/works/soubory/server/grumpa.net-sarge-zaklad
Seznam balícku se stáhne do aktuálního adresáre. Ted už stací zadat jen výše uvedený apt-get.
Po spuštení apt-get udelá pár testu a pak zacne tvrdé dotazování:
FireWall IPMasq
Se nás ptá anglicky:
Should PPP connections recompute the firewall? Odpovíme Ne, protože ppp spojení nebudeme vubec používat (nebo máte server za vytácenou linkou?).
Dál je tu upozornení, že kdybychom preci jen chteli, jak si muž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. Mužete si z nejakého pocítace na vnitrní síti zkusit nacíst internetové stránky. Melo by to už ted bežet. :o)
ClamAV
1. Má aktualizátor virové databáze bežet jako: démon, if-up/down, cron, manual? Z vysvetlivek je jasné, že budeme chtít první volbu - démon pro prubežnou aktualizaci.
2. Vybrat nejbližší zrcadlo pro stahování. Je tam i Cesko, takže si ho vybereme.
3. Adresu prípadného proxy serveru. Ten v našem rešení nepoužíváme, necháme tedy prázdné.
4. Má být po aktualizaci databáze démon clamd upozornován, aby si jí okamžite precetl? Ne. Antivir nepobeží v režimu démona, ale bude spoušten ad hoc MailScannerem, tudíž není koho upozornovat.
Gpm - myš v konzoli
Nekdo to možná zavrhuje, ale já mám myš rád. Program gpm umožní delat operace copy/paste i v konzoli pomocí myši, vcetne prenášení schránky mezi virtuálními konzolami.
Dotazy:
* Spustit i když beží X: Ano (X stejne nepobeží

* Pamatovat si nastavení? Ne - pri prekonfiguraci chceme, aby se nás ptal znova.
* Které zarízení myši používat: (nabídnuté by melo vyhovovat). /dev/psaux u PS/2 myší.
* Typ myši:
Nejbežnejší typy:
imps2 - ps2 myš s koleckem
ps2 - ps2 myš bez kolecka (obvykle dvoutlacítková)
ms - myš se sériovým pripojením
bare - dtto ms, ale nesimuluje prostrední tlacítko
Nabízená možnost autops2 mi trochu blbnula. Ale treba zrovna vám pujde dobre. Každopádne mužeme chybná nastavení v budoucnu zmenit.
Nekdy se myš "zblázní" (až se to stane, poznáte to:o). Uklidníte jí restartem gpm:
/etc/init.d/gpm restart
Blbne-li casto, je to možná tím, že jste zadali špatne typ myši. Použitelné typy zjistíte príkazem:
# gpm -t help
Pak stopnete gpm démona a spustte rekonfiguraci:
# /etc/init.d/gpm stop
# dpkg-reconfigure gpm
a zadejte správné údaje.
Jak gpm s myší funguje
Pracuje to tak, že se stisklým levým tlacítkem prejedte pres 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 prostredního tlacítka u trítlacítkové myši (tj. i koleckem), nebo pravým tlacítkem u dvoutlacítkové myši. Text se vloží do místa, kde bliká klávesnicový kurzor. Nikoli tedy do místa kam kliknete! Je tedy úplne jedno kde kliknete - záleží pouze a jedine na poloze klávesnicového kurzoru (ale to už jsem ríkal:o).
FTP server ProFTPd
Zde je jediný dotaz - zda ho spouštet jako démona ci pres inetd. Dávám inetd, protože ftp provoz bude témer stále na nule, takže proc nechávát v pameti strašit nejakého démona, že?
Nastavení Quota
Dotazy:
* Posílat uživatelum upozornení na prekrocení kvót? Ano
* E-mailová adresa správce: [root@nase-skola.cz]
* Telefonní císlo správce:
Tyto dva kontakty budou uvedeny v e-mailu, který systém automaticky posílá uživatelum, kterí prekrocili soft-limit pro ukládání svých dat.
Nastavení Samba serveru
Tím se budeme podrobne zabývat pozdeji. Ted ale musíme odpovedet 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štet Sambu: Jako démony
* Vytvorit databázi hesel? Ano Vytvorí soubor /var/lib/samba/passdb.tdb
Ispell dictionary
Nebudeme asi potrebovat, ale v základní instalaci je. Takže jednoduše všude odpovíme "american". :o)
Slovník pro ceštinu na Debian Sarge není. Dá se doinstalovat. To muže mít smysl, budeme-li používat webmail squirrelmail, který kontrolu pravopisu nabízí. Ale jelikož maily casto píšeme bez hacku a carek, je nám tato kontrola stejne vetšinou k nicemu.
Hotovo
Tím festival dotazu koncí. Následující konfigurace si budeme už spouštet sami, takže to bude víc v klidu.
Nastavení textového editoru
V Linuxu je zvykem, že veškeré konfigurace se ukládají do textových souboru v adresári `/etc`. Zmena nastavení se provádí editací techto souboru. Na to budete potrebovat nejaký textový editor. Doporucuji se casem seznámit aspon povrchne s klasickým unixovým editorem `vi`. I když ho asi nebudete používat (má dost neobvyklé ovládání), styl jeho príkazu používá i rada dalších programu (treba znak / pro spuštení vyhledávání).
Debian ve standardní instalaci nabízí ješte jednoduchý textový editor `nano`. Já osobne dávám prednost editoru `joe`. V príloze s konfiguracními soubory najdete i mnou upravený `/etc/joe/joerc`, který oproti výchozímu nastavení neláme rádky a nedelá automatické záložní kopie~. Snad do zacátku pomuže, že nápoveda se vyvolá ctrl/kh.:o)
Vybrat si samozrejme mužete cokoliv jiného. Nabídka je široká.
Midnight commander - souborový manažer
Doporucuji si zapnout v nastaveních/konfiguraci "Lynx-like pohyb", který umožnuje otevírat adresáre pomocí šipky vpravo a opouštet je šipkou vlevo. Na tohle si rychle zvykne každý.:o) (Nezapomente si nastavení uložit: F9/Nastavení/uložit Nastavení).
Další nenápadnou pomuckou je klávesová zkratka M-o (levý Alt-o), která v druhém okne nastaví stejný adresár, jako je v aktivním okne.
Midnight commander nabízí i dost intuitivní textový editor (copy/paste pomocí myši funguje se soucasne stitnutou klávesou shift).
Rovnež oceníme schopnost práce se vzdálenými stroji, at už pres ftp, ssh, nebo Sambu.
Jinak si prectete vestavenou nápovedu. Je opravdu co císt.:o)
rucní pridávání / odebírání balícku
Debian používá pro správu balícku celkem namakaný systém.
apt - zdroje balícku
Vetšina debianích programu, které manipulují softwarovými balícky využívá databázi zdroju apt. Tu najdeme v souboru:
/etc/apt/sources.list
Tyto zdroje, jak je zrejmé, popisují odkud mají instalacní programy balícky brát.
Behem instalace jsme meli možnost vybrat jeden hlavní zdroj, zpravidla CD. Do sources.list Mužeme pridat i další (rucne):
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í rádek byl rozdelen, aby se to sem vešlo. V souboru ho zase spojte.
Ješte jedno místo stojí z pozornost:
/var/cache/apt
Sem si aptoidní programy ukládají balícky stažené z Internetových zdroju, které jste chteli instalovat. Viz dále apt-get.
aptitude
Je velmi pohodlný program pro správu softwarových balícku pro konzolové prostredí.
Program `aptitude` nabízí vyhledávání v seznamech balícku. Delá se to stiskem "/" - lomítko (stejne jako ve všech vi-like programech). Objeví se rádek, do kterého mužeme napsat jméno, nebo cást jména, nebo regulární výraz. Nabízí se i pár dašlích vypeceností - viz dokumentace.
Když píštete do okénka, hned se hledá. Standardne se prohledávají názvy balícku. To co píšete se vyskytuje nekde uvnitr názvu. Takže "apach" muže zobrazit balícky "Apache", ale i "libapache",... Trváte-li na tom že název musí zacínat tím, co píšete, napište jako prvni znak stríšku "^apach". Pak se najde "Apache", ale "libapache" ne.
Mužete vyhledávat nejen v názvech, ale i v popisech balícku. Pak do vyhledávacího okénka napište nejdríve "~d". Zápis "~dapach" tedy bude nabízet balícky, 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štestí), mužeme použít program `synaptic` - grafická obdoba `aptitude`. Nahlédneme-li do dokumentace obou programu, zjistíme, že ten grafický je jen slabým odvarem toho konzolového. Jako obvykle.
apt-get
Další možností je použít klascký príkaz `apt-get`. Zvlášte v hotovém systému je príma udržovat vše aktuální pomocí této trojice príkazu:
# apt-get update
# apt-get upgrade
# apt-get autoclean
První si zaktualizuje databázi balícku, druhý provede aktualizaci software (nainstaluje nové verze balícku). Protože používáme verzi Debianu "stable", nemusíme se bát, že se toho bude stahovat moc. Pujde vlastne jen o bezpecnostní aktualizaci. Tretí príkaz odstraní z cache zastaralé balícky.
dpkg
Dál tu máme príkaz dpkg, který pracuje na nižší úrovni než apt-get. Umožnuje napríklad nainstalovat balícek, který jsme si stáhli odjinud, než z debianích zdroju:
# dpkg -i jmeno-souboru-s-balickem.deb
dále nabízí možnost vypsat si seznam nainstalovaných balícku:
# dpkg -l
vypsat seznam souboru konkrétního nainstalovaného balícku:
# dpkg -L aptitude
vypíše obsah balícku aptitude - všimneme si, že se zadává jen první cást jména balícku.
Znovuspuštení konfigurace balícku
Pri instalaci si všimnete, že nekteré balícky se vyptávají na výchozí nastavení, jak si ho prejeme. Potrebujeme-li tuto základní konfiguraci zopakovat, použijeme príkaz:
# dpkg-reconfigure jmeno-balicku
Framebuffer pro konzoli
Lépe se nám v konzoli bude pracovat, využijeme-li možnosti zvetšit si rozlišení monitoru. To se zajistí parametrem pro jádro vga=nnn. Výchozí nastavení je vga=normal, to zajištuje rozlišení 25 rádku a 80 znaku v rádku. Zmena nastavení se projeví po restartu pocítace.
<:>vga <:>body <)>sl.xrá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
Otevreme /boot/grub/menu.lst, najdeme rádek "kernel" a pridáme (treba na konec) onen kouzelný parametr. Takže ten rádek pak muže vypadat treba takto:
kernel /boot/vmlinuz-2.6.8-2-686 root=/dev/hda3 ro vga=791
lilo
V obecné sekci souboru /etc/lilo.conf (první cást) najdeme a upravíme rádek:
vga=791
LogWatch - výpisy logu
Systém, jakož i rada programu vypisuje zprávy o své cinnosti do systémových logu, které najdeme v
/var/log
Studovat bychom je meli nejlépe denne. Zprávy v techto souborech jsou razeny chronologicky, takže je težké se v nich oreintovat. Proto vznikly programy na analýzu logu. 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 skutecnosti dostane uživatel, kterého jste pri instalaci urcili jako príjemce e-mailu roota). V tomto e-mailu je vše usporádáno prehledne podle služeb, které do logu provádely zápisy.
Príjemné poctenícko! :o)
Hlavní serverové služby
Quotas - hlídání obsazeného prostoru
Systém quotas umožnuje nastavit pro jednotlivé uživatele, kolik mohou maximálne obsadit diskového prostoru. Je možno nastavit limit pro objem dat a pro pocet souboru. My vystacíme s hlídáním objemu.
Jsou tu tri duležité parametry:
soft limit
ríká, kolik místa muže uživatel obsadit. Tento prostor je možno docasne prekrocit až po
hard limit
Ten je o neco vetší než soft limit a je maximální, neprekrocitelnou mezí.
grace time
nastavuje cas, po který je prekrocení soft limitu tolerováno. Výchozí nastavení je jeden týden.
Krome prubežného hlídání, systém quotas pravidelne spouští test na prekrocení soft limitu a sám automaticky pošle varovný e-mail uživatelum, kterí jsou pres.
Predpoklady
Hlídání uživatelských kvót má svoji podporu v linuxovém jádru. Ale aby to mohlo fungovat, budete muset ješte 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 - rozdelení disku. Vybrali jsme souborový systém `xfs`.
Kvótování je treba nastavit v `/etc/fstab` tak, že pridáme parametr `usrquota`. Príslušné rádek v tomto souboru pak budou vypadat nejak takto:
/dev/sda3 /home xfs defaults,usrquota 0 2
Po úprave fstab je nutné príslušný filesystém odmountovat a znovu namountovat.
Dále je potreba nainstalovat balícek `quotatool`, který obsahuje príkazy pro nastavování a kontrolu kvót.
Vlastní hlídání kvót se zapíná standardním zpusobem:
# /etc/init.d/qouta start
Pri startu systému se to samozrejme zapne samo.
Nastavení kvót
Pokud budete pridávat uživatele pomocí dodávaného programu `ug-start.sh`, pak se kvóty budou nastavovat automaticky podle hodnot uvedených v konfiguracním souboru tohoto programu - viz. kapitola venující se tomuto programu.
Pridáváte-li uživatele rucne, nebo chcete-li limity zmenit, použijte príkaz:
setquota franta 50000 60000 0 0 /home
Tedy rí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ší dve nuly ríkají že pocet souboru nebude omezován.
V našem rešení ješte 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 delá:
# 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. Opet hlídáme limity pro objem (první císlo) a pro pocet souboru. Hodnota se zadává ve vterinách, nula znamená "neomezene".
Pokud pridáváme další uživatele, mužeme si ušetrit práci pomocí príkazu
edquota -p franta milos anicka bejby kozlik
To ríká, aby se uživatelum milos,... nastavily kvóty podle uživatele franta.
Informace o obsazení prostoru si muže root zjištovat príkazem `repquota`. Zadá-li se parametr `-v`, dozví se toho ješte víc.
A samozrejme dokumentace a manuálové stránky.
Jen ješte jednu informaci. Chcete-li nekoho neomezit, nastavíte mu kvóty na 0. Nula znamená "neomezene".
Správa uživatelu a skupin
Deláme to pro lidi, že? Tohle byl dost kritický moment, protože školy potrebují správu skupin a uživatelu provádet ve vlastní režii, ale nemají administrátory, kterí by ovládali Linuxové systémy. Vyrešil jsem to napsáním skupiny skriptu, které nabízejí systém menu v prostredí konzole (program Dialog), takže není nutné delat to úplne rucne.
Pro zacátek si ale zkusme predstavit, že by se to rucne delat muselo, aby bylo jasné, co ty skripty delají.
pojmenovávání skupin
Usporádávat uživatele do skupin možná není tak úplne nutné. Vystacili bychom možná s jedinou skupinou `users`. Debian má ve zvyku vytvorit každému uživateli stejnojmennou skupinu a zaradit ho do ní (uživatel franta, skupina franta). Nicméne škola je clenena do rocníku a tríd a my to zohledníme, protože nám to usnadní práci s tem, kdo hromadne školu opustí po deváté tríde.
Navrhuji systém skupin, kde co trída do skupina. Skupiny mají jméno podle roku, kdy do školy prišly, doplnené písmenem trídy. Takže takhle:
název skupiny: z1998b
z jako žáci
1998 - rok nástupu (tedy 7. rocník v roce 2005)
b - 7.B
Další skupiny si mužeme samozrejme vymyslet pro ucitele a pro personál. Budeme-li potrebovat pracovat s celou skupinou naráz, jednoznacné pojmenování nám hodne pomuže.
pojmenovávání uživatelu
Jméno uživatele je soucasne jménem domovského adresáre, který bude videt jak z Linuxu, tak MS Windows. Také je jménem poštovní schránky. Z toho vyplývá, že by melo být bez diakritických znamének.
Další duležitá vec je, že jméno uživatele musí být uvnitr celého systému jednoznacné - a to i napríc skupinami. Nemohou být dva uživatelé téhož jména. Na to je potreba dát pozor zvlášte pri hromadném vkládání uživatelu. Duplicitní uživatel pridán nebude, protože to proste není možné.
domovské adresáre
Pro prehlednost doporucuji seskupovat uživatelské adresáre do adresáru s názvy skupin takto:
```/home/z1998b/fr.horak/
rucní pridávání
Naštestí nebude potreba, protože máme zmínený `ug-start.sh`, ale pro predstavu: Uživatele je potreba pridat do systému a pridelit mu heslo pro prihlašování. Je treba vytvorit skupinu, pokud ješte neexistuje. Je potreba pridat uživatele do `samby` a také mu musíme nastavit diskové kvóty.
Rucní 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 težkou práci stroje.
program ug-start.sh
Nabízí správu skupin a uživatelu pomocí menu. Umožnuje vytváret, mazat, prejmenovávat a vypisovat skupiny. Dále vytvorit uživatelský úcet, pricemž skupinu vybíráme z menu (nemusíme si jí pamatovat). Uživatele pridá do obou systému (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ári 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áre skupiny a uživatele, rozsah císel skupiny a uživatele a výchozí velikosti pro systém kvót. Je tam ješte pár dalších vecí, ale do tech zasahovat nebudeme.
Uvedené parametry mužete upravit podle vašich potreb - treba mužete pridelit vetší prostor pomocí kvót.
Nastavení, která nebudou jednotlivým uživatelum vyhovovat, mužeme zmenit dodatecne rucne. Mám na mysli hlavne kvóty, které mohou ve vetšine prípadu vyhovovat (pro žáky), ale nemusí se líbit nekterým ucitelum. 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 forme tar balícku, který si vybalíme, nejlépe do podadresáre v adresári `/root/`.
DNS a DHCP
Obe tyto služby vyrešíme jedním balíckem s názvem `dnsmasq`. Funguje jako DNS cache i jako DHCP server. A hlavne je dost jednoduchý.
DNS
DNS (Domain Naming System) je služba, která prevádí doménové názvy na Internetu na jejich IP adresy. Doménová jména používají lidé, IP adresy používají pocítace mezi sebou. Zhruba receno.
DNSmasq není plnohodnotný DNS server, ale jen cache. Kešuje DNS dotazy, které z vnitrní síte vysílají prohlížece Internetu. První dotaz na nejakou doménu program ješte neumí odpovedet, takže se zeptá nadrízeného DNS serveru. Následující dotaz na stejnou doménu je už vyrízen z keše, tedy podstatne rychleji.
DHCP
DHCP server slouží k poskytování informací o síti pocítacum, které nemají pevnou konfiguraci síte. Takový pocítac muže vyslat do síte dotaz na DHCP server a ten mu potrebné údaje pošle. Mezi tyto informace patrí predevším: IP adresa pro dotazující se stroj a príslušná maska síte. Dále je to adresa DNS serveru, název domény v níž se stroj nalézá, prípadne další informace.
My budeme používat kombinované rešení: Stálé pocítace budou mít pevne nastavenou sít. DHCP server pak bude pridelovat IP a další veci pocítacum prenosným. Samozrejme je možné nechat všechny pocítace v síti konfigurovat pomocí DHCP. Je to snazší pro zacátek. Pro diagnostiku problému v síti je to ale už o neco horší. Takže si vyberme.
Doporucuji nechat DHCP serveru pridelovat IP adresy z rozsahu rekneme 30-99. Adresy 100-250 nechat pro pevne nastavené stroje. Adresy 1-29 a 251-255 pak rezervujeme pro servery ap. Pro pracovní stanice s používat nebudou. Uvedená císla jsou mínena jako poslední císlo v IP adrese ze síte 192.168.x.y. Je to tedy to y. X je císlo síte - obvykle 1, pokud nemáme podsítí více.
Nastavení
Nastavení je provádeno pomocí konfiguracního souboru `/etc/dnsmasqconf`. Tento soubor je opatren kvalitními komentári. 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štují, že dnsmqsq nebude predávat nadrízeným DNS serverum dotazy ne neúplné názvy domén.
Další parametr ríká, že požadavky budou vyrizovány na všech sítových rozhraních, vyjma `eth0`, což je rozhraní, které vede za síte ven. Zbytku Internetu DNS a DHCP serverem být opravdu nechceme.

Následující parametr ríká, aby k názvum bez domény bylo automaticky pridáváno jméno naší domény - viz další parametr.
Další dva rádky pridelují rozsah IP adres pro dve podsíte. Pokud jde o nadrízené DNS servery, ty si DNSmasq zjištuje ze standardního souboru `/etc/resolv.conf`.
resolv.conf
Ten by mel vypadat nejak takto:
domain nase-skola.cz
nameserver 127.0.0.1
nameserver 194.228.105.33
nameserver 194.228.105.34
Ríká, aby požadavky na vyrízení DNS dotazu byly nejdrív vyrizovány tímto strojem (adresa 127.0.0.1), pak budou žádány nadrízené DNS servery. Jejich adresy nám sdelí provider pripojení.
NAT a Firewall
Opet jsem použil jednoduché rešení, balícek `ipmasq`, který je postaven na `iptables` - standardním firewallu pro Linux. Program `ipmasq` nabízí predevším NAT - preklad adres, tzv. "maškarádu", což umožnuje pocítacum na LAN videt do Internetu, avšak pocítacum z Internetu je vnitrní sít neviditelná.
Po naistalování je `ipmasq` okamžite funkcní. Sám si totiž dovede podle nastavení síte odvodit, jak má pracovat. Do jeho nastavení tudíž není nutno zasahovat. Dokonce i v prípade, že je na serveru víc sítových rozhraní než dve. Dokonce se správne nakonfiguroval i na stroji, kde všechny tri sítové karty vedly do privátních adresních prostoru!
Bez další konfigurace máme tedy okamžite funkcní NAT.
Pokud potrebujeme firewall, i tady nabízí `ipmasq` rešení. Musíme se ale podívat do dvou duležitých adresáru:
/etc/ipmasq/rules
kde jsou nastavena pravidla. Jsou to vlastne skripty, spouštející `iptables`.
/usr/share/doc/ipmasq/examples/stronger
V `examples` jsou - jak název ríká - ukázky dalším možných pravidel. My si zkopírujeme soubory I80*,A80* a O80* do toho prvního adresáre. Pak si otevreme ten jehož název zacíná A80 a všimneme si rádky:
EXTERNAL_TCP_ALLOW="ftp ssh www pop3 smtp imap https imaps pop3s"
V ní pridáme/ubereme služby, které chceme mít viditelné z vencí, z Internetu. Možná si tu všimneme vety, abychom názvy protokolu nenahrazovali jejich císly, protože to muže vést k problémum. Takže tu bude http, a ne 80, atd.
Zmeny otestujeme po restartu ipmasq
/etc/init.d/ipmasq restart
odnekud zvencí. Programu je na to dost. Nejjednodušší pro Linux bude asi nmap:
# nmap nase-skola.cz
6.5. Samba fileserver
Samba je program, který umožnuje linuxovému stroji vystupovat v sítích Microsoft a tvárit se, že na nem jedou MS Windows. Umí tedy vytváret sdílené složky, ale umí toho postatne víc.
Poznámka: Samba patrí k tomu složitešímu, co nás potkává. Nejsem samba-guru, proto vdecne prijmu jakékoliv pripomínky ci vysvetlení. Díky. Pridám je sem.:o)
My využijeme Sambu jako doménový radic. To nám umožní mít centralizovanou správu uživatelských úctu na linuxovém serveru. To znamená, že uživatelé, kterí se budou prihlašovat na stanicích s MS Windows, budou overováni na linuxovém serveru. Na tomto serveru rovnež budou mít úložný prostor pro svoje data.
Dále budou na serveru vytvorena obecne prístupná sdílení:
programy kde budou programy pro MS Windows stanice, které budou soucá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í. Ucitel si je odsud pak muže kopírovat kamkoliv jinam.
Samba je pomerne rozsáhlý systém, o kterém vyšla i kniha. Doporucuji ji mít.
6.5.1. Konfigurace serveru
Konfigurace se nastavuje v nekolika souborech. Tím hlavním je:
/etc/samba/smb.conf
Jeho obsah si ted po cástech vypíšeme a rozebereme:
[global]
netbios name = dataserver
workgroup = obecna
server string = Debian Linux - Samba fileserver
Takže jsme rekli, kdo jsme. Workgroup funguje i jako jméno domény.
wins support = yes
dns proxy = no
name resolve order = wins host bcast
Povolili jsme prevod jmen na IP adresy pomocí wins databáze. Pokud vyhledávání ve wins neuspeje, použije se soubor /etc/hosts, jako poslední možnost je broadcast, což je nejjistejší, 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ítových rozhraních interfaces. Prihlašovat se mohou stroje (hosts allow) s uvedenými IP adresami ci jmény. Mužeme tu zadat i celou sít, jako je to v uvedeném prípade, což nám umožní nezadávat všechny pocítace po jednom. Kdyby bylo potreba nejaký pocítac ze síte vyloucit, 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é cinnosti podávat svedectví do logových souboru. Podrobnost je nastavena na 1 (dvojka je fakt moc ukecaná a hodí se treba, když hledáte chybu. Trojka je maximum). Maximální velikost logu je 1MB (Po prekrocení této velkosti je log prejmenován na jmeno.old a otevren znovu prázdný). Ten .old samozrejme prepíše minulý .old. Další parametr ríká, kde budou logy umísteny, a že se jim bude dávat jméno "log-tecka-jméno_pocítace". Dále ríkáme, že do sysolgu se nic psát nebude. Panic action moc nerozumím. No, hlavne že máme rešení (krome Stoparova pruvodce 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
Zabezpecení je na úrovni user, což je jediná možnost vhodná pro naše úcely. Hesla budou z MS Window stroju chodit zašifrovaná. Dál rí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 úctech v Sabme) - tady je vybrán smbpasswd. Pro win uživatele guest bude použit linuxový úcet nobody. Uživatele root si nezablokujeme, protože by mj. uživatelé nemohli menit svoje hesla...(z tohodle jsem fakt kvetl). Budeme synchronizovat hesla v Sambe i v Linuxu - tj. když si uživatel ze stroje s MS Windows bude menit heslo, zmení se v obou databázích uživatelu. Passwd program je snad jasný, jen podoktneme, že pri nasatavení pres PAM (o kousek níže) by nemel být tento paramter potreba - ale ani neprekáží... Passwd chat jsem nakonec zakomentároval, protože ten parametr proste nechybí! :o) Poslední dva parametry zajištují spolupráci Samby a systému overování pam.
socket options = TCP_NODELAY
Tohle se tam proste dává...
domain master = yes
preferred master = yes
os level = 100
domain logons = yes
Tato nastavení zajistí, že náš server bude tím nejduležitejší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šine, když se uživatel prihlásí. Domovský adresár 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 profilu. Tu tecku pred jménem (.winprofile) dáme proto, aby se složka chovala jako skrytá. Domovský adresár se zjeví na Win mašine jako sítový disk H:. Win pocítace mohou používat server pro strizování svých hodinek. Charset nám zajistí, že jména souboru budou vypadat stejne v Linuxu i MS Windows a to i presto, ž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 pridávání pocítacu do domény.
[netlogon]
comment = Sitova prihlasovaci sluzba
path = /home/admin/netlogon
guest ok = yes
read only = yes
share modes = no
browseable = no
Tahle cást se týká adresáre s pomuckami pro prihlašování. Mj. se sem dávají prihlašovací skripty (viz výše logon script).
[homes]
browseable = no
read only = no
create mask = 644
directory mask = 700
Domovské adresáre uživatelu. Po prihlášení uvídí uživatel svuj domovský adresár bud jako sdílení s adresou \\server\\uziv-jmeno, nebo jako disk H: (viz výše). Uživatelské adresáre ostatních uživatelu neuvidí (browsable). Muže do nej i zapisovat. A jaká unixová práva budou nastavena když si uživatel vytvorí nový soubor nebo adresár ve své domovské složce. Nastavení práv je samozrejme vec dukladného premýš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 muže dát všcheno, co chceme, aby uživatelé mohli používat bez rizika, že to smažou. Treba 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álne využitelné sdílení, kam mohou všichni uživatelé zapisovat. V našem systému je zamýšleno jako místo, kam mužou žáci ukládat výsledky testu. Bohužel tu nefunguje možnost nastavit kombinaci práv 333, kdy mohou uživatelé ukládat, ale nezobrazuje se jim obsah adresáre. Tady si Linux (kde to funguje) s MS Windows nerozumí. Zkusíte-li to tak nastavit, budou MS Windows pri pokusu otevrí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 rešení (333) by aspon trochu omezilo riziko, že nekdo zlomyslný bude mazat soubory kolegu...
6.5.2. Pridávání pocítacu do domény
Aby se mohli uživatelé v doméne prihlašovat, musí to udelat z nejakého pocítace. A Win-doména se nebaví s každým pocítacem, 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, mužete tuhle kapitolu preskocit - s nima se do domény dostanete vždycky.
Pocítac v doméne "zlegalizujeme" tak, že mu vytvoríme normální uživatelský úcet v Sambe. Podle dokumentace je nutné ho pridat i do passwd, ale jen u Samby do verze 2.2. Mužu vám prozradit, že to je potreba i u Samby verze 3.0.:o) Takže ho pridáme do obou databází.
Úcet se bude jmenovat stejne, jako je jméno pocítace, jen se za název ješte pridá znak $. Takže:
# smbpasswd -a pc01$
# useradd pc01$
Budeme požádáni o zadání hesla. Na nem nezáleží, takže tam dáme neco univerzálního, co nikdy nezapomeneme, treba oblíbené 123456.
Pak je potreba aby se klientský pocítac v doméne zaregistroval. Prhlásíte se na nem jako administrátor. Pak Ovládací panely -> Systém -> karta Název pocítace -> tlacítko Zmenit. Zadáte název pocítace a jméno domény jejímž bude clenem (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 vedet, která bije.
Takže: Jde o uživatelské jméno a heslo uživatele, který smí pridávat stroje do domény. Ten uživatel se shodou okolností jmenuje root a musí být v databázi uživatelu Samby. Tento root nemá v zásade nic spolecného s opravdovým rootem - linuxovým úctem na serveru. Mohou mít tedy odlišná hesla, a rekneme si na rovinu, meli by mít odlišná hesla.
Prebehneme tedy k serveru a pridáme uživatele root do databáze uživatelu Samby:
# smbpasswd -a root
O heslo si to rekne samo v zápetí. Pak se mužete vrátit ke klientské stanici a zadat jméno root a jeho heslo. Po stisku O.K. by se melo objevit hlášení, vítající vás do domény. Držím vám palce!
Od dalších pocítacu už odbíhat nemusíte, roota jste už do Samby pridali.
Pro ty, které uživatel root v databázi hesel Samby znervóznuje: Po pridání všech pocítacu do domény mužete tento úcet zase zrušit. Budete-li v budoucnu potrebovat pridat další stroj (nebo po preinstalaci MS Windows), tak si toho pseudo-roota zase na chvíli zrídíte, no.
6.5.3. Uživatelé v doméne
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ári /etc.
Sambe tyto soubory ale nejsou moc platné, protože je nemuže využít k overování hesel. Hesla jsou v souboru shadow uložena zašifrovane. Pokud se prihlašuje uživatel ze stroje s MS Windows, prijme 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 prináší zase další problémy, takže to vlastne rešením není. Víc si o tomto problému prectete ve zmínené knize.
Je to vyrešeno takto: Samba si udržuje vlastní databázi uživatelu, obdobnou té linuxové. Ano je to nepríjemné, ale je to nevyhnutelné: Používání Samby znamená, že budme mít dve databáze uživatelu... Tj, pridáváme-li uživatele do systému, musíme ho pridat dvakrát: Jednou klasicky Linuxove a jednou pro Sambu.
Uložení uživatelu v Sambe muže být provedeno nekolika zpusoby. V podstate dvema. Bud klasicky v:
/etc/samba/smbpasswd
nebo moderneji v tdb databázi, která se pak nachází v adresári /var/lib/samba
Meli bychom používat ten druhý zpusob.
Tdb databáze není citelná textovým prohlížecem. K vypisování jejího obsahu slouží program pdbedit, který toho ale umí mnohem víc. Výpis uživatelu:
# pdbedit -L
# pdbedit -Lw
# pdbedit -Lv franta
Sambový program pro údržbu uživatelu je bud smbpasswd, nebo zmínený pdbedit. První je jednodušší, druhý zas toho nabízí podstatne více.
Každopádne je dobré pripomenout, že k údržbe uživatelských úctu máme k dispozci mnou spáchaný program ug-start.sh, který se o synchronizaci obou databází stará automaticky a ješte navíc umí udržovat diskové kvóty.
6.5.4. Mapování uživatelu a skupin win/lin
Konfiguracní soubor /etc/samba/username.map umožnuje mapovat uživatelská jména a skupiny mezi Linuxem a MS Windows. Príklad objasní vše:
mirek = miroslav koyot
spravci = @administrators
nobody = *
To co je pred rovnítkem je Linuxové jméno, co je za ním jsou odpovídající jména z MS Windows. Více jmen se oddeluje mezerou. Když se tedy uživatel miroslav bude prihlašovat z win mašiny, bude se overovat jako mirek na Linuxu. Muže se rovnež prihlašovat pod jménem koyot. Jak je to s prípadnou diakritikou nevím... Druhý rádek mapuje skupinu spravci na Linuxu na skupinu adminstrators. Tohle mi nejak nefungovalo. Chteli jsme mít uživatele, který se po prihlášení z Win mašiny stane pro tu mašinu administrátorem. Rešil jsem to tak, že jsem vytvoril skupinu spravci a namapoval jí na skupinu admnistrators, jak je videt výše. Pak jsem toho uživatele do té skupiny spravci pridal. Bohužel, po prihlášení se ten uživatel svých výjimecných práv nedockal...
Tretí volba namapuje ostatní (tedy neznámé) uživatele na uživatele nobody.
6.6. Webserver Apache
Má svoje konfiguracní soubory v /etc/apache2/. Výchozí nastavení je v souboru apache2.conf.
Podadresáre:
sites-available obsahuje konfiguraci www sajtu - virtuálních domén.
sites-enabled zde jsou linky do sites-available na sajty, které mají skutecne bežet.
modules-available dtto pro moduly severu Apache
modeles-enabled opet analogicky.
6.6.1. Naše nastavení
6.6.1.1. Uživatel Webmaster
Zrídíme si jeden (pro zacátek to stací) úcet pro uživatele, který bude mít právo menit internetové stránky. Budeme ho muset vytvorit rucne:
# 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 pridat i do samby:
# smbpasswd -a webmaster
6.6.1.2. Adresár pro stránky
Podíváme se, zda opravdu existuje adresár /var/www/nase-stranky/ a zda má nastaveno vlastnictví webmaster.www-data. Pokud, ne udeláme to.
6.6.1.3. Konfigurace Apache
Do adresáre /etc/apache2/sites-available/ pridáme konfiguracní soubor našich stránek. Nazveme ho treba nase-skola.cz, aby bylo jasno. Obsah tohoto konfiguracního souboru najdeme v príloze s nastaveními. Ješte nezapomeneme udelat link:
ln -s /etc/apache2/sites-available/nase-skola.cz /etc/apache2/sites-enabled/010-nase-skola.cz
Dále v adresári sites-enabled zrušíme link 000-default - už není potreba:
# rm 000-default
Pak budeme muset udelat soubor o jednom rádku do sites-available a pojmenujeme ho treba namevirthost.head. Jeho obsahem bude tento rádek:
NameVirtualHost *
A udelá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 dve položky:
000-namevirthost.head
010-nase-skola.cz
Restartujeme Apache server:
/etc/init.d/apache2 restart
a melo by to fungovat.
6.6.2. Stránky uživatelu
Apache nabízí možnost, aby si uživatelé zrídili svoje webové stránky. Musí si udelat adresár public_html ve svém domovském adresári. Jeho obsah pak bude videt 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 mužete presvedcit nahléduntím do adresáre /etc/apache2/mods-enabled, mel by tam být link na userdir.load a userdir.conf.
6.6.3. Apache a SSL
Prepneme se do adresáre
# cd /etc/apache2/ssl
Vygenerujeme si soukromý klíc serveru:
# openssl genrsa -rand /sbin/fsck -out server.key 1024
Místo /sbin/fsck dejte nejaký jiný soubor. Jde jen o pocátecní hodnotu pro generátor náhody. Ale mužete klidne nechat tenhle.
Vygenerujeme žádost o certifikát pro certifikacní 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`}}} pridáme rádek
Listen 443
Do souboru {{{`/etc/apache2/sites-available/nase-skola.cz`}}} pridáme do sekce VirtualHost rádek
SSLEngine on
Do souboru {{{`/etc/apache2/modules-available/ssl.conf`}}} prídáme dva rádky:
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
Po restartu Apache by mely fungovat už i adresy s protokolem `https://`.
E-mail server Exim4
Debian Linux používá jako výchozí smtp server program Exim4. Jeho možnosti jsou znacné, konfiguracní soubory nekonecné,... Naštestí pro jednoduché podmínky se nabízí i pomerne jednoduché rešení.
Pri instalaci (viz kapitola o instalaci serverových služeb) jsme zadali vše potrebné. Máme-li pocit, že jsme to trochu pohnojili, nebojte, o kousek dál se píše o tom, jak to nastavit dodatecne.
Otestovat funkcnost serveru musíme nekolika zpusoby:
1. Odešleme e-mail prímo ze serveru:
``` # mail [nekdo@seznam.cz]
2. Odešleme e-mail odjinud na server. Treba z toho seznamu.cz na lokální adresu [uzivatel@nase-skola.cz]. 3. Z lokální síte.
1. Nastavíme si poštovního klienta (k tomu bude potreba
mít hotové nastavení POP3 nebo IMAP serveru viz další kapitola)
2. a pošleme z nej mail treba na ten seznam.cz.
3. Pošleme sobe mail odnekud z venku, treba zas z toho seznamu.
Nefunguje? Zkusme se podívat do konfiguracního souboru Exim4. A také na:
Práva k adresári s e-maily
Z nejakého záhadného duvodu má adresár /var/mail/, kam se ukládá došlá pošta uživatelu špatne nastavená práva. Vlastníkem adresáre má být root.mail a práva nastavená na 775.
Konfiguracní soubor Exim4
Ten není žádná sranda. Naštestí nám situaci usnadnuje "nadstavba" použitá v Debian Linuxu, konfiguracní 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 nepotrebujeme - hostname se prevezme 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á *(hvezdicka), tj všem, udeláte si ze svého pocítace tzv. Open Relay a dostanete se na cernou listinu spamerských serveru. Tak pozor.:o)
* Minimal DNS - se nastavuje když jsme za vytácenou linkou a nemáme prímý prístup k DNS serveru. To není náš prípad.
* Realy Nets - z jakých sítí si nás mohou nastavit jako smtp server (komu deláme smarthosta)
* Smarthost - kdo delá smarthosta nám. Nepotrebujeme, jsme smart dost sami.:o)
* Ostatní direktivy si mužete nastudovat v manuálové stránce:
# man update-exim4.conf
Neobvyklý restart serveru Exim4
Po prípadných zmenách v konfiguracním souboru restartujeme server Exim4 trochu neotrelým zpusobem:
# invoke-rc.d exim4 restart
Intuitivnejší varianta `/etc/init.d/exim4 restart` se nemá používat. Nemusely by se restartovat dceriní démoni bežícího serveru (Dceriný démon, to si nechám patentovat:o).
Po restartu se automaticky vygeneruje nový konfiguracní soubor z námi zadaných parametru:
/var/lib/exim4/config.autogenerated
Pár užitecných príkazu
# mailq
Tento príkaz nám zobrazí obsah fronty nedorucených zpráv. Exim se snaží poštu dorucovat okamžite. Není-li fronta prázdná, znamená to obvykle nejaký problém.
# exim4 -Mvl kód-zprávy
Vypíše i duvody, proc zpráva visí ve fronte. Kód zjistíme predchozím príkazem mailq.
# exigrep [-l] vzor /var/log/exim4/main.log
Prohledává zadaný logový soubor a vypisuje rádky odopovídající vzoru.
Parametr -l rí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 udelat v ruzných formátech (txt, html, xls - MS Excel).
Ješte tu jsou grafické nástroje, které najdeme v balíccích eximon4, geximon a pfqueue.
eximon4 nabízí v prostredí X velmi primitivní pohled na fronty bez vetší 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é prostredí nenainstalovali... Ale muž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
Pokud si myslíte, že nejhorší vec, která vás v souvislosti s provozováním mail serveru muž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 vuci serverum, které jeho rozesílání umožnují. K takovým serverum patrí i ty, které jsou nastavené jako open-relay - tedy umožnují, aby si je kdokoliv nastavil jako smpt server pro odesílání pošty.
Naše nastavení je z tohoto hlediska bezpecné. Jako odesílací smpt mohou náš server používat jen pocítace z naší lokální síte. Presto stojí za to, nechat si svuj server otestovat.
Jednak si zkuste na nejakém pocítaci mimo vaši sít nastavit poštovního klienta tak, aby používal jako odesílací smtp server práve ten váš, a pak zkuste poslat e-mail nekomu jinému (samozrejme ne v doméne poštovního serveru, který testujeme;). Poštovní klient by mel hodit chybovou hlášku, že smtp server odmítl poštu dorucit.
Další možností je využít nejakou testovací službu. Napríklad:
* [[8]] - oficiální databáze. Tady pozor, skoncí-li váš test "úspešne" (tj. budete otestování jako open-relay pozitivní), stanete se také hned soucástí databáze open-relay serveru, 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ásledku.
* [[11]] - tady najdete spoustu odkazu na další možnosti jak testovat (vcetne výše zmínených).
Otestování funuje zpravidla takto: Zadáte adresu vašeho poštovního serveru a za chvíli se vám zacne vypisovat seznam ruzných pokusu (až špinavých triku), které by na váš server prípadný spamer mohl zkoušet. Pokud všechny skoncí neúspechem, mužeme si pogratulovat a jít na pivo.
Pokud byste se na blacklistu ocitli, mužete se po oprave mail serveru nechat na ordb.org znovu otestovat a v prípade, že je vše O.K., tak vás z blacklistu opet vyradí.
POP3 a IMAP server Dovecot
Po naistalování Dovecotu tyto služby nebeží, je nutno je zprístupnit v konfiguracním souboru:
/etc/dovecot/dovecot.conf
A upravíme direktivy:
protocols = imap imaps pop3 pop3s
imap_listen = *
pop3_listen = *
imaps_listen = *
pop3s_listen = *
Rí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 pres ssl ci tsl (imaps, pop3s).
Pak mužeme Dovecot spustit (dáme restart pro sichr, kdyby náhodou preci jen bežel:):
# /etc/init.d/dovecot restart
Ostatní výchozí nastavení vyhovují. Tzn. že hesla se budou posílat v plaintextu, tedy nešifrovane. Umí-li klientský mailový program komunikovat pres ssl, pak se bude moci pripojit takto, šifrovane a nešifrovaná hesla vlastne budou šifrovaná (díky ssl). V opacném prípade nám budou pres sít behat hesla nešifrovaná, což muže být problém.
Dovecot ovládá i zasílání šifrovaných hesel (cram-md5, digest-md5), jenže zde muže být problém s klientem (mailovacím programem), který to neovládá...
Taky je treba vzít v úvahu fakt, že tyto overovací mechanismy vyžadují vlastní databázi uživatel/heslo, což by znamenalo další komplikaci pri pridávání uživatelu do systému. Navíc v této databázi jsou hesla uložena nešifrovane, takže se nám bezpecnostní problém pouze presouvá 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 pres šifrovanou vrstvu ssl.
Dovecot a SSL
Dovecot si behem instalace sám vygeneruje ceritfikáty, což si lze overit v /etc/ssl. Ve svém poštovním klientu tedy mužete použít místo stadnardních portu pro pop3(110) a imap(443) porty zabezpecené: pop3s(995), imaps(993).
WebMail - Squirrelmail
Webmail pridává nad e-mailový systém uživatelské rozhraní ovládané z prostredí internetového prohlížece. Je to to, co známe treba ze seznam.cz.
Projekt Squirrelmail sídlí na internetových stránkách [12]. V Debian Linuxu má samozrejme svuj instalacní balícek. Balícky 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é veci, jakož i veci podstatné. Napríklad sekce 2-server settings. Vetšinou ale zjistíme, že výchozí nastavení vyhovuje. Pozoruhodná je sekce 8-pluggins, kde si mužeme zapnout rozšírení, která jsou po instalaci vypnutá. Další plugginy mužeme stáhnout z domovských stránek projektu. Já treba pro pridávání adres do adresáre nepoužívám standardne dodávaný pluggin `abook-take`, ale stahuji si `address_add`. Stažené plugginy se rozbalují do adresáre
/usr/share/squirrelmail/pluggins
Po pridání sem, se prí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 mužeme delat úpravy i rucne. Rovnež mužeme použít jako výchozí ten, který je v príloze `nastaveni` tohoto návodu.
Další soubor, který nás zajímá je:
/etc/suqirrelmail/apache.conf
Ten si upravíme. V cásti `VirtualHost` upravíme název, pod jakým si budou uživatelé webmail z prohlížece vyvolávat. Treba: `webmail.nase-stranky.cz`.
Poslední vec, kterou musíme udelat je, rí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ížec internetových stránek a do adresního rádku zadáme adresu webmailu `http://webmail.nase-skola.cz`. Melo by to fungovat.
6.9.1. Ceská kontrola pravopisu
Za prvé musíme mít nainstalovaný balícek aspell a ceský 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 treba zapnout plugin SquirrelSpell a pak rucne editovat soubor
/etc/squireelmail/sqspqll_config.php
a pridat do nej rádek
$SQSPELL_APP['Czech'] = '/usr/bin/aspell -d cs -a';
za uzavírací složenou závorku prvního ifu.
Nebo použijeme predvarený konfigurák ze sekce nastavení.:o)
Ve webmailu pak objevíme v sekci "nastavení" podsekci "kontrola pravopisu", v níž vedle anglického bude i ceský slovník. Nastavíme ho jako výchozí a naše nové majly od ted budou bez preklepu a tak...:o)
MailScanner - maily bez spamu a viru
Instalace
Nainstalujeme balícky:
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 predává dalším programum ke kontrole. Typicky to jsou antivirový a antispamový program.
ClamAV
Antivirový program pro mailové servery. Je spoušten MailScannerem.
ClamAV-freshclam
Duležitá soucást antiviru - program, který si z Internetu stahuje aktualizace virové databáze.
ClamAV-docs
Dokumentace se obcas hodí.

arj, unzoo, unrar, lha
Balícky doporucované a navrhované balíckem ClamAV. Obsluhují ruzné komprimované archivy.
SpamAssassin
Spamový filtr, založení na premýšlení a porovnávání obsahu mailu.
Razor
Spamový filtr, který identifikuje spamy prímo díky spolupráci s internetovou databází.
6.10.2. Nastavení - MailScanner
MailScanner.conf
Otevreme konfiguracní soubor
/etc/MailScanner/MailScanner.conf
a upravíme následující rádky (uvádím jen nové hodnoty):
Cesta k adresári s ceskými hláškami:
%report-dir% = /etc/MailScanner/reports/cz
Dále strucné 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 hlavicek e-mailu:
%org-name% = Nase-Skola
Úplné pojmenování organizace. Muže být i vícerádkové. Odrádkování se naznací 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 vysvetlivkou, proc byl mail odmítnut ap.:
%web-site% = www.nase-skola.cz/mailscanner/vysvetlivky.html
V sekci kontroly viru musí být nastaveno:
Virus Scanning = yes
Virus Scanners = clamav
Tento rádek nastavuje hlavicku, která se pridá do mailu, a která ríká, jakého skóre mail dosáhnul z hlediska zda je ci není spamem:
Spam Score Header = X-%org-name%-MailScanner-SpamScore:
A tento ríká, jak bude skóre oznaceno. V tomto prípade to bude tolik písmenek s, kolik dostal mail "spamových bodu".
Spam Score Character = s
Kdybychom chteli místo "sycení" skutecne cí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 pridáme podmínku, ríkající, že když hlavicka X-Nase-Skola-MailScanner-SpamScore: obsahuje "ssssss" (tedy minimálne šest bodu), presun jí do složky, kterou si na spamy vytvoríme. Nedoporucuji spam automaticky mazat. Muže se stát, že se do spamu dostane i neco zdravého a pak budete litovat.:o)
Tím jsme s konfiguracním souborem hotovi.
Další nastavení pro MailScanner
Aby MailScanner spolupracoval s e-mailovým serverem je potreba ho do procesu zpracování e-mailu zapojit. Návod (originál) je zde:
file:///usr/share/doc/mailscanner/README.exim4
A zde je jeho preklad:
Jak nastavit MailScanner pro Exim4 v režimu démona
Zmení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
Vytvoríme spoolový adresár pro príchozí frontu (ten první rá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 rešení není, tak kouknente do originál návodu, je tam pár vecí navíc.
Vytvoríme logovací adresár pro prí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 vyrešil tak, že jsem ho zkopíroval do exim4-base-mailscanner a v nem jsem upravil cestu k logum z exim4 na exim4_incomming.
Upravíme soubor
/etc/default/exim4
takto:
* nastavíme QUEUERUNNER na hodnotu `separate'
* pridáme do QUEUERUNNEROPTIONS `-DOUTGOING'
* pridáme do SMTPLISTENEROPTIONS `-odq'
Následující rádky pridáme na zácá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ínené rádky jsou uvedeny v
/usr/share/doc/mailscanner/examples/01_mailscanner_config
Pokud bychom meli delenou konfiguraci (což nemáme), pak bychom místo predchozího pridávání rádku do exim4.conf.template zkopírovali tento soubor (01_mailscanner_config) do /etc/exim4/conf.d/main/.
Spustíme aktualizaci konfiguracních souboru Exim4 a restartujeme ho (obe akce udelá tento príkaz):
invoke-rc.d exim4 restart
Upravíme
/etc/cron.daily/exim4-base
tak, aby byl volán exim_tidydb na oba spool adresáre (tj i na nový exim4_incomming).
Upravíme
/etc/default/mailscanner
a odkomentárujeme rádek:
run_mailscanner=1
címž docílíme toho, že od nyní se bude MailScanner automaticky pri startu pocítace spouštet.
Dále nastavíme v
/etc/MailScanner/MailScanner.conf
Sendmail = /usr/sbin/exim4 -DOUTGOING
Sendmail2 = /usr/sbin/exim4 -DOUTGOING
Nyní záverecná trešínka na dortu:
/etc/init.d/mailscanner start
a už to frcí!
Nastavení ClamAV - antivirus
V našem rešení je antivirus spoušten MailScannerem. Výchozí konfigurace antivirového programu bude nejspíš vyhovovat. Chcete-li se tím trochu víc zabývat, napríklad proto, že chcete spouštet ClamAV bez MailScanneru, hledejte v dokumentaci.
Nastavení SpamAssassin - antispam
V našem rešení je SpamAssassin spoušten prostrednictvím MailScanneru. Pokud bychom chteli systém pouze se spamovým filtrem (bez AntiViru), pak by byl MailScanner zbytecný. V tom prípade by stacilo provozovat samotný SpamAssassin. To ale není predmetem 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 menit konfiguraci pro SpamAssassin v prípade, že používáme MailScanner. Tento konfiguracní soubor prebíjí všechny konfigurace SpamAssassinu (zpracovává se jako poslední). Vlastní konfiguráky SpamAssassinu tedy mužeme ignorovat. Jsou to tyto:
* /usr/share/spamassassin/ - výchozí nastavení (nemenit!)
* /etc/spamassassin/ - naše výchozí nastavení pro všechny uživatele
* ~/.spamassassin/ - soubory uživatele - nekteré pridává spamassassin sám.
* ~/.spamassassin/user_prefs - osobní nastavení uživatelu (spamd ignoruje!)
FTP server
Slouží k prenášení souboru mezi serverem a pocítacem u kterého práve sedíme. Urcite ho využije webmaster pro úpravu internetových stránek - umožní mu to spojit se s korenovým adresárem stránek odkudkoliv z lokální síte i z Internetu. Samozrejme muž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 "zamceni" ve svém domovském adresári a ven z nej se nedostali.
Použil jsem ftp server ProFTPD. Pri instalaci musíte rozhodnout, jestli má bežet v režimu standalone, nebo inetd. Vybereme inetd, protože není duvod, aby permanentne strašil v pameti. Server po nainstalování hned pracuje. Provedeme jen drobnou úpravu v jeho konfiguracním souboru:
/etc/proftpd.conf
Hlavne pridáme direktivu
DefaultRoot ~
ta zajistí, že uživateli se po prihlášení bude jeho domovský adresár jevit jako korenový (je tam tzv. chrootnutej). Nedostane se tedy do korenového adresáre systému a nemuže tak šmejdit tam kde ho nechceme (treba v /etc).
Ostatní výchozí nastavení vyhovují, vcetne zablokovaného anonymního prístupu.
Pokud jde o uživatele webmaster, pri jeho vytvárení jsme mu zadali jako domovský adresár `/var/www/nase-stranky`, ale o tom píšu v kapitole o Apache web serveru.
SSH server
Neboli SecureShell (SSH) slouží ke vzdálenému prihlašování. Nainstalujeme ho proto, abychom se mohli k serveru prihlásit odkudkoliv z Internetu a spravovat ho, jako bychom u nej sedeli. Na jednu stranu to zní lákave, na druhou nebezpecne. Takže jak být opatrný.
Po nainstalování OpenSSH (je nainstalován standardne, nemusíme o to prosit) si otevreme konfiguracní soubor:
/etc/ssh/sshd_config
a pridáme tam direktivu:
AllowUsers jenomja
Kde `jenomja` je uživatelské jméno, které si zrídíme práve jen pro toto prihlašování. Dáme mu peklene kvalitní heslo. Z jakéhokoliv pocítace se tedy prihlásíme na náš server jedine takto:
# ssh jenomja@nase-skola.cz
Pak jsme požádáni o zadání hesla (toho peklene kvalitního:) a jsme na serveru. Zbývá jen se prepnout pod superuživatelský úcet:
$ su -
zadat heslo (ješte pekelnejší). A už administrujeme.
Není dobré nechat jako možnost prihlásit se rovnou jako root. Vetšina útoku silou na náš server bude vedena snahou prihlásit se jako root. To si casem pri studiu systémových logu všimnete. Taky uvidíte, že tu bývají pri podobných snahách náhodne generovaná uživatelská jména z rodu tech "normálních" (John, Peter...) takže pro tohoto prihlašovacího uživatele zvolte neco méne tradicního (treba winhacker:o)
Pokud se budete chtít na server prihlá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 mužete treba odsud.
NIS - sdílení systémových souboru
Služba nis slouží ke zjednodušení údržby nekterých systémových souboru, které máme v síti na všech strojích stejné. Typicky to jsou hosts, passwd, group, shadow, ethers,... NIS umožnuje udržovat tyto soubory na jediném pocítaci - nis serveru - a ostatní pocítace, klienti, si o ne serveru ríkají. Bohužel to nejde udelat s libovolnými soubory.
Seznam možností je v manuálové stránce nsswitch.conf (5).
Balícek nis obsahuje serverovou i klientskou cást. Pri instalaci se ptá na jméno domény nis. To si mužeme vymyslet libovolné - na serveru a stanicích ho pak ale musíme zadat pochopitelne všude stejné.
Po nainstalování se automaticky spustí klientská cást. Je dobré jí nechat bežet i na serverové stanici, i když na serveru asi budeme císt sdílené soubory prímo a ne pres nis. Bežící klient na serverové stanici nám ale muže pomoci pri hledání problému.
Na serveru
Po nainstalování balícku nis:
* /etc/default/nis - opravit NISSERVER=false na =master.
* zkontrolujeme si /etc/hosts. Je tu rádek:
127.0.0.1 localhost.localdomain localhost
Adrese 127.0.0.1 nesmí být prirazeno jméno hostitele. Mohlo by to pusobit selhání nekterých operací (v dokumentaci to není blíže zduvodneno).
* /etc/ypserv.securenets - pridáme sem císlo naší lokální síte. Napríklad:
255.255.255.0 192.168.1.0
V Debian Sarge tu je rádek
0.0.0.0 0.0.0.0
který umožnuje pripojení komukoliv, tak ten zakomentárujeme.
* editujeme /var/yp/Makefile - tam najdeme rádek all: za kterým následuje seznam systémových souboru, které chceme prostrednictvím služby nis sdílet. Já jsem odsud vyndal názvy souboru 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 techto souboru stejne nehrabu. Naopak jsem odkometároval: ethers a networks (pokud tyto soubory v /etc/ na serveru neexistují, je potreba je vytvorit aspon prázdné).
Taky je možné pridat soubor aliases (ten navíc vyžaduje odkomentárovat rádek ALIASES o cca 25 rádku výše). Zatím jsem to ale nevyužil. Vlastne nejde. Pohled do manuálové stránky k nsswitch.conf ríká, že to není dosud implementováno.
A ješte si povšimneme, že soubor shadow se pridává sám o pár rádku pod all: níže.
* zadáme prí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 serveru v doméne. Máme-li jen ten jeden, ukoncíme zadávání CTRL+D a správnost potvrdíme "y". Pak sledujeme, jak se generují tabulky jednotlivých sdílených souboru (passwd, group,...).
* restartovat:
# /etc/init.d/nis restart
Sledujeme, které služby startují (ypserv, ypbind, yppasswd).
To by melo stacit. Další možnosti viz. originální dokumentace.
Aktualizace sdílených souboru na serveru
Kdykoliv v budoucnu neco zmeníme ve sdílených souborech (pridáme pocítac do /etc/hosts, pridá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 stacilo i reload místo restart) (možná není restart vubec nutný..?).
Poznámka: Príkaz adduser se v Debianu se snaží chovat inteligentne, takže pri pridávání uživatele provede aktualizaci tabulek nis automaticky. To uvidíte. Jenže pak výše zmínenou aktualizaci (make v /var/yp) spustte radeji ješte jednou rucne. Po adduser to nebylo zcela košer.
Na klientských stanicích
Úprava /etc/nsswitch.conf
Nejdríve upravíme {{{/etc/nsswitch.conf}}}. Tady si ujasnime, co má stanice brát z vlastních souboru 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 pri prihlašování budou nejdríve kontrolovány lokální soubory na stanici a teprve potom služba nis. Toto poradí je duležité, aby se mohl prihlásit root, když není prístupná sít (obrácené poradí {{{nis compat}}} by ten problém pusobilo).
Poznámka: Místo compat - by tu mohlo být i files, stejne compat pravidla asi nevyužijeme.
Jména a adresy pocítacu (hosts) a sítí (networks) se budou nejdrív hledat v souborech na stanici a po neúspechu bude oslovena služba nis. U hosts navíc ješte pak DNS.
Protocols, services a rpc, jak jsem se už zmínil, do nis netahám z duvodu odlišných verzí Debian Linuxu na stanicích a na serveru.
Seznam ethernetových karet s prevodem na IP adresy (ethers) se ale udržuje rucne, takže tady je nis v porádku.
Soubor netgroup je ciste záležitostí služby nis - bez ní by tento soubor stejne nemel smysl (napr, když nis nefunguje), takže je tu jen to nis - vždy se vyžádá verze ze serveru.
Instalace balíku nis na stanici
Nainstalujeme balík nis na všech klietnským pocítacích. Pri instalaci budeme požádáni o zadání jména domény pro službu nis. Zadáme stejné, jako jsme zadali pri instalaci serveru.
Po nainstalování vše beží - tj. výchozí nastavení stanice zcela vyhovuje.
Mužeme upravit /etc/ypbind.conf, který umožnuje zadat adresu nis serveru "natvrdo", ale výchozí nastavení "broadcast" (které ani nemusíme uvádet) je v malé síti naprosto vyhovující.
Overení funkcnosti
K tomu máme pár prima príkazu, které si mužeme zkusit z klientské stanice:
# ypcat hosts.byaddr - vypíše obsah tabulky vygenerované z /etc/hosts na serveru
# ypmatch normaluser passwd - to vypíše rádek týkající se uživatele normaluser z tabulky passwd.
# ypmatch root passwd - to skoncí 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 císlo 0.
Seznam všech tabulek poskytovaných službou nis najdete na serveru v adresári /var/yp/doména (místo doména dosadte sktuecné jméno vaší domény).
Užitecné soubory
Hledejte zde: http://grumpa.net/works/soubory/server/
* grumpa.net-sarge-zaklad - je seznam balícku pro apt-get, který použijeme po nainstalování serveru k doinstalování nezbytných balícku pro náš server.
* grumpa.net-sarge-extras - zde jsou balícky, které najdete na CD Grumpa.net server navíc oproti tem základním. Jelikož na CD zbývá ješte pomerne dost místa, je tu prostor pro vaše návrhy, co ješte na CD prihodit. Pište mi!
* nastaveni - v tomto adresári jsou konfiguracní soubory, které jsou upravené pro potreby 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 prípade je slepe neprekopírujte!
Changelog - zmeny v dokumentaci
2006-07-15
Opraveno datum u predchozí položky :o)
Vytvorena nove verze pro moinmoin wiki a umístena na grumpa.eurowiki.net
V úvodu dokumentace pridána zmínka o obou umísteních na webu.
2006-06-28
Pridána sekce venující se NIS - Network Information Service.
Exim4 - Pridány informace o nástrojích pro administraci.
2006-04-10 V sekci instalace bylo chybne zadáváno jméno pocítace a domény. Opraveno.
2005-10-19 Opraveno nekolik preklepu a upraveno poradí kapitol tak, aby lépe vystihovalo, co se pri instalaci odehrává.
2005-10-07 Návod na MailScanner konecne doopravdy pridán :o)
2005-10-06 NOVÉ - nastavení Udelal jsem nový adresár na webu Grumpa.net a na CD, kam budu dávat odzkoušené konfiguracní soubory.
7
2005-10-06 MailScanner Pridán návod na zprovoznení MailScanneru pod Exim4. Návod preložen z originálu v /usr/share/doc/mailscanner/README.exim4
TODO - co ješte udelat
Je toho ješte dost k doladení. Ale dá se ríct, že v tuto chvíli je tento návod použitelný pro každého, kdo není úplný zacátecník. A o to mi šlo.
I zde chci poprosit o vaše pripomínky a zkušenosti, jakož i o návrhy, co se dá delat jinak a v cem by se tedy mohl zmenit i tento návod.
Apache - web server Tam trochu kecám pri nastavování SSL. Takhle by to fungovalo všechno pres https a nic pres http.
Dále chci vyrešit návrat k použití 000-default a vše nastavovat jen v pridaných konf. souborech pro jednotlivé weby.
Citováno z „http://cs.wikibooks.org/wiki/Linux_jako_server/Sarge“
Kategorie: Linux
Osobní nástroje
* Nové funkce
* Prihlášení / vytvorení úctu
Jmenné prostory
* Stránka
* Diskuse
Varianty
Zobrazení
* Císt
* Editovat
* Zobrazit historii
Akce
Hledat
Hledat
Navigace
* Hlavní strana
* Náhodná stránka
* Nápoveda
Komunita
* Portál Wikiknih
* Poslední zmeny
* Podporte nás
* Komunikacní kanál IRC
Tisk/export
* Vytvorit knihu
* Stáhnout jako PDF
Nástroje
* Odkazuje sem
* Související zmeny
* Nacíst soubor
* Speciální stránky
* Trvalý odkaz verze
* Stránka byla naposledy editována 13. 10. 2007 v 12:15.
* Text je dostupný pod licencí Creative Commons Uvedte autora – Zachovejte licenci, prípadne za dalších podmínek. Podrobnosti naleznete na stránce Podmínky užití.
* Ochrana osobních údaju
* O Wikiknihách
* Vyloucení odpovednosti
* Powered by MediaWiki
* Wikimedia Foundation