Dnes som sa znenazdania rozhodol, že sa podelím so širokou verejnosťou s tým, ako som inštaloval náš školský server. Než som sa pustil do inštalovania, o Linuxe som nevedel takmer nič. Mal som mizerné skúsenosti s prevádzkou učiteľského počítača, na ktorom ako server bežal Lan Suite a tiež par skúseností s Windows Small Bussines Serverom 2000. Mal som tiež máličko skúseností s desktopovým Linuxom - Ubuntu. Dá sa teda povedať, že o Linuxe som nevedel takmer nič.
Napriek tomu sa mi podarilo linuxový server nainštalovať za cca 2 mesiace (s takýmto návodom by som to zvládol aj za deň) tak, že na ňom funguje Firewall s prekladom adries, Web server, Proxy server s filtrovaním webových stránok na základe obsahu, poštový server sťahujúci poštu z našej poštovej schránky a mnoho ďalších služieb, ako napríklad CMS Drupal, LMS Moodle, Gallery2, Jabber server, PXE boot a podobne.
O všetkom tomto budem hovoriť v nasledujúcich kapitolách. Poviem o jednotlivých serverových aplikáciách - na čo slúžia a ako sa inštalujú. Netvrdím, že jednotlivé postupy sú najsprávnejšie, preto ocením, keď mi pošlete svoje pripomienky.
Obsah linuxového servera je rôzny, líši sa podľa distríbúcie linuxu, ktorých je neúrekom. Po nainštalovaní máte k dispozícií niekoľko základných programov, ktoré sa tvorcovia distribúcie rozhodli dať na médium.
Vo väčšine distribúcií však nájdete program (často i niekoľko), ktoré vo vašom serveri vytvoria:
To aké "železo budeme potrebovať" závisí predovšetkým od toho, koľko serverových služieb budeme chcieť na serveri prevádzkovať. Ak ste malá škola s desiatimi počítačmi pravdepodobne nebude chcieť používať služieb veľa. V takomto prípade neplatí, že server musí byť najvýkonnejším počítačom. A v prípade Linuxu to, v porovnaní s Windows, neplatí vôbec. Ale, ako som spomínal, všetko závisí od toho, aké úlohy má server v sieti plniť.
Na gymnáziu v Kremnici sme ako server použili pentium2 600 MHz, len sme do neho dokúpili disk s veľkosťou 250GB. Pri starších počítačoch si musíte dať pozor aby Bios počítača umožňoval taký veľký disk vôbec pripojiť.
Ak ste veľká škola pravdepodobne ste už server mali a pravdepodobne uvažujete nad zakúpením nového servera. Väčšinou nie je problém presvedčiť vedenie školy nad nutnosťou zakúpenia nového PC. Tu odporúčam na hardvéri nešetriť. Server by mal obsahovať dva disky zapojené ako RAID typu 1 - ak sa jeden disk pokazí na druhom je to isté. Ďalej by mal obsahovať dve sieťové karty pre preklad adries NAT - jedna z nich sa zapojí do smerovača a druhá do sieťového prepínača - server potom bude fungovať ako stanica v Čiernej nad Tisou, všetky vagóny prichádzajúce a odchádzajúce sa budú prekladať do iného vlaku a podozrivé vagóny neprejdú.
Distribúcií linuxu je ako húb po daždi - Slackware, Fedora, OpenSuse, Mandriva, Debian, Ubuntu, Knoppix. Len podotýkam, že tento zoznam ani z ďaleka nie je kompletný a poradie distribúcií je čisto náhodné. Ak dávate prednosť komerčnej podpore, môžete využiť služby spomínaného Mandrake alebo Red Hat Enterprise Linux.
Keďže sme mali k dispozícii dvojjadrový 64 bitový procesor, rozhodli sme sa použiť 64-bitovú distribúciu.
Okrem týchto faktov dávame do pozornosti aj to, že na našej stránke sa nachádza aj kompletne preložená príručka k tomuto systému - Príručka Ubuntu servera. V našom návode sa na ňu budeme niekoľkokrát odvolávať.
I napriek tomu že je táto strana návodu pomerne dlhá, je inštalácia Ubuntu servera veľmi jednoduchá a nezaberie ani veľa času. Návod je doplnený obrázkami, ktoré sa dajú zväčšiť tak, že na ne kliknete.
Pozor!!! Táto kniha je ešte v skorom štádiu, všetky doterajšie časti boli otestované a mali by fungovať, ak však chcete nainštalovať Ubuntu server na server, ktorý práve používate v škole, vytvorte si pre každý prípad zálohu vášho súčasného systému, aby ste mali možnosť vrátiť sa k pôvodnému systému (je tiež možné nainštalovať ubuntu server ako tzv. dual boot). Návod píšeme tak, že každý týždeň pribudne jedna strana, preto vás zatiaľ prosíme o trpezlivosť.
Ak vám záleží na tom aby údaje v serveri boli aspoň trochu zabezpečené, tak je dobré do servera vložiť dva rovnako veľké disky a nastaviť ich zrkadlenie pomocou diskového poľa RAID 1. Táto možnosť zabezpečí, že ak sa jeden z diskov náhodou pokazí, rovnaký obsah bude i na druhom disku. Teda bude stačiť pokazený disk nahradiť novým diskom a údaje opäť zduplikovať i na nový disk.
Ak chceme aby bol náš server výkonnejší je možné použiť diskové pole RAID 0. V takomto prípade sa údaje rozložia na oba disky takže zápis bude skoro dvojnásobne rýchlejší.
Je tiež možné použiť kombináciu oboch metód tzv. RAID 10 - no tu sú potrebné 4 rovnaké disky. Návod ako disk nastaviť sa nachádza v článku Inštalácia Ubuntu so softvérovým RAID 10
Teraz môžete prejsť späť na kapitolu Inštalácia základného systému školského servera
Po reštarte počítača sa na obrazovke objaví niečo takéto:
Kto by čakal dajaký grafický systém podobný MS Windows bohužiaľ alebo skôr vďaka bohu sa nedočká. Keďže my sme boli tiež odporcovia textového režimu, nainštalovali sme si grafické prostredie, no vzápätí sme to oľutovali pretože veľmi vzrástla spotreba pamäte. Potom sme hľadali iné riešenie - neinštalovať celé desktop prostredie ale iba manažéra okien alebo súborového manažéra. Podarilo sa nám sprevádzkovať prostredie Fluxbox, na ktoré sa vďaka x11vnc dá pripojiť pomocou VNC klienta - čo je program na prenos obrazu, takže je možné sa na server pripojiť i v grafike zo vzdialeného počítača.
Teraz z odstupom času (asi 2 mesiace) sa nám zdá i toto riešenie ako zbytočné, pretože ho nepoužívame. Ak vás ešte stále odpudzuje textový režim nebojte sa, o chvíľu vám porozprávame o výborných programoch na správu PC, ktoré sú v grafike. Tieto programy sa však nespúšťajú priamo na serveri ale fungujú ako webové rozhrania. Vlastne ani nebudete potrebovať mať k serveru pripojený monitor.
Aby sme však mohli niečo robiť musíme sa prihlásiť:
Ľudia, ktorý v minulosti ešte pracovali v operačnom systéme MS DOS, určite poznajú program Norton Commander alebo Volcov Commander. Niektorí, tiež používajú v operačnom systéme MS Windows Total Commander alebo iný klon Norton Commandera. Všetkých týchto ľudí určite poteší Midnight Commander, ktorý nainštalujeme takto:
sudo apt-get install mc
Teraz je znova potrebné znova zadať heslo. Počítač vypíše, ktoré balíčky sa budú okrem mc inštalovať a spýta sa, či to naozaj chcete. Zadajte teda "Y" (ako áno) Midnight commander teraz môžeme spustiť príkazom
mc
teraz by ste mali vidieť spustený Midnight Commander:
Program Midnight Commander sme nainštalovali pomocou príkazov, ktoré su možno pre vás cudzie preto ich teraz trochu vysvetlíme. Začneme príkazom sudo. Tento príkaz budeme potrebovať veľmi často. Slúži na to aby ste získali oprávnenie správcu. Ak by sme tento príkaz nezadali, operačný systém by tvrdil, že na vykonanie zadaného príkazu nemáme dostatočné oprávnenie. Vždy po zadaní príkazu sudo sa systém spýta na vaše heslo, preto to od teraz budeme brať za samozrejmé a nebudeme uvádzať do postupov aby ste zadali svoje heslo.
Ďalším príkazom je príkaz apt-get. Tento príkaz je určený na prácu s balíčkami. Balíčky sú súbory s príponou .deb - ide o veľmi vzdialené ekvivalenty súborov install.exe či setup.exe známych z MS Windows. Tieto balíčky sú sústredené tzv. repozitároch. To sú akési úložištia balíčkov. Takže všetky balíčky sú uložené "pod jednou strechou" (resp pod niekoľkymi) a nie je ich potrebné hľadať na internete. Je však tiež možné nájsť balíčky, ktoré v týchto repozitároch nie sú, stiahnuť a nainštalovať ručne alebo nájsť ďalšie repozitáre, ktoré a dopísať ich do systému. Na inštalovanie nového programu použijeme príkaz
sudo apt-get install meno_balíčka
Ak chceme program odinštalovať napíšeme
sudo apt-get remove meno_balíčka
V prípade, že chceme program odinštalovať a chceme i zmazať jeho inštalačný balíček, napíšeme
sudo apt-get purge meno_balíčka
Ku každému príkazu v Linuxe môžeme získať pomoc (väčšinou v angličtine) viacerými spôsobmi:
väčšina príkazov na integrovanú stručnú pomocou, ktorú nám program vypíše po zadaní prepínača --help alebo jeho skrátenej verzie -h, napríklad:
apt-get -h
alebo
apt-get --help
podrobnejšiu pomoc poskytujú manuálové stránky. Ich rozsiahlosť a aktuálnosť je rôzna, ale jedno majú spoločné, pre zobrazenie používajú príkaz man a názov príkazu napríklad:
man apt-get
Manuálovú stránku zatvoríme stlačením klávesy "q"!!! Najaktuálnejšiu dokumentáciu získate príkazom info, ktorého použitie (a často aj výsledok) je rovnaké ako pri príkaze man, napríklad:
info apt-get
V prípade, že máte neobmedzené pripojenie na internet (všetky školy by mali mať), je výhodné systém nastaviť tak, aby nehľadal balíčky na inštalačnom CD, ale iba na internete. Ukončite Midnight Comander (ďalej len MC) sltačením klávesy "F10". Potom ho znova spustite s právami roota (správcu):
sudo mc
Od tohto okamihu je MC spustený s právami správcu systému. Dávajte si dobrý pozor čo robíte!!!
Teraz pomocou MC vyjdite až do hlavného priečinka. nastavíte kurzor (tyrkysový pásik) na "/.." tak ako je to na nasledujúcom obrázku a stlačíte enter:
Teraz sa nachádzate v priečinku "/home" (môžete ho vidieť v hornej časti obrazovky), to je priečinok v ktorom sú uložené profily používateľov. Ak ste postupovali podľa nášho návodu a vytvorili ste pri inštalácii používateľa s názvom "spravca" tak teraz máte kurzor na priečinku s takýmto názvom.
Teraz znova posuňte kurzor na "/.." a stlačte enter. Ste v koreňovom priečinku systému. Toto je niečo ako c: v operačnom systéme MS Windows.
Teraz presuňte kurzor na adresár "/etc" a stlačte enter. V tomto priečinku sa nachádzajú všetky konfiguračné súbory - veľmi vzdialené ekvivalenty súborov s príponou ini, ktoré používa MS Windows. Toto bude priečinok, ktorý budeme veľmi často otvárať.
Teraz vojdite do adresár "/apt" v hornej časti by mala byť zobrazená cesta "/etc/apt".
Teraz sa prepneme do druhého okna pomocou klávesy "TAB" na klávesnici a rovnakým postupom nastavíme tú istú cestu aj do druhého panelu.
Teraz si vytvoríme zálohu súboru ktorý chceme upravovať. Vytváranie záloh konfiguračných súborov je veľmi dôležité!!! V prípade že niečo pokašleme, môžeme to vrátiť.
Nastavme kurzor na súbor s názvom "sources.list" a stlačte na klávesnici "F5" (kopírovať) a za zobrazovanu cestu "/etc/apt" dopíšte "/sources.list.bak1" a stlačte enter, čím vytvoríte kópiu súboru s takýmto názvom.
Teraz, keď máme zálohu, môžeme editovať súbor. nastavíme kurzor na súbor "sources.list" a stlačíme klávesu "F4" (editovať). Uvidíme pred sebou rôznofarebný text, pričom sa nejedná len o grafický efekt, ale farebne je zvýraznená syntax tohoto súboru. To čo je potrebné urobiť, je vložiť pred riadok začínajúci
deb cdrom...
znak "#" ten sa na slovenskej klávesnici píše pomocou kombinácie kláves AltGR+x (AltGR je pravý alt). Po doplnení znaku "#" by súbor mal vyzerať takto:
Zmeny v súbore uložíme stlačením klávesy "F2" (Uložiť) a potvrdíme uloženie.
Teraz môžeme opustiť editor klávesou "Esc".
Teraz môžeme vykonať aktualizáciu systému. Tento krok je veľmi dôležitý, pretože aktualizácie neprinášajú iba nové funkcie ale i odstraňujú chyby. V programe MC je možné skryť panely kombináciou kláves Ctrl+o. Ak tento povel vykonáte uvidíte iba príkazový riadok. Keďže máte MC spustený príkazom sudo, už ho nemusíte pred príkazy písať. Zadajte teda príkaz:
apt-get update
Tento príkaz načíta z úložiska distribúcie zoznam najnovších balíčkov. Tento príkaz je vhodné zadať pred každou inštaláciou, ktoréhokoľvek balíčka z úložiska. Samotnú aktualizáciu vykonáte príkazom
apt-get upgrade
Systém zobrazí zoznam programov ktoré bude aktualizovať. Opäť je potrebné potvrdiť aktulaizáciu zadaním "Y". Po aktualizácii môžete zapnúť panely MC (Ctrl+o).
Program je veľmi užitočné grafické web rozhranie, slúžiace na správu serverov. Jeho inštalácia je veľmi jednoduchá:
cd ~
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
Ak máte v počítači iba jednu sieťovú kartu, môžete sa k programu Webmin pripojiť z iného počítača tak, že zadáte do internetového prehliadača IP adresu počítača, ktorú ste priradili sieťovej karte na začiatku inštalácie a zadaním portu 10000. Teda http://10.x.y.2:10000 kde x a y sú čísla IP adresy vašej školy v sieti EDU#Net.
AK máte dve sieťové karty budete si musieť najskôr nastaviť druhú kartu, podľa postupu v ďalšej kapitole.
Ak máme v počítači dve sieťové karty, musíme nastaviť i druhú sieťovú kartu. Môžeme náš server použiť ako firewall. Túto možnosť odporúčame najmä vtedy ak chcete aby bol server dostupný verejne z internetu. Podstatne tak zvýšite bezpečnosť vašej siete.
Ak má byť vaša sieť bezpečná tak jednu sieťovú kartu zapojíte do Cisco routera, cez ktorý sa pripájate na internet a druhú do switchu do ktorého sú pripojené ostatné počítače siete.
Od Cisco routeru musí byť switch rozvádzajúci sieť odpojený. Server bude fungovať nasledovne:
Internet --> vonkajšia sieťova karta servera --> firewall s prekladom adries --> vnútorná sieťová karta servera -->switch --> ostatné počítače
Najprv pomocou postupu opísaného v predchádzajúcej kapitole, otvoríme súbor /etc/network/interfaces. Po jeho otvorení by ste mali vidieť takýto súbor:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.x.y.2
netmask 255.255.255.0
network 10.x.y.0
broadcast 10.x.y.255
gateway 10.x.y.1
#dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 195.146.128.60 195.146.132.59
dns-search vasadomena.edu.sk
kde miesto x a y sú čísla z vašej IP adresy v sieti EDU#Net.
Druhej sieťovej adrese môžeme priradiť adresu, ktorá bude patriť iba v lokálnej školskej sieti. Pre túto sieť je možné vyhradiť adresy napríklad 192.168.1.x.
Prejdeme teda na koniec súboru a nastavíme druhú sieťovú kartu nasledovne:
# The secondary network interface
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
teraz vypnite panlely MC a zadajte príkaz, ktorým sa reštartuje nastavenie siete starým osvedčeným spôsobom:
invoke-rc.d networking restart
Teraz sa i vy môžete pripojiť na server z hociktorej stanice v sieti, je však potrebné zmeniť jej sieťové nastavenia.
Pri inštalácii distribúcie Debian GNU/Linux sa Vás inštalátor opýta na jednotlivé nastavenia siete, tieto nastaví a všetko funguje . Ak sa však pomýlite alebo neskôr zmeníte topológiu siete, je potrebné nastavenia zmeniť. Možností je viac.
Konfigurácia siete je uložená v konfiguračnom súbore interfaces, ktorý nájdete v adresári /etc/network/interfaces. Jeho obsah môže vyzerať napríklad takto:
# The loopback network interface
auto lo
iface lo inet loopback
# Primárne sieťové rozhranie
auto eth0
iface eth0 inet static
hwaddress ether a1:b2:c3:d4:e5:f6
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.253
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.254
dns-search domov.skk
# druhé sieťové rozhranie
auto eth1
iface eth1 inet dhcp
Čo v tomto súbore možno vyčítať? Tak najprv počet a mená rozhraní. V tomto súbore sú definované tri rozhrania lo, eth0 a eth1 a všetky tri sú spúšťané automaticky, čo je definované časťou auto. Časť iface definuje typ rozhrania, možné sú vlastne tri druhy – spätná slučka, statické nastavenie a dynamické nastavenie. Existujú aj ďalšie, ale budem sa venovať len týmto trom možnostiam.
Spätná slučka (lopback) je rozhranie, pomocou ktorého počítač komunikuje sám so sebou, pričom vôbec nepoužíva sieťovú kartu. Podľa štandardov je IP adresa spätnej slučky 127.0.0.1, preto ju netreba nastavovať. O určenie, že rozhranie lo je rozhranie spätnej slučky sa stará časť iface:
iface lo inet loopback
vidíte v ňom slovo iface, nasledované menom rozhrania (lo), rodinou adries IPv4 (inet) a metódu spätnej slučky (loopback). Definícia spätnej slučky nemá žiadne ďalšie nastavenia.
Dynamické nastavenie sieťových parametrov je možné robiť vtedy, keď máte v sieti DHCP (resp. BOOTP) server. V dnešnej dobe už skôr DHCP server, ktorý je novší a poskytuje pokročilejšie možnosti ako BOOTP, pričom je plne kompatibilný s BOOTP.
V tomto nastavení stačí v časti iface zadať meno rozhrania, rodinu adries a voľbu dhcp. Dynamické nastavenie žiadne ďalšie voľby nepoužíva:
iface eth1 inet dhcp
Toto nastavenie sa používa na nastavenie statickej, čiže pevnej IP adresy rozhrania a ďalších potrebných parametrov. V časti iface túto možnosť nastavuje voľba static:
iface eth0 inet static
Toto nastavenie už potrebuje aj ďalšie voľby:
Nastavenie v súbore /etc/network/interfaces poskytuje aj ďalšie možnosti, ďalšie informácie hľadajte v manuálovej stránke man 5 interfaces.
Ak zmeníte nasatvenia siete v konfiguroačnom súbore interfaces, prejavia sa zmeny až po reštartovaní siete:
invoke-rc.d networking restart
Na konfiguráciu sieťového rozhrania je určený nástroj ifconfig. Ak ho spustíte bez parametrov, príkaz vypíše nastavenia všetkých všetkých rozhraní, napríklad:
ifconfig
eth1 Zapouzdření:Ethernet HWadr 00:0C:29:95:03:FF
inet adr:192.168.0.10 Všesměr:192.168.0.255 Maska:255.255.255.0
inet6-adr: fe80::20c:29ff:fe95:3ff/64 Rozsah:Linka
AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST MTU:1500 Metrika:1
RX packets:98 errors:0 dropped:0 overruns:0 frame:0
TX packets:129 errors:0 dropped:0 overruns:0 carrier:0
kolizí:0 délka odchozí fronty:1000
RX bytes:10403 (10.1 KiB) TX bytes:10254 (10.0 KiB)
Vstupně/Výstupní port:0x2040 Paměť:e8920000-e8940000
lo Zapouzdření:Místní smyčka
inet adr:127.0.0.1 Maska:255.0.0.0
inet6-adr: ::1/128 Rozsah:Počítač
AKTIVOVÁNO SMYČKA BĚŽÍ MTU:16436 Metrika:1
RX packets:27 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
kolizí:0 délka odchozí fronty:0
RX bytes:1332 (1.3 KiB) TX bytes:1332 (1.3 KiB)
Výpis poskytuje vyčerpávajúce informácie o nastavení rozhrania, vrátane štatistík prijatých (RX) a odoslaných (TX) paketov, bytov, či štatistiku kolízií. Ak ako parameter zadáte meno rozhrania, príkaz zobrazí informácie len o zadanom rozhraní. Pomocou tohoto príkazu môžete aj nastaviť parametre rozhrania, ako IP adresu a sieťovú masku:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
Týmto nastavením nastavíte IP adresu rozhranie eth1 na 192.168.0.1 so sieťovou maskou 255.255.255.0 a rozhranie zároveň zapnete. Sieťové rozhranie eth1 vypnete príkazom:
ifconfig eth1 down
Nástroj ip je novší ako ifconfig a jeho použitie je viacúčelové. Môžete pracovať nie len s nastavením rozhrania ale aj smerovania a podobne. Jeho možnosti môžete skúmať pomocou poskytnutej nápovedy:
ip help
a potom pomocou nápovedy jednotlivých objektov, napríkad
ip addr help
Výpis nastavení získate zadaním:
ip address show
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:95:03:ff brd ff:ff:ff:ff:ff:ff
inet 192.168.0.10/24 brd 192.168.0.255 scope global eth1
inet6 fe80::20c:29ff:fe95:3ff/64 scope link
valid_lft forever preferred_lft forever
Rovnako ako pri ifconfig môžete zadať meno rozhrania a obmedziť tak výpis na príslušné rozhranie. Pre zobrazenie štatistík príslušného rozhrania použite príkaz:
ip -s link show eth1
2: eth1: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:0c:29:95:03:ff brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
11857 108 0 0 0 0
TX: bytes packets errors dropped carrier collsns
10490 133 0 0 0 0
Parametre sieťového rozhrania môžete nastaviť pomocou:
ip address add 192.168.0.1/24 brd + dev eth1
čím nastavíte IP adresu rozhrania eth1 na 192.168.0.1 s 24-bitovou sieťovou maskou (255.255.255.0) a automatické nastavenie všesmerovej adresy (voľba brd +).
Pre odstránenie sieťovej adresy/rozhrania, zadajte:
ip address del 192.168.0.1 dev eth1
Keď už máte parametre rozhrania nasatvené môžete ho zapnúť, respektíve vypnúť, pomocou príkazov ifup a ifdown:
ifup eth1
respektíve
ifdown eth1
Zavedenie systému doménových mien bolo veľkým krokom k rozšíreniu internetu. Úlohou tohoto prekladu je preklad mena počítača na jeho IP adresu. V Linuxe (nakoniec vo Windows tiež) existuje súbor, ktorý uchováva lokálny zoznam mien a IP adries počítačov, a nájdete ho v /etc/hosts. Pre preklad mien v internete sa už dávno nepoužíva a nahradil ho systém DNS (Domain Name Service), ktorého konfigurácia je v súbore /etc/resolv.conf a môže vyzerať napríklad takto:
search skk
nameserver 192.168.0.253
Uvedené dva parametre nie sú jedniné, ale sú plne postačujúce. Prvý parameter nastavuje lokálnu doménu, ktorá bude prehľadávaná (skk je moja lokálna doména) a parameter nameserver udáva IP adresu menného servera. V tomto súbore môžete mať nasatvené až tri adresy menných serverov. Ak máte nainštalovaný vlastný menný server, nastavte tu nameserver 127.0.0.1. Ak Vás zaujímajú ďalšie možnosti, pozrite si manuálovú stránku man 5 resolv.conf.
Nastavenie statických pravidiel smerovanie je možné viacerými spôsobmi. Začnem pomocou príkazu ip:
ip route add 192.168.55.0/24 via 192.168.0.253 dev eth1
čím nastavíte smerovanie do siete 192.168.55.0/24 cez rozhranie eth1 s IP adresou 192.168.0.253. Rovnaký cieľ dosiahnete aj pomocou staršieho príkazu route:
route add -net 192.168.55.0 netmask 255.255.255.0 gw 192.168.0.253 dev eth1
Výpis nastavených smerovacích pravidiel získate zadaním príkazu route bez parametrov alebo pomocou novšieho ip:
ip route show
Môžete tiež vyskúšať nastavenie, ktoré automaticky pridá smerovacie pravidlo pri zapnutí rozhrania a po jeho vypnutí ho zase odstráni. Toto správanie môžete dosiahnuť pridaním do súboru /etc/network/interfaces, do konfigurácie príslušného rozhrania, napríklad:
auto eth1
iface eth1 inet static
...
up route add -net 192.168.55.0 netmask 255.255.255.0 gw 192.168.0.253
down route del -net 192.168.55.0 netmask 255.255.255.0 gw 192.168.0.253
Veľa šťastia s nastavovaním siete.
Na to aby sme sa mohli pripojiť k novonainštalovanému serveru, je potrebné vykonať niekoľko zmien v sieťovom nastavení.
Na lokálnej stanici nastavte
IP Adresa : 10.x.y.3 (kde x a y sú čísla ip adresy v siete EDU#Net)
Maska : 255.255.255.0
Brána : 10.x.y.2 (IP adresa novo nainštalovaného servera)
DNS : 10.x.y.2 (IP adresa novo nainštalovaného servera)
Na lokálnej stanici nastavte
IP Adresa : 192.168.1.2
Maska : 255.255.255.0
Brána : 192.168.1.1 (IP adresa novo nainštalovaného servera)
DNS : 192.168.1.1 (IP adresa novo nainštalovaného servera)
Otvoríme ponuku štart a zvolíme ovládací panel.
Kliknite na sieťové a internetové nastavenia.
Vyberte sieťové pripojenia.
Kliknite na lokálne pripojenie a vyberte Zmeniť nastavenie pripojenia.
Vyberte Internet protocol a tuknite na tlačítko Vlastnosti.
Nastavte parametre siete podla tabuľky vyššie.
Sadnime si k stanici, ktorú sme už nastavili (Ako sa prvýkrát pripojiť ku školskému serveru z lokálneho počítača) a otvorme webový prehliadač. Ako adresu zadajte (v prípade že ste postupovali podľa predchádzajúcich častí návodu) v prípade, že máte jednu sieťovú kartu (x a y sú čísla z vašej IP adresy v sieti EDU#Net):
https://10.x.y.2:10000
v prípade, že máte dve sieťové karty
https://192.168.1.1:10000
v prehliadači by ste mali uvidieť takúto stránku
Pomocou tohto formulára sa môžete prihlásiť k serveru pomocou vášho loginu (ak ste postupovali podľa nášho návodu tak je username "spravca") a hesla. Po zadaní údajov stačí stlačiť tlačidlo Login. Po prihlásení uvidíme takúto obrazovku:
Ako prvý krok môžeme rozhranie prepnúť do slovenského jazyka. Po vykonaní tohto kroku bude rozhranie čiastočne preložené do slovenčiny (aspoň v čase písania článku bolo len čiastočne). Rozbaľte teda položku Webmin ťuknite na odkaz Change Language and Theme. Prepnite prepínač do polohy Perosnal choice, v rozbalovacej ponuke vyberte slovenský jazyk a potvrďte tlačidlom Make changes (viď obrázok).
Po vykonaní tohto kroku, už len obnovíme stránku pomocou klávesy F5 na klávesnici.
SSH je skratkou od Secure Shell - zabezpečený príkazový riadok. Je to sieťový protokol, ktorý umožňuje bezpečnú komunikáciu medzi dvoma počítačmi. Tento protokol bol navrhnutý na to, aby odstránil nedostatky nezabezpečených protokolov rlogin, telnet, rsh či ftp. Umožňuje vzdialené pripojenie sa na server a vykonávanie príkazov cez príkazový riadok ale tiež prenos súborov pomocou Secure FTP (ftp cez ssh).
Ak sa pripájate na server z linuxu, tak pravdepodobne už máte v systéme nainštalovaný klientsky program na pripojenie k SSH.
Ak máte na serveri len jednu sieťovú kartu, stačí otvoriť príkazový riadok a napísať
ssh spravca@10.x.y.2
Kde X a Y sú čísla vašej IP adresy v rámci siete #EDU.NET
Ak sa pripájate z vnútornej siete na server s dvoma sieťovými kartami, napíšte
ssh spravca@192.168.1.1
V prípade, že už máte definovaný DNS (ako zabezpečiť aby bol školský server viditeľný z internetu) záznam môžete použiť
ssh spravca@www.domena_skoly.edu.sk
Ak sa pripájate prvý krát, budete vyzvaní, aby ste potvrdili bezpečnostný certifikát servera. Po jeho potvrdení už zadáte len svoje heslo a pripojenie k serveru sa nadviaže.
Na pripojenie k SSH je možné použiť viacero programov, no my si ukážeme pripojenie pomocou najznámejšieho z nich, ktorý sa nazýva PuTTY. Stiahnuť si ho môžete zo stránky http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html a to buď ako samostatný program alebo ako inštalátor.
Po jeho stiahnutí (v prípade inštalátora i nainštalovaní) stačí vyplniť údaj Host name(or IP address).
Ak máte na serveri len jednu sieťovú, kartu zadáte
spravca@10.x.y.2
Kde X a Y sú čísla vašej IP adresy v rámci siete #EDU.NET
Ak sa pripájate z vnútornej siete na server s dvoma sieťovými kartami, napíšte
spravca@192.168.1.1
V prípade, že už máte definovaný DNS (ako zabezpečiť aby bol školský server viditeľný z internetu) záznam, môžete použiť
spravca@www.domena_skoly.edu.sk
Nastavenie môžeme uložiť zadaním názvu spojenia do poľa Saved Sessions a stlačením tlačidla Save.
Potom otvoríme spojenie tlačidlom Open.
Ak sa pripájate prvý krát, bude potrebné potvrdiť bezpečnostný kľúč servera.
A potom už len zadáte svoje heslo a pripojenie sa nadviaže.
Programov na prenos súborov cez protokol SFTP je niekoľko. Najznámejšími z nich sú WinSCP a FileZilla. Nastavenie je podobné ako pri programe PuTTY a práca s nimi je podobná ako s Windows Explorerom.
WinSCP si môžete stiahnuť zo stránky http://winscp.net/eng/download.php a FlieZilla zase zo stránky http://filezilla-project.org/download.php?type=client.
Ukážka programov:
Ak ste postupovali podľa nášho návodu, tak máte na serveri i webserver. Môžete teda integrovať Java aplikáciu ako applet do webovej stránky a potom stránku otvoriť priamo cez internetový prehliadač na lokálnom počítači.
Jedným z Java programov je MindTerm, ktorý si môžete stiahnuť zo stránky http://www.appgate.com/index/products/mindterm. Tento program je zadarmo pre osobné použitie a pre komerčné použite je limitovaný 25 pripojeniami.
Na tejto stránke sa zaregistrujte kliknutím na odkaz contact form a po zaregistrovaní vám príde email s odkazom na stiahnutie.
Po stiahnutí programu môžete zip súbor rozbaliť a nakopírovať na server napríklad pomocou WinSCP alebo FileZilla do priečinka /var/www.
Potom vytvoríte súbor ssh.html s nasledujúcim obsahom, pričom prispôsobte hrubo vytlačené údaje svojím potrebám
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sk" lang="sk" dir="ltr">
<head>
<title>ssh</title>
</head>
<body>
<p>
<applet code="com.mindbright.application.MindTerm.class" archive="/mindterm-X.Y/mindterm.jar" height="600" width="620">
<param name="cabinets" value="mindterm.cab" />
<param name="sepframe" value="false" />
<param name="server" value="www.vasa_domena.edu.sk" />
<param name="username" value="spravca" />
<param name="debug" value="true" />
</applet>
</p>
</body>
</html>
a uložte ju do priečinka /var/www na serveri. Po jej uložení môžete do prehliadača na klientskom počítači zadať adresu:
Ak máte na serveri len jednu sieťovú kartu, stačí otvoriť príkazový riadok a napísať
http://10.x.y.2/ssh.html
Kde X a Y sú čísla vašej IP adresy v rámci siete #EDU.NET
Ak sa pripájate z vnútornej siete na server s dvoma sieťovými kartami, napíšte
http://192.168.1.1/ssh.html
V prípade že už máte definovaný DNS (ako zabezpečiť aby bol školský server viditeľný z internetu), záznam môžete použiť
http://www.domena_skoly.edu.sk/ssh.html
Firewall je sieťové zariadenie a/alebo softvér, ktorý kontroluje tok dát, ktoré cez neho prechádzajú. Táto kontrola údajov prebieha na základe aplikovania pravidiel, ktoré určujú podmienky a akcie. Podmienky sa stanovujú pre údaje (napr. zdrojová, cieľová adresu, zdrojový alebo cieľový port či rozhranie, a rôzne iné). Úlohou firewallu je vyhodnotiť podmienky a ak je podmienka splnená, vykoná sa akcia napríklad povolenie alebo zamietnutie komunikácie (ale sú aj iné akcie).
Existujú tri základné typy firewallov:
Linuxový firewall aplikuje len prvé dva typy.
Brána firewall je integrovaná do jadra linuxu, preto ju netreba inštalovať. Na jej nastavenie slúži nástroj iptables, pomocou ktorého sa definujú pravidlá. Prechádzajúce dáta sú zaraďované do troch zabudovaných tzv. reťazí:
Ak je v počítači iba jedna sieťová karta firewall filtruje iba prichádzajúce a odchádzajúce dáta. V prípade dvoch sieťových kariet sa z počítača stáva smerovač, ktorý môže filtrovať komunikáciu medzi dvoma sieťovými kartami, a teda medzi dvoma sieťami. Najčastejšie sa takýto spôsob filtrovania používa na riadenie komunikácie medzi vnútornou sieťou, ktorej dôverujeme, a vonkajšou sieťou napr. Internetom.
Nastavenie brány firewal však už nemusíme vykonávať priamo na serveri, ale môžeme využiť nainštalované rozhranie Webmin.
Otvoríme ponuku Sieť v nej ťukneme na Linux Firewall pomocou prepínača na stavíme Block all except SSH, IDENT, ping and high ports - týmto prepínačom sa zablokuje všetko okrem spomínaných služieb, zafajkneme políčko Enable firewall at boot time a stlačíme tlačidlo Setup Firewall (viď obrázok).
Po vykonaní tohto kroku sa na webstránke zjaví tabuľka s pravidlami:
Teraz môžeme do firewallu doplniť porty služieb, ktoré by mal server dovoľovať. Odporúčame doplniť ešte nasledujúce službywww, https, pop3, smtp, imap, imaps, pop3s, a ak chceme mať prístup k správe servera prostredníctvom rozhrania Webmin doplňme i port 10000 (ak máme v počítači dve sieťové karty a chceme aby sa dalo server spravovať iba z vnätornej siete tak port 10000 nezadáme). Urobíme to tak, že pri pravidle If protocol is TCP and destination port is SSH klikneme na Accept (viď obrázok vyššie). Porty je potrebné napísať bez medzier.
www,https,pop3,smtp,imap,imaps,pop3s,10000
Na stránke, ktorá sa následne otvorí doplníme všetky spomínané porty a oddelíme čiarkou. Potom už len stlačíme tlačidlo Uložiť.
Ak máme v počítači dve sieťové karty, musíme nastaviť i druhú sieťovú kartu. Môžeme náš server použiť ako firewall s prekladom adries. Ak má byť vaša sieť bezpečná tak jednu sieťovú kartu zapojíte do Cisco routera, cez ktorý sa pripájate na internet a druhú do switchu, do ktorého sú pripojené ostatné počítače siete.
Od Cisco routeru musí byť switch rozvádzajúci sieť odpojený. Server bude fungovať nasledovne:
Internet --> vonkajšia sieťova karta servera --> firewall s prekladom adries --> vnútorná sieťová karta servera -->switch --> ostatné počítače
Firewall je sieťové zariadenie a/alebo softvér, ktorého úlohou je oddeliť siete s rôznymi prístupovými právami (typicky napr. Internet a Intranet) a kontrolovať tok dát medzi týmito sieťami.
AK máte v počítači len jednu sieťovú kartu, kontrola údajov prebieha na základe aplikovania pravidiel, ktoré určujú podmienky a akcie. Podmienky sa stanovujú pre údaje (napr. zdrojová, cieľová adresu, zdrojový alebo cieľový port a rôzne iné). Úlohou firewallu je vyhodnotiť podmienky a ak je podmienka splnená, vykoná sa akcia napríklad povolenie alebo zamietnutie komunikácie (ale suú aj iné akcie).
Ak máte v počítači dve sieťové karty je možné obe siete navzájom oddeliť. Server v takomto prípade bude fungovať tak, že bude rozhodovať o tom, ktoré požiadavky z vonkajšej siete pustí do vnútornej a naopak.
Ak máte v počítači dve sieťové karty, je potrebné pridať ešte jedno pravidlo, ktoré bude vykonávať preklad adries. V hornej časti nastavíme do rozbaľovacieho poľa Network address translation (nat) a stlačíme tlačidlo Showing IPtable. Po jeho stlačení sa zmení obsah stránky, na ktorej klikneme na tlačidlo Add Rule v časti Packet after routing (viď obrázok).
Na stránke s definíciou pravidla nastavíme prepínač do polohy Source NAT, nastavenie IPs and ports for SNAT prepnite do polohy IP range a v riadku, zapíšeme IP adresu vonkajšej siete 10.x.y.2 a nastavíme, že výstupné zariadenie má byť eth0 vybraním hodnoty Equals v riadku Outgoing interface. Potom stlačíme tlačidlo Vytvoriť v spodnej časti stránky.
Teraz vytvoríme tri pravidlá v časti v časti Packet before routing.
Na otvorenej stránke prepneme prepínač do polohy Accept a a nastavíme, že výstupné zariadenie má byť eth1 vybraním hodnoty Equals v riadku Incoming interface. Potom stlačíme tlačidlo Vytvoriť v spodnej časti stránky.
Rovnaké pravidlo vytvoríme i pre zariadenie lo.
Pri vytváraní posledného pravidla prepneme prepínač do polohy Accept a a nastavíme, že výstupné zariadenie má byť eth0 vybraním hodnoty Equals v riadku Incoming interface. Teraz vyberieme v časti Conection states z ponuky Equals a vyberieme hodnoty Existing Conections a Related to conected (pri označovaní týchto hodnôt myšou, držte na klávesnici kláves CTRL). Nakoniec stlačíme tlačidlo Vytvoriť v spodnej časti stránky.
Teraz už stačí len novú zmenu aplikovať stlačením tlačidla Apply Configuration.
Po aplikovaní zmeny sa konfigurácia uluží do súboru iptables.up.rules. Tento súbor je potrebné ešte načítať pri štarte systému.
Otvoríme položku Systém a klikneme na Štart a vypnutie. Na stránke ktorá sa otvorí klikneme na odkaz Create a new bootup and shutdown action.
Otvorí sa stránka na vytváranie skriptov, do ktorej zadáme názov nového skriptu webmin-ipt a do poľa Bootup commands napíšeme:
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables-restore /etc/iptables.up.rules
a klikneme na tlačítko Vytvor.
Aby sme nemuseli teraz reštartovať server načítame pravidlá ručne. Zo zoznamu skriptov vyberieme Webmin-ipt a spustíme ho pomocou tlačidla Start selected.
Nastavenú konfiguráciu môžeme overiť tak že sa pokúsime na stanici na ktorej práve teraz sme otvoriť ľubovolnú stránku z internetu (napr. www.google.sk). Mala by sa otvoriť.
Keď dám vytvorit spúštací script pre webmin-ipt vypíše mi hlásenie "
Čo mám napísať do service description, aby došlo k uloženiu?
Domenové mená sú mená počítačov, ktoré sú priradené k číselným adresám počítačov. Doménové mená boli počítačom pridelené kvôli ľuďom, pretože IP adresy sú iste ťažšie zapamätateľné, ako adresa napr. www.google.sk. Pre činnosť Internetu sú však potrebné číselné IP adresy (či už verzie 4 alebo 6), preto musí byť každé meno počítača prevedené na jeho číselnú podobu a na to slúžia menné servery (DNS servery).
Ak do prehliadača zadáme sk.openacademy.eu musí služba DNS nájsť číselnú adresu počítača s takouto mennou adresou poslaním požiadavky na iný menný server. Toto hľadanie trvá určitý čas, no dá sa urýchliť tak, pomocou takzvaného kešovania adries. DNS server si do svojej vyrovnávacej pamäti ukladá jednotlivé doménové mená a k nim prislúchajúce číselné adresy a pri nasledujúcej požiadavke na preklad mena sa už nepýta ostatných DNS serverov, ale poskytne odpoveď zo svojej pamäte.
Toto správanie v konečnom dôsledku zrýchli načítavanie stránok, pretože Váš počítač dostane IP adresu cieľa rýchlejšie a teda skôr začne načítať stránku.
Pri zisťovaní záznamu pre adresu "www.wikipedia.org" je postup takýto:
Toto je kompletný postup riešenia daného požiadavku. Môže se však stať, že niektorý z menných serverev (napríklad aj Váš) má hľadanú informáciu vo svojej vyrovnávacej pamäti, pretože príslušnú požiadavku nedávno riešil. V takom prípade poskytne neautoritatívnu odpoveď z vyrovnávacej pamäte a ďalšie požiadavky odpadávajú.
Najprv otvorte vetvu Sieť a ťuknite na odkaz Network Configuration. Na stránk, ktorá sa zobrazí ťuknite na Hosname and DNS Client.
Do polí DNS server pridajte adresu 127.0.0.1 na prvé miesto a potom stlačte tlačidlo Uložiť. Týmto nastavením zabezpečíte aby server pozrel najskor svoje záznamy až potom hľadal u nadradených počítačov.
Potom aplikujte nastavenia pomocou tlačidla Apply Configuration.
V ďalšom kroku otvorte vetvu Servery a ťuknite na odkaz BIND DNS Server. Na stránke, ktorá sa otvorí vyberte Forwarding and Transfer.
Do polí Servers to forward queries to zadajte IP adresy nadradených DNS serverov a stlačte tlačidlo Uložiť.
Nakoniec aplikujte nastavenia pomocou tlačidla Apply Changes.
Jednou s ďalších služieb, ktoré je možné nainštalovať na školský server je Proxy server. Proxy server je niečo ako prostredník v komunikácii medzi klientmi a servermi. Pre klientov sa tvári ako server a pre server ako klient.
Situácia bez použitia proxy servera:
+-------------+ požiadavka +--------+ | klient |--------------------------------------> | server | | (lok. sieť) |<-------------------------------------- | | +-------------+ odpoveď +--------+
Situácia s použitím proxy servera:
+-------------+ požiadavka +--------+ požiadavka +--------+ | klient |-----------> | proxy |---------------> | server | | (lok. sieť) |<----------- | server |<--------------- | | +-------------+ odpoveď +--------+ odpoveď +--------+
Výhodou takéhoto prístupu je niekoľko:
O konfigurácii proxy servera Squid priamo v konfiguračnom súbore sa dozviete vo Vixovej príručke Systémového administrátora, tu sa zameriam na popis nastavenia pomocou webového rozhrania Webmin.
Najskôr musíme Proxy server nainštalovať. Otvorte preto v rozhraní Webmin vetvu Others a ťuknite na odkaz Príkazový riadok, do poľa zadajte príkaz
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte
sudo apt-get install -f -y --force-yes squid
a stlačte tlačidlo Vykonaj príkaz. Potom ešte treba chvíľu počkať kým sa proxy server Squid nainštaluje. Potom ako bude inštalácia hotová, zjaví sa priebeh inštalácie.
Po nainštalovaní treba prispôsobiť nastavenieproxy servera Squid podmienkam našej siete:
Najprv je potrebnénastaviť číslo portu, na ktorom bude Squid očakávať pripojenia od klientov. Štandardné nastavenie je port číslo 3128 a nie je potrebné to meniť - iba ak by ste port 3128 chceli využiť na niečo iné. V rozhraní Webmin otvoríme vetvu Servery a kliknúť na odkaz Squid Proxy Server. Na stránke ktorá sa zobrazí potom klikneme na Ports and Networking. Na stránke ktorá sa otvorí uvidíte prepínač v polohe Default (usually 3128).
Po nastavení príslušného čísla portu, je samozrejme potrebné nastaviť firewall tak, aby požiadavky klientov prepúšťal nášmu proxy serveru - toto už nemusíte nastavovať ak ste sa riadili podľa predchádzajúcich častí návodu.
Predvolená inštalácia Squid má nastavenú cestu aj veľkosť vyrovnávacej pamäte, ale to nemusí vyhovovať všetkým, preto pomocou webmin zmeňte nastavenia podľa svojich potrieb. Pri nastavovaní veľkosti dajte pozor na to, že čím väčšia vyrovnávacia pamäť, tým viac súborov je v nej uchovaných, čo môže urýchliť zobrazovanie stránok, ale zároveň to zvyšuje počet prístupov na disk, čo zase zobrazovanie stránok môže spomaliť.
Ak chcete zmeniť tieto nastavenia klknite na odkaz Cache Options
V nastaveniach môžete nastaviť umiestnienie vyrovnávacej pamäte jej veľkosť, a ďalšie nastavenia. Nezabudnite prepnúť prepínač do polohy Listed.. a nakoniec nastavenia uložiť kliknutím na tlačítko Save.
Squid používa prepracovaný systém riadenia prístupu, ktorý umožňuje precízne nastavenie, ktroré stanice môžu jeho služby využívať, a ktorým bude prístup do vonkajšej siete zamietnutý. V predvolenej konfigurácii po inštalácii však umožňuje prístup všetkým klientom lokálnej siete, jemu však potrebné nastaviť parametre lokálnej siete, a to IP adresu a masku siete. Aj toto nastavenie je potrebné urobiť cez Riadenie prístupu (Access control), takže ťukneme teda na Access Control.
Pod zoznamom pravidiel prístupu v rozbaľovacom poli vyberieme Client Address a ťukneme na tlačidlo Create new ACL.
Na stránke, ktorá sa zobrazí, zadajte do poľa ACL Name názov pravidla (napr. vnutorna_siet) a zadefinujte rozsah IP adries, ktoré budú mocť k proxy serveru pristupovať. Ako som už spomínal, nastavujeme povolenie pre všeky stanice v našej sieti, takže do poľa From IP zadáme IP adresu našej siete (napríklad 192.168.1.0) a do poľa Netmask zadáme hodnotu 24 (čo zodpovdá sieťovej maske 255.255.255.0).
Teraz sa hore prepneme na záložku Proxy restriction a pod zoznamom pravidiel ťukneme na odkaz Add proxy restrictions
V ľavom stĺpci vyberieme pravidlo vnutorna_siet, ktoré sme si pred chvílou vytvorili, prepínač prepneme do polohy Allow a uložíme stlačením tlačidla Save.
Teraz pomocou šipky naše pravidlo posunieme nad pravidlo Denny All.
Na koniec ešte reštartujeme Squid.
Na začiatku sme si nastavili číslo portu, na ktorom proxy server očakáva požiadavky na webové stránky, a to port číslo 3128. Webový klienti však používajú pre komunikáciu iné (štandardné) porty:
Všetky tieto služby dokáže Squid obslúžiť, ale je potrebné aby boli posielané na port číslo 3128, to je nutné nastaviť individuálne na každom klientovi. Klientov však ešte nenastavujte, ak chcete používať filtrovanie obsahu stránok, ktorému sa venuje ďalšia kapitola (museli by ste ich potom nastaviť znova).
Napríklad:
V hornej ponuke vyberte Nástroje > Možnosti siete internet
Prepnite sa na kartu Pirpojenia a stlačte tlačítko Nastavenie siete LAN.
V časti Server proxy zaškrtnite pole a vyplnte príslušné údaje.
V hornej ponuke vyberte Nástroje > Možnosti (MS Windows) alebo Upraviť > Možnosti (Linux)
Prepnite sa na kartu Sieť a ťuknite na tlačítko Nastavenia.
Prepínač prepnite do polohy Ručné nastavenie parametrov a do okienok vyplnte príslušné údaje:
V hornej ponuke vyberte Nástroje > Nastavenia. Prepnite sa na kartu Pokročilé voľby, v ľavej časti ťuknite na Pripojenie a potom ťuknite na tlačítko Proxy servery.
V okne, ktoré sa otvorí nastavte príslušné hodnoty:
Nastavenie, ktoré sme si zatiaľ vytvorili funguje a je pripravené na ďalšie vylepšenia, ako riadenie prístupu, či filtrovanie prevádzky. Ale určite sa zhodneme, že je veľmi pracné nastavoavť všetky klienty samostatne. Riešenie (hoci len čiastočné) tohoto problému je využitie tzv. transparentného proxy servera.
Transparentný proxy server nie je priehľadný, ako by to mohlo navádzať slovo transparent, ale taký proxy server, o ktorom klienti ani nevedia. Naďalej posielajú svoje požiadavky na štandardný port číslo 80 a o zvyšok sa postará server. Pozornejší si určite všimli malú drobnosť, a to že protokoly HTTPS a FTP nemožno týmto spôsobom obslúžiť, preto pre nichplatia naďalej nastavenia predchádzajúcich odsekov.
Pre funkčné nastavenie tohoto riešenia proxy servera je potrebné zmeniť nastavenia na dvoch miestach:
Začneme natavením proxy - vo Webmin otvoríme vetvu Servery a kliknúť na odkaz Squid Proxy Server. Na stránke ktorá sa zobrazí potom klikneme na Ports and Networking.
Na stránke ktorá sa otvorí prepneme prepínač Proxy addresses and ports do polohy Listed below.., do poľa Port zadáme 3128 a do poľa Options for port napíšeme transparent. Nakoniec nastavenia uložte ťuknutím na tlačidlo Save.
Pokračovať budeme nastavením firewallu - v ľavej časti otvoríme vetvu Sieť a ťukneme na odkaz Linux Firewall. V rozbaľovacom poli vyberieme Network address translation (nat) a ťukneme na tlačidlo Show IPtable. Na stránke, ktorá sa zobrazí v časti PREROUTING ťuknite na modrú šipku v stĺpci Add aby sa nové pravidlo pridalo pred prvé pravidlo.
Teraz zadefinujeme pravidlo, ktoré požiadavky presmeruje:
a nakoniec nastavenie uložíme ťuknutím na tlačidlo Uložiť.
Teraz je ešte potrebné na stánke firewallu Aplikovať nastavenia
a spustiť script webmin-ipt, aby sa nové pravidlo pre firewall načítalo. Otvoríme položku Systém a klikneme na Štart a vypnutie. Zaškrtneme políčko webmin-ipt a ťukneme na tlačítko Start Selected.
O tejto možnosti sa dozviete viac v podkapitole
Ako blokovať určité webové stránky v jednotlivých učebniach počas vyučovania
Proxy server okrem toho, že ukladá webové stránky do medzipamäte a urýchľuje komunikáciu, dokáže pomocou kombinácie určitých druhov zoznamov tzv. ACL (access control list) riadiť prístup k internetu. Okrem iného umožňuje pomocou troch pravidiel blokovať niektoré stránky na základe ich adries alebo IP adries a to na konkrétnych počítačoch (s určitými doménovými menami alebo IP adresami) počas trvania vyučovania.
Ak chcete stránky filtrovať podľa obsahu, slúži na to iný nástroj, ktorému sa budeme venovať v kapitole Ako nastaviť na školskom serveri filtrovanie webových stránok podľa obsahu.
Táto časť predpokladá nainštalovaný proxy server Squid na vašom serveri. Návod nájdete na stránke Ako nastaviť ukladanie webových stránok na školský server.
V rozhraní Webmin rozbalíme ponuku Servery a klikneme na odkaz Squid Proxy Server. Na stránke, ktorá sa otvorí, vyberieme Acces Control.
Ak si spomínate, v predchádzajúcej časti sme tu definovali parametre našej siete. Pod zoznamom pravidiel prístupu v rozbaľovacom poli sme vybrali Client Address a ťukli na tlačidlo Create new ACL. Vysvetlenie ďalších ACL pravidiel, ktoré môžeme použiť, je možné nájsť na konci tohto článku. Teraz si na konkrétnych príkladoch ukážeme ich použitie.
Za predpokladu, že máme na počítačoch nastavené IP adresy - buď ručne alebo pomocou DHCP servera (Ako nastaviť školský server, aby prideloval IP adresy na základe MAC adries)- môžeme zadefinovať pravidlá pre jednotlivé učebne.
Urobíme to presne tak isto ako keď sme definovali pravidlo pre celú vnútornú sieť, no teraz zadáme len rozsah adries počítačov z učebne.
V našom návode sme si zadefinovali učebňu informatiky v rozsahu 192.168.1.10-192.168.1.20, čo predstavuje 11 počítačov - jeden učiteľský (192.168.1.10) a 10 žiackych.
Pod zoznamom pravidiel prístupu teda v rozbaľovacom poli vyberieme Client Address a ťukneme na tlačidlo Create new ACL a zadáme:
ACL name : ucebna_studenti
From IP : 192.168.1.11
To IP : 192.168.1.20
Netmask :24
A potom zoznam uložíme stlačením tlačidla Save.
Takýmto spôsobom môžme vytvoriť zoznamy pre všetky učebne, kabinety, zborovňu alebo knižnicu - fantázii sa medze nekladú.
Teraz zadefinujeme čas, počas ktorého prebieha vyučovanie. Pod zoznamom pravidiel prístupu, teda v rozbaľovacom poli, vyberieme Date and Time, ťukneme na tlačidlo Create new ACL a zadáme:
ACL name : vyucovanie
Days of weak : pomocou klávesy CTRL+ kliknutie myšou označíme všetky položky od monday po friday (pondelok až piatok)
Hours of the Day : zadáme začiatok a koniec vyučovania napr.: 7:00 to 15:00
Jednou z najnavštevovanejších stránok, ktorá počas vyučovania rozptyľuje žiakov od práce a navyše znižuje priepustnosť interntetu, je stránka youtube. Môžme teda vytvoriť pravidlo problemove_stranky a vypísať do neho všetky adresy problémových serverov (môže ich byť i viac).
Pod zoznamom pravidiel prístupu teda v rozbaľovacom poli vyberieme Web Server Hostname, ťukneme na tlačidlo Create new ACL a zadáme:
ACL Name : problemove_stranky
Domains : .youtube.com
Ak by ste potrebovali do zoznamu vložiť iba určitú časť webu, napríklad akčné hry na onlinegames na adrese http://www.onlinegames.sk/index.php?cath=2, použite pravidlo URL Regexp (viď zoznam pravidiel na konci kapitoly).
Samotné zoznamy, ktoré sme vytvorili ešte nezabezpečia, že bude prístup na stránky (spĺňajúce kritéria zoznamu) zablokovaný alebo povolený. Je ešte potrebné vytvoriť obmedzujúce pravidlo:
Prepneme sa teda hore na záložku Proxy restriction a pod zoznamom pravidiel ťukneme na odkaz Add proxy restrictions
Uvidíme dva stĺpce. V ľavom stĺpci Match ACLs vyberieme ACL zoznamy, ktoré sa majú zhodovať s požiadavkou klienta a vpravom stlpci Don't Match ACLs vyberieme ACL zoznamy, ktoré sa nesmú zhodovať s požiadavkou klienta. Vybrať môžeme i viacero ACL zoznamov naraz.
Ak teda chceme zablokovať problemove_stranky počas vyucovanie na počítačoch ucebna_studenti, v ľavom stĺpci vyberieme pomocou CTRL+klik práve tieto ACL zoznamy, prepínač prepneme do polohy Deny a uložíme stlačením tlačidla Save.
Browser Regexp
Regulárny výraz, ktorý sa zhoduje s typom prehliadača klienta v hlavičke. To umožňuje vytvárať ACL na základe používaného prehliadača. Pomocou tohto typu ACL môžete napríklad vytvoriť iné pravidlá pre používateľov Firefoxu a iné pravidlá pre používateľov Internet Explorera. Toto môže byť využité napríklad na presmerovanie používateľov Firefoxu na stránky určené pre Firefox a používateľov IE na stránky určené pre Explorer. Príklad nie je síce rozumné riešenie, ale dokumentuje flexibilitu Squidu.
Client IP Address
IP adresa vyžiadaného klienta alebo IP adresa klienta. Táto možnosť odkazuje na zdrojové ACL v konfiguračnom súbore Squidu. Je potrebné zadať IP adresu a sieťovú masku, ale je tiež možné zadať rozsah adries.
Client Hostname
Zhoda na základe doménového mena klienta. Táto možnosť korešponduje so srcdomain ACL a môžete zadať jedno meno domény, zoznam doménových mien alebo súbor, ktorý obsahuje zoznam doménových mien. Tento typ ACL môže zvýšiť oneskorenie a významne znížiť priestupnosť nahranej vyrovnávacej pamäte, pretože Squid musí preložiť adresu na meno pre každý záznam, preto sa miesto tohoto pravidla uprednostňuje pravidlo typu Client IP Address.
Client Hostname Regexp
Zhoda na základe doménového mena klienta (s použitím regulárnych výrazov). Táto voľba korešponduje so srcdom_regex ACL a môžete zadať jedno meno domény, zoznam doménových mien alebo súbor, ktorý obsahuje zoznam doménových mien.
Date and Time
Tento typ plne zodpovedá názvu- dátum a čas, čo znamená že umožňuje vytvoriť ACL, ktoré sú aktívne počas zadaného času v príslušných dňoch týždňa. Táto funkcia je často používaná na blokovanie niektorých typov obsahov alebo niektorých častí internetu počas pracovnej doby alebo vyučovania. Veľa spoločností blokuje pornografiu, Many companies block pornography, zábavu, šport a iné mimopracovné stránky počas pracovnej doby, ale po jej skončení sa odblokujú. To môže v niektorých prípadoch zvýšiť efektivitu práce (alebo môže často uraziť a znechutiť žiakov a zamestnancov). Tento typ ACL umožňuje zadať dni v týždni a časové obdobie alebo vybrať všetky hodiny vo vybraných dňoch.
Dest AS Number
Číslo autonómneho systému cieľa je číslo AS servera, na ktorý sa bude odosielať požiadavka. ACL typ Číslo autonómneho systému sa zvyčajne používa pri Cache Peer, alebo ICP obmedzeniach prístupu. Číslo autonómneho systému sa používa v organizáciách, ktoré majú viacero internetových pripojení a routerov pracujúcich pod jednoduchou administračnou autoritou, ktorá používa rovnaký protokol brány. Ak nerozumiete autonómnym systémom, je najlepšie nepoužívať tento druh ACL.
Source AS Number
Číslo autonómneho systému zdroja je iný typ ACL závislý na AS čísle zdroja odosielajúceho požiadavku.
Ethernet Address
Ethernetová alebo MAC adresa žiadajúceho klienta. Táto možnosť funguje iba pre klientov v rovnakej lokálnej podsieti a iba na určitých platformách. Tento typ ACL je podporovaný v operačných systémoch Linux, Solaris a niektorých variantách BSD. Tento ACL môže poskytnúť o trochu viac bezpečnú metódu na kontrolu prístupu, pretože MAC adresy sú ťažšie podvrhnuteľné ako IP adresy a môžete tým zabezpečiť, že klient bude z lokálnej siete (otherwise no ARP resolution can take place).
External Auth
Tento typ ACL zavolá externý autentifikačný proces, aby určil, či má byť požiadavka povolená. Pre Squid je dostupných mnoho pomocných autentifikačných programov, vrátane PAM, NCSA, Unix passwd, SMB, NTLM (iba pre Squid 2.4), atď. Autentifikačné programy však nemôžu pracovať ak je zapnuté transparentné proxy (tak ako sme to urobili v našom návode) alebo HTTP akcelerátor.
External Auth Regex
Podobne ako predchádzajúce, aj toto ACL volá externý autentifikačný proces, ale umožňuje použiť vzory regulárnych výrazov alebo nerozlišuje malé a veľké písmená.
Proxy IP Address
Lokálna IP adresa, ku ktorej existuje pripojenie od klienta. Toto ACL umožňuje iba jednu fyzickú sieť, ak sú dostupné viaceré proxy rozhrania.
RFC931 User
Meno používateľa je dané démonom ident, ktorý beží na počítači klienta. To si vyžaduje, aby bol ident spustený na všetkých klientských počítačoch, ktoré sa chcú touto cestou autentifikovať. Ident nemusí byť bezpečný, okrem prípadov privátnych sietí, keď na jeho bezpečnosti veľmi nezáleží. Väčšina Linuxových a BSD distribúcií obsahuje Ident server a pre Windows sa dajú najsť ident servery zadarmo.
Request Method
Tento typ ACL pracuje s HTTP metódami vo vyžiadaných hlavičkách. To zahŕňa i metódy GET, PUT, atď.
URL Path Regex
Toto ACL pracuje s URL cestami bez protokolu, portu a adresy počítača. Napríklad pri zadaní "http://www.swelltech.com/pokus" bude objektom ACL iba /pokus.
URL Port
Toto ACL platí pre cieľový port požiadavky.
URL Protocol
Toto ACL platí pre protokol požiadavky ako napríklad ftp, HTTP, ICP, atď.
URL Regexp
Toto ACL používa regulárne výrazy nad URL adresami. Môže byť použité na poskytnutie prístupu na základe častí URL alebo porovnávanie bez rozlišovania veľkosti písmen, atď. Regulárne výrazy, ktoré Squid používa, sú z knižnice GNU Regex library.
Web Server Address
Toto ACL pracuje na základe cieľovej IP adresy Web servera. Môže to byť jedna IP adresa Squidu, sieťová IP adresa s maskou ale tiež rozsah adries.
Web Server Hostname
Toto ACL platí pre meno cieľového webového servera.
Web Server Regexp
Rovnaké ako predchádzajúce len je možné použit regulárne výrazy.
Poznámka: Viac o regulárnych výrazoch sa môžete dozvedieť na stránke http://www.regularnivyrazy.info/
Nastavenie sieťových nastavení na lokálnych počítačoch v sieti je možné pomocu DHCP servera. Tento sa stará o to, aby klient na základe vyslanej požiadavky do siete a následného overenia obdržal IP adresu potrebnú pre fungovanie. Klient v sieti obdrží odpoveď od servera a sám nakonfiguruje sieťové zariadenie, sieťovú kartu. Server prenajme klientovi IP adresu na určitý čas. Ten je závislý od nastavenia. Niekedy však potrebujeme, aby server pridelil klientom vždy tú istú IP adresu. No aj to sa dá ukážeme si to v podkapitole Ako nastaviť školský server, aby prideloval IP adresy na základe MAC adries.
Na nastavenie DHCP nám opäť bude stačiť rozhranie Webmin. Konfigurácia DHCP servera nájdeme pod položku Servery a v nej klikneme na odkaz DHCP. Ak tak urobíme, zistíme, že server DHCP nie je ešte nainštalovaný. V texte sa dozviete, že sa DHCP server nainštalovať aj z tejto stránky. NEROBTE TO!!! Je tu zrejme malá chyba, ktorá spôsobuje, že webmin počas inštalácie so serverom prestane komunikovať. Našťastie sa dá server nainštalovať i iným spôsobom.
Otvorte položku Ostatné a vyberte Príkazový riadok. Do okna zadajte
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte
sudo apt-get install -f -y --force-yes dhcp3-server
(prepínače -f -y a --force-yes zabezpečia , že sa inštalácia vykoná automaticky bez nutnosti odpovedať na otázky)
a stlačte tlačidlo Vykonaj príkaz
Tento krok nie je až taký potrebný ale ukážeme ho, pre prípad že by ste chceli vytvoriť dve podsiete napríklad pre každú školskú budovu jednu. Po nainštalovaní DHCP servera môžete otvoriť Servery a klinúť na odkaz DHCP Server. V novootvorenom okne pridáme novú podsieť kliknutím na odkaz Pridať novú subnet.
Teraz je potrebné zadefinovať rozsah adries, ktoré bude server automaticky prideľovať ostatným počítačom v sieti. Nastavenie sa opäť líši podľa toho, či máte v počítači jednu alebo dve sieťové karty.
Jedna sieťová karta | Dve sieťové karty |
Sieťová adresa:10.x.y.0 (x a y sú čísla z vašej IP v EDU#Net) Sieťová maska:255.255.255.0 Address range:10.X.Y.100 - 10.x.y.254 |
Sieťová adresa: 192.168.1.0 Sieťová maska:255.255.255.0 Address range:192.168.1.100 - 192.168.1.254 |
Nastavenie, ktoré sme urobili, hovorí, že má server pridelovať počítačom IP adresy s koncovými číslami 100-254. Je samozrejme možné nastaviť celý rozsah napríklad 1-254, no my sme chceli mať možnosť na niektorých počítačoch IP adresu nastaviť ručne. Na ručné nastavenie nám zostal rozsah adries 2-100 resp 3-100 (v prípade jednej sieťovej karty je 1 router a 2 server).
Po zadaní všetkých parametrov stlačíme tlačidlo Vytvor.
Na hlavnej stránke DHCP servera sa v spodnej časti nachádza tlačidlo Edit Client Options. V prípade že ste definovali podsieť, nemusíte klientské nastavenia definovať globálne ale iba pre konkrétnu podsieť (alebo môžete časť zadefinovať globálne a časť pre podsieť).
Na stránke DHCP Servera pribudne nová podsieť. Kliknutím na obrázok znova otvorte jej nastavenia.
V spodnej časti pribudli ďalšie tlačítka. Stlačte tlačítko Edit Client Options.
Do okienok nastavte nasledujúce údaje v závislosti od počtu sieťových kariet na serveri:
Jedna sieťová karta |
Dve sieťové karty |
Štandardné routre: 10.x.y.2 (x a y sú čísla IP adresy školy v sieti EDU#Net) Broadcast adresa: 10.x.y.255 DNS servre: 10.x.y.2 195.146.128.60 195.146.132.59 Subnet maska: 255.255.255.0 Doménové meno: domena.edu.sk (miesto domena zadajte vašu doménu napr. pre nás gymkremnica) |
Štandardné routre: 192.168.1.1 Broadcast adresa: 192.168.1.255 DNS servre: 192.168.1.1 195.146.128.60 195.146.132.59 Subnet maska: 255.255.255.0 Doménové meno: domena.edu.sk (miesto domena zadajte vašu doménu napr. pre nás gymkremnica) |
NEZABUDNITE PREPNÚŤ PREPÍNAČE DO POLOHY VEDĽA ZADANÝCH ÚDAJOV!!! Nakoniec stlačte tlačidlo Uložiť a na ďalšej strane zovu stlačte tlačidlo Uložiť.
Teraz stačí spustiť DHCP server kliknutím na tlačidlo Spustiť server.
Po spustení môžeme funkčnosť otestovať tak, že na klientskej stanici nastavíme v sieťových nastaveniach "Získať IP adresu automaticky" a "Získať adresu DNS automaticky" (Platí pre Windows XP, v ostatných systémoch sú tieto nastavenia podobné). Po reštarte počítača by si počítač mal sám zistiť sieťové nastavenia od DHCP servera. To znamená, že po reštarte by mal fungovať i internet - stačí teda otvoriť internetový prehliadač a ten by mal načítať internetovú stránku (ak v ňom nemáte nastavený iný počítač ako proxy server).
Problém môže nastať v prípade, že máte iba jednu sieťovú kartu. V tom prípade je v sieti ešte jeden DHCP server - Router CISCO. Občas sa teda môže stať, že klienstská stanica získa nastavenia od Routra CISCO miesto od Nášho servera. Preto je potrebné požiadať o vypnutie DHCP servera na Routri Cisco. POZRI ako-zabezpecit-aby-bol-skolsky-server-viditelny-z-internetu
V prípade dvoch sieťových kariet by malo byť všetko v poriadku ak je jedna sieťová karta pripojená do routra a druhá do switchu, pričom router a switch nesmú byť navzájom prepojené.
Dôvod prečo by sme mali chcieť prideľovať počítačom IP adresy na základe MAC adries je ten, že to umožňuje riadiť prístup k internetu pre jednotlivé počítače.
Môžeme napríklad všetkým počítačom z učebne informatiky prideliť adresy z rozsahu 192.168.1.10 - 192.168.1.20 a potom im pomocou pravidiel proxy servera zakázať prístup na niektoré stránky počas vyučovania (viac v kapitole Ako blokovať určité webové stránky v jednotlivých učebniach počas vyučovania).
Aby sme mohli nastaviť prideľovanie IP adries na základe MAC - hardvérovej adresy sieťovej karty, musíme túto MAC adresu zistiť na konkrétnom klientskom počítači.
Ak je na klientskom počítači Windows XP, môžete IP adresu zistiť v príkazovom riadku (Štart-->Všetky programy-->Príslušenstvo-->Príkazový riadok) zadaním príkazu:
ipconfig /all
na obrazovke uvidíte výpis podobný tomuto:
Konfigurace IP systému Windows 2000
Název hostitele . . . . . . . . . : nazovpc
Primární přípona DNS. . . . . . . :
Typ uzlu. . . . . . . . . . . . . : Vysílání
Používá směrování IP. . . . . . . : Ne
Používá server proxy WINS . . . . : Ne
Seznam vyhledávání přípon DNS . . : vasadomena.edu.sk
Názov hostiteľa. . . . . . . . . . . . . : nazovpc
Primárna prípona názvu DNS . . . . . . . :
Typ uzla . . . . . . . . . . . . . . . . : Neznámy
Smerovanie protokolu IP povolené . . . . : Nie
WINS Proxy Enabled . . . . . . . . . . . : No
Adaptér siete Ethernet Local Area Connection:
Prípona DNS špecifická pre pripojenie . :
Popis. . . . . . . . . . . . . . . . . . : AMD PCNET Family PCI Ethernet Adapter
Fyzická adresa . . . . . . . . . . . . . : 08-00-27-49-EB-DC
DHCP zapnuté . . . . . . . . . . . . . . : Áno
Automatická konfigurácia zapnutá . . . . : Áno
Adresa IP. . . . . . . . . . . . . . . . : 192.168.1.151
Maska podsiete . . . . . . . . . . . . . : 255.255.255.0
Predvolená brána . . . . . . . . . . . . : 192.168.1.1
Server DHCP. . . . . . . . . . . . . . . : 192.168.1.1
DNS Servers. . . . . . . . . . . . . . . : 192.168.1.1
Prenájom získaný . . . . . . . . . . . . : 1. februára 2009 10:38:56
Prenájom uplynie . . . . . . . . . . . . : 2. februára 2009 10:38:56
Na klientskom počítači sa dá mac adresa zistiť rovnako cez príkazový riadok (Na Ubuntu je to Aplikacie-->Príslušenstvo-->Terminál) zadaním príkazu:
ifconfig -a
Na obrazovke uvidíte výpis podobný tomuto:
eth0 Link encap:Ethernet HWaddr 00:0e:2e:9e:58:7e
inet addr:192.168.1.151 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20e:2eff:fe9e:587e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7653 errors:0 dropped:0 overruns:0 frame:0
TX packets:8581 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4679283 (4.6 MB) TX bytes:1459824 (1.4 MB)
Interrupt:18 Base address:0xf400
Cez webový prehliadač zadáme adresu rozhrania Webmin (Ako sa pripojiť do rozhrania Webmin na školskom serveri).
Otvoríme vetvu Servery a ťukneme na odkaz DHCP Server a na stránke, ktorása otvorí klikneme na odkaz Pridať novú skupinu hostiteľov.
Teraz môžeme začať vytvárať Klientské počítače. Klikneme na odkaz Pridať nového hostiteľa.
Priradenie skupiny do podsiete a hostiteľa do skupiny je dôležité vykonať správne kvôli dedeniu nastavení klienta. Nastavenie klientov môžete pozmeniť proti nadriadenej podsieti alebo nadriadenej skupine, stačí ak znova otvoríte skupinu alebo hostiteľa a potom v spodnej časti ťuknete na tlačidlo Edit Client Options.
Na koniec je ešte potrebné reštartovať DHCP server.
Po reštarte klientského počítača by mu pri štarte mala byť IP adresa pridelená. Môžme to overiť na stránke DHCP servera kliknutím na tlačidlo List Active Leases.
Ak ste sa rozhodli, že chcete obmedziť žiakom prístup na stánky, na ktorých je nevhodný obsah, môžete využiť tzv. Content filter - filter obsahu. Jedným z takýchto filtrov je DansGuardian. Na rozdiel od bežných webových filtrov, ktoré udržiavajú obrovské zoznamy zakázaných URL adries, tento filter funguje ako skutočný filter obsahu t.j. vážením výrazov určí či je stránka vhodná alebo nevhodná, dokonca dokáže filtrovať aj obrázky a tiež dokáže filtrovať i URL adresy ako bežné filtre.
Najskôr musíme DansGuardian nainštalovať. Otvorte preto v rozhraní Webmin vetvu Others a ťuknite na odkaz Príkazový riadok, do poľa zadajte príkaz
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte
sudo apt-get install -f -y --force-yes dansguardian
a stlačte tlačidlo Vykonaj príkaz. Potom ešte treba chvíľu počkať kým sa proxy server Squid nainštaluje. Potom ako bude inštalácia hotová, zjaví sa priebeh inštalácie.
Aby bol konfiguračný súbor funkčný je potrebné odstrániť riadok 'UNCONFIGURED' (nekonfigurované)
Tento krok je potrebné vykonať priamo na serveri alebo cez SSH prístup (ako sa pripojiť ku školskému serveru cez ssh).
sudo mc
/etc/dansguardian.conf
Aby sa dali zmeniť niektoré nastavenia DansGuardianu, je potrebné do rozhrania Webmin doinštalovať nový modul. Do rozhrania webmin ho vložíme tak, že najskôr ťukneme na vetvu Webmin, potom na odkaz Konfigurácia Webminu a na stránke ktorá sa otvorí, ťukneme na Moduly Webminu.
Na stránke, ktorá sa zobrazí, prepneme prepínač do polohy Moduly tretích strán z a ťukneme na tlačítko Vyber.
V ponuke, ktorá sa otvorí vyberte Dansguardian.
Do okienka sa načítala adresa s miestom, kde je modul uložený, takže už stačí ťuknúť iba na Inštaluj modul.
Nakoniec ešte obnovíme stránku pomocu tlačidla v prehliadači aby sa nám zobrazil odkaz na práve nainštalovaný modul.
Aby DansGuardian správne fungoval, je potrebné zmeniť načúvací port pre Squid a nastaviť Dansguardian aby svoje požiadavky posielal Squidu. To môžeme urobiť keď ťukneme na vetvu Servery, v nej ťukneme na odkaz Dansguardian a na stránke, ktorá sa otvorí, ťukneme na View/Edit Config.
V tomto nastavení sa dozviete, že DansGuardian načúva na porte 8080 a svoje požiadavky posiela na port 3128, na ktorom načúva proxy server Squid.
Toto nastavenie vykonáme pomocou nastavení firewallu. V ľavej časti otvoríme vetvu Sieť a ťukneme na odkaz Linux Firewall. V rozbaľovacom poli vyberieme Network address translation (nat) a ťukneme na tlačidlo Show IPtable. Na stránke, ktorá sa zobrazí v časti PREROUTING ťuknite na pravidlo Redirect, ktoré sme vytvorili v minulej časti.
Do poľa Additional parameters zadáme miesto --to-port 3128 novú hodnotu --to-port 8080
a nakoniec nastavenie uložíme ťuknutím na tlačidlo Uložiť.
Teraz je ešte potrebné na stánke firewallu Aplikovať nastavenia
a spustiť script webmin-ipt, aby sa nové pravidlo pre firewall načítalo. Otvoríme položku Systém a klikneme na Štart a vypnutie. Zaškrtneme políčko webmin-ipt a ťukneme na tlačítko Start Selected.
Filtre DansGuardianu sú veľmi agresívn, takže sa vám spočiatku bude stávať, že dansguardian občas zablokuje i to, čo by nemal. Je v ňom tiež prednastavené, blokovanie sťahovania súborov s určitými príponami. Z tohto dôvodu by na staniciach s operačným systémom nefungovali aktualizácie.
Zlé nastavenie tohto nástroja môže mať za následok, že sa stránky nebudú korektne načítavať!!! Ak zistíte, že vám niečo nefunguje pravdepodobne bude príčina práve v zlom nastavení tohto servera!!!
Ťuknime teda na vetvu Servery, v nej ťukneme na odkaz Dansguardian a na stránke, ktorá sa otvorí, ťuknime na View/Edit Groups.
Otvorí sa nám zoznam pravideil skupiny. Pravidlá sú rozdelené podľa významu takto:
Spomedzi pravidiel najskôr vyberieme do zoznamu zakázaných prípon bannedextensionlist.
Prípony v súbore sú rozdelené na štyri časti:
Spočiatku sú zakázané takmer všetky prípony. Odporúčame teda veľmi starostlivo zvážiť, ktoré prípony zakážete, a ktoré necháte povolené. minimálne odporúčame povoliť súbory cab, dll a msi, bez ktorých nefunguje automatická aktualizácia MS Windows (samozrejme môžete aktualizáciu na klientoch vykonávať i ručne ak v prehliadač dočasne zmeníte nastavenie proxy servera na port 3128). Povolíte ich tak, že pred príponu dopíšete znak # (na slovenskej klávesnici AltGR + x).
Súbor bannedmimetypelist obsahuje MIME typy, ktoré určujú aký typ obsahu sa môže prehrať v prehliadači priamo zo stránky. Povolené sú všetky typy ale ak chcete kvôli zrýchleniu komunikácie žiakom zakázať prehrávanie niektorého typu (napr. videa), stačí vymazať znak # pred daným typom.
V súbore bannedregexpurllist sa nachádzajú pravidlá, ktoré zablokujú URL adresy, ktoré obsahujú určitý výraz. Pri nastavení pravidiel buďte opatrní, pretože ak napríklad vložíte výraz "sex" nezablokujete len sex.com ale tiež middleesex.com.
V súbore bannedurllist sa nachádza zoznam zakázaných URL adries. Uožňuje zakázať adresy ako napríklad http://www.domena.com/porno
V súbore bannedsitelist sa nachádza zoznam zakázaných URL adries. Uožňuje zakázať adresy ako napríklad porno.com
V súbore bannedphraselist môžeme zadefinovať slová alebo výrazy, ktoré spôsobia zablokovanie stránky.
V súbore sa už nachádzajú tri zoznamy
.Include</etc/dansguardian/phraselists/pornography/banned> - pornografia
.Include</etc/dansguardian/phraselists/illegaldrugs/banned> - nelegálne drogy
.Include</etc/dansguardian/phraselists/gambling/banned> - hazard, stávkovanie
Tu odporúčame posledný zoznam zrušiť, pretože je málo pravdepodobné, že žiaci budú vyhľadávať stávkovanie v cudzom jazyku.
Ak chcete zadefinovať nové pravidlá tak sa to robí takto:
Napríklad môžete zadefinovať takéto pravidlá:
<Videa>,<Bradavky>
<Fotky>,<Prsia>
Veľmi užitočné je definovať výnimky spomedzi stránok URL adries a fráz, ktoré Dansguardian nemá blokovať.
Napríklad v súbore so stránkami exceptionsitelist môžete zadefinovať takéto výnimky:
dansguardian.org
windowsupdate.microsoft.com
windowsupdate.com
post.sk
pobox.sk
forum.ubuntu.cz
edu.sk
Zoznamy greyurllist a greysitelist umožňujú pre určité stránky vypnúť hľadanie zakázaných výrazov v adrese URL ale ponechávajú zapnuté filtrovanie obsahu.
V súbore weightedphraselist je možné definovať zlé a dobré výrazy tak, že každemu výrazu sa priradí hodnota. Napríklad výrazom sex a tvrdý priradíme kladnú - zlú hodnotu <sex><20> <tvrdý><10> a výrazu výchova priradíme zápornú - dobrú hodnotu <výchova><-100>. Výsledok bude ten, že ak sa na stránke bude nachádzať "tvrdý sex" tak sa stránka zablokuje ale ak tam bude "sexuálna výchova" spolu s "tvrdý penis" stránka sa povolí. Jediný háčik je diakritika - je potrebné použiť iba slová alebo časti slov bez diakritiky.
Aby sa stránky tak často neblokovali je potrebné práve do tohto súboru definovať niektoré slovenské výrazy a naopak cudzojazyčné zoznamy slov odstránte.
Príklad niekoľkých dobrých slov.
<enstvo><-10>
<kolstvo><-10>
<vzdel><-10>
<chova><-10>
<veda><-10>
<politika><-10>
<zdravie><-10>
V súbore contentregexplist môžeme zadefinovať slová, ktoré sa majú nahradiť napríklad slovom "cenzurované". S touto funkciou však narábajte veľmi opatrne, pretože môže spôsobiť že sa nahradia aj HTML značky a ich parametre, čo bude mať za následok nefunkčnosť niektorých stránok.
Tu je príklad ako súbor môže vyzerať (ospravedlňujeme sa za vulgarizmy, ktore sme použili ako ukážku):
" kokot | kokoty | kokot "->" **cenzurované** "
Samozrejme je možné zadefinovať používateľou ale IP adresy počítačov, ktorým sa stránky nebudú filtrovať. Ale je tiež možné zadefinovať zoznam používateľov a IP adresy počítačov, ktorým sa má uplne zablokovať prístup na internet.
Stačí ťuknúť na odkaz Dansguardian a na stránke, ktorá sa otvorí, ťuknime na View/Edit Files.
Po tom ako zmeníte pravidlá filtrovania je potrebné reštartovať DansGuardian.
Dansguardian bohužiaľ nemá možnosť ochrany proti prístupu z vonkajšej siete. Toto je možné zabezpečiť dvoma sôsobmi. Jeden je autentifikácia prebraná od proxyservera Squid a druhým je ochrana pomocou firewallu. Prvý spôsob by vyžadoval aby sa pri každom pokuse pripojiť na internet používateľ zadal svoje heslo, čo je dosť obmedzujúce, preto sme zvolily druhý spôsob.
Otvorte vetvu Sieť a ťuknite na odkaz Linux Firewall. Na stránke ktorá sa otvorí vytvoríme nové pravidlo nad prvé pravidlo Drop (predpokladáme že už máte vytvorené pravidlá firewallu), ťuknutím na modrú šípku smerujúcu nahor.
Nastavíme takéto vlastnosti:
Prepínač Action to take prepneme do polohy Drop
Network Protocol nastavíme na Equals TCP
Destination TCP or UDP port nastavíme na Equals port 8080
Ťukneme na tlačidlo Uložiť.
Na stránke s pravidlami ťukneme na tlačidlo Apply Configuration
Nakoniec ešte musíme znova načítať pravidlá firewallu.
Otvoríme vetvu Systém a ťukneme na odkaz Štart a vypnutie. Zaškrtneme pravidlo webmin-ipt a ťukneme na tlačítko Start.
Novým používateľom, ktorých vytvoríme na serveri sa automaticky vytvorí ich domovský priečinok, v ktorom budú mať mimo iného i priečinok kam sa bude ukladať pošta.
Otvoríme vetvu Systém a klikneme na Users and Groups. Na otvorenej stránke ťukneme na odkaz Create a new user.
Teraz zadáme pre používateľa prihlasovacie meno do políčka Username, jeho skutočné meno do poľa Real name, do poľa Normal password zadáme pre neho rovnaké heslo ako je jeho prihlasovacie meno. Ak sa jedná o žiaka zaradíme ho do novej skupiny, ktorú nazveme podľa jeho triedy. Nakonies stlačíme tlačidlo Vytvor
Pri vytváraní ďalšieho používateľa z rovnakej skupiny už skupinu stačí do poľa Existing group uviesť už existujúcu skupinu alebo vybrať zo zoznamu pomocou tlačidla za týmto poľom.
Používateľov je tiež možné zaraďovať do viacerých skupín - napríklad pán riaditeľ môže byť súčasne v skupine "ucitel" i v skupine "vedenie". Viacero skupín môžeme vybrať pomocou myši a klávesy CTRL v poli Secondary groupsTeraz, keď už máte vytvorených používateľov, môžeme nastaviť odosielanie a prijímanie pošty. Všetky školy zapojené do projektu Infovek mali zriadený doménový kôš na ST Online. Do doménového koša prichádza všetka pošta určená pre školu. Z tohto koša ho potom školský server môže preberať a triediť svojím používateľom. Školy mali tiež možnosť požiadať miesto doménového koša o tri emailové adresy. Ak je to váš prípad, je možné opätovne požiadať o obnovu doménového koša, no lepšou možnosťou je požiadať o zmenu DNS záznamu aby sa pošta doručovala priamo na váš server. Túto možnosť si ukážeme v nasledujúcej kapitole
Najskôr musíme nainštalovať program, ktorý bude poštu preberať. Otvorte preto v rozhraní Webmin vetvu Others a ťuknite na odkaz Príkazový riadok, do poľa zadajte príkaz
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte
sudo apt-get install -f -y --force-yes fetchmail
Otvorte vetvu Servery a ťuknite na odkaz Fetchmail Mail Retrieval. Do poľa zadajte meno používateľa, u ktorého sa bude pošta triediť a nakoniec stlačnte tlačidlo Add Fetchmail server for user.
Na stránke ktorá sa otvorí nastavte nasledujúce parametre:
Nakoniec údaje uložte kliknutím na tlačidlo Vytvor.
Teraz si môžete overiť funkčnosť kliknutím na odkaz Check All Servers. Mala by sa prevziať pošta aroztriediť medzi používateľov.
Bohužiaľ cez rozhranie Webmin sa nedá urobiť všetko (aspoň zatiaľ nie). Niektoré veci bude potrebné urobiť ručne. Prihlásime sa teda na server pomocou SSH prístupu (Ako sa pripojiť ku školskému serveru cez ssh) a spustíme Midnight commander (zadaním sudo mc). V domovskom priečinku sa nachádza súbor .fetchmailrc, ktorý otvoríme (F4) a doplníme hrubovyznačené riadky.
poll mail.stonline.sk with
proto POP3
auth password
localdomains <domena.edu.sk>
envelope 'Original-recipient:' qvirtual 'rfc822;'
user <login>
pass <heslo>
is *
nokeep
fetchall
Samozrejme výrazy v zátvorkách <> je potrebné nahradiť vašimi hodnotami.
Okrem týchto dvoch riadkov odporúčame na začiato dopísať tieto tri nastavenia:
Nastaviť komu majú byť doručované nedoručiteľné správy.
set postmaster <spravca@domena.edu.sk>
Zakázanie posielania chabových správ
set no bouncemail
a nastavit aby sa neupravovali hlavičky emailov.
set invisible
Nakoniec súbor uložíme (F2).
O doménovom serveri sme už hovorili v časti o ukladaní doménových mien. V tejto časti si povieme ako priradiť doménové mená nášmu serveru.
Ak správne nastavíme DNS, potom môžeme k serveru pristupovať miesto IP adresy iba pomocou jeho mena. Rovnako môžeme serveru nastaviť i viacero mien napríklad mail.nasadomena.edu.sk.
Domenové mená sa definujú do zón. Jeden zónový súbor by mal obsahovať údaje o jednej doméne, adresách v rámci tejto domény a umožňuje preklad doménového mena servera na jeho IP adresu. Na opačný preklad slúžia reverzné zónové súbory, ktoré definujú záznamy v špeciálnej doméne "in.addr-arpa". Reverzné DNS záznamy nie sú vo všeobecnosti povinné, mnoho služieb ich však vyžaduje (napr. niektoré konfigurácie mailových serverov neprijímajú maily od serverov bez reverzného záznamu) a preto by ste ich mali používať minimálne pre vaše servery, ktoré komunikujú s Internetom.
Viac informácií nájdete na http://deja-vix.sk/sysadmin/dns.html
Otvorte vetvu Servery a ťuknite na odkaz BIND DNS Server. Na stránke, ktorá sa otvorí, ťuknite na odkaz Create master zone.
Miesto vasadomena zadajte vašu doménu vašej školy (my sme zadali gymkremnica).
Vrátime sa späť nastránku BIND DNS Server a znova ťukneme na odkaz Create master zone.
Tento raz však prepínač Zone type prepneme do polohy Reverse (Addresses to Names). Ostatné parametre nastavíme takto
Po vytvorení zón, na stránke zóny vasadomena.edu.sk ťuknite na Adress.
Teraz zadefinujeme všetky mená, ktoré chceme priradiť serveru. Meno definujem vždy aj s doménou a na jeho konci vždy dáme bodku. Mená sa automaticky vytvoria i v reverznej zóne.
Zadefinujme teda nasledujúce mená:
Name: Server1.vasadomena.edu.sk.
Address: 10.x.y.2
Name: vasadomena.edu.sk.
Address: 10.x.y.2
Name: mail.vasadomena.edu.sk.
Address: 10.x.y.2
Name: ns.vasadomena.edu.sk.
Address: 10.x.y.2
Kde Server1 je meno servera a x a y sú čísla z IP adresy vašej školy v rámci siete EDU#Net.
Menný alias pre www službu zadefinujeme kliknutím na Name Alias.
Zadajte nasledujúce údaje:
Name: www.vasadomena.edu.sk.
Real Name: Server1
Nezabudnite na konci bodku.
Na stránke Zéony ťuknite na odkaz Mail Server.
Zadajte nasledujúce údaje:
Name: vasadomena.edu.sk.
Mail Name: mail.vasadomena.edu.sk.
Priority: 10
Nezabudnite na bodku na konci záznamov.
Nakoniec ešte aplikujte nastavenia kliknutím na tlačidlo Apply Changes.
Týmto sme vytvorili všetky potrebné záznamy pre server. Neskôr však ale ešte pridáme záznamy o ďalších počítačoch v našej sieti.
* dokumentácia k adduser
man adduser
* pohľadajte zmienku o súbore adduser.local
* nájdete, že mal by sa mal nacházať v
/usr/local/sbin/adduser.local
* ak tam nie je, tak ho vytvorte, argumenty do tohto súboru: username uid gid home-directory
* to je vlastne nejaký post-adduser skript. Keď vytvoríte usera, adduser na konci zavolá adduser.local (musí byť spusiteľný) a v ňom možete vykonať ďalšie operácie
V podstate, potrebujete tam dať niečo ako:
maildirmake ${4}/Maildir
chown -R ${2}:${3} ${4}/Maildir
ak
${2} je uid
${3} je gid
${4} je homedir
* skúste pridať tie dva riadky uvedené vyššie, do adduser.local, potom
chmod 700 adduser.local
a pridajte nejakého usera. Malo by to vytvoriť aj Maildir v jeho domácom adresári.
ls -la ~peter/Maildir ?
drwx------ 7 peter peter 4096 Dec 22 11:17 .
drwxr-xr-x 3 peter peter 4096 Dec 22 10:48 ..
drwx------ 6 peter peter 4096 Dec 22 11:17 .Trash
drwx------ 2 peter peter 4096 Dec 22 10:48 courierimapkeywords
-rw-r--r-- 1 peter peter 12 Dec 22 11:17 courierimapsubscribed
-rw-r--r-- 1 peter peter 15 Dec 22 10:49 courierimapuiddb
drwx------ 2 peter peter 4096 Dec 22 10:48 cur
drwx------ 2 peter peter 4096 Dec 22 10:48 new
drwx------ 2 peter peter 4096 Dec 22 11:19 tmp
Dobry den,
Nainstaloval Moodle na
skolsky server UBUNTU. Funguje az na jednu malickost: neviem pisat
matematicke vzorce. V Moodle som v nastaveniach povolil v Moduloch
Filter TEX, ktory to umoznuje. Ked som to spravil cvicne doma na
pocitaci kde mam XAMPP, vsetko bolo OK. Nahral som to na skolsky
server a tam sa vzorec nepodarilo zobrazit. Ine obrazky, vlozene sa
daju zobrazit. Myslim si, ze chyba bude niekde v nastaveniach servera.
V prilohe pripajam obr.
Dakujem za radu.
Navoy.
V predchádzajúcej časti sme hovorili ako prevziať poštu z doménového koša. Doménový kôš však nie je najšťastnejšie riešenie, najmä kvôli tomu, že do nej môže prísť aj mail pre neexistujúceho používateľa. Napríklad ak niekto pošle mail abrakadabra@vasadomena.edu.sk tak príde do doménového koša. Navyše niektoré školy si už požiadali o nahradenie doménového koša tromi mailovými adresami. Rozhodne je teda lepšie, požiadať o zmenu DNS záznamov aby sa pošta doručovala priamo na váš server.
Poštový server však potrebujete i v prípade, že používate doménový kôš. Odosiela sa cez neho pošta.
Otvorte vetvu Servery a ťuknite na odkaz Postfix Mail Server. Na stránke, ktorá sa otvorí ťukneme na odkaz General Options.
Nasledujúce parametre nastavte takto:
Kde domenaskoly je názov vašej domény v rámci siete EDU#net a a,b,c sú čísla IP adres, ktorú vám pridelí T-com. Server1 je názov vášho servera, ktorý ste mu dali pri inštalácii.
Tu do poľa Restrictions on recipient nastavte obmedzenia permit_mynetworks reject_unauth_destination.
Toto nastavenie je veľmi dôležité, ak ho neurobíte, bude môcť ktokoľvek prostredníctvom vašeho servera odoslať poštu, takže sa stanete rozosielateľmi nevyžiadanej pošty - spamu, čo bude viesť k zápisu vašej adresy do tzv. Blacklistov a ostatné serveri prestanú prijímať od vás poštu.
Nakoniec stlačte tlačidlo Save and Apply.
Prihláste sa pomocou SSH k serveru (Ako sa pripojiť ku školskému serveru cez ssh). Zadajte príkaz, ktorý vygeneruje certifikáty.
openssl req -new -outform PEM -out ssl-cert-snakeoil.pem -newkey rsa:2048 -nodes -keyout ssl-cert-snakeoil.key -keyform PEM -days 3650 -x509
V tomto riadku je pre vás užitočné vedieť, že hodnota 3650 je dĺžka platnosti certifikátu. Takže takto nastavenou hodnotou vygenerujeme certifikát, ktorý bude platný približne 10 rokov. Samozrejme ak sa vám zdá, že je to z hľadiska bezpečnosti príliž dlhá doba, tak môžete zvoliť menšiu hodnotu.
Na otázky odpovedajte takto:
Country name: SK
State or Provicne Name: Slovak Republic
Locality Name: Vaše mesto (v našom prípade Kremnica)
Organization Name: Názov vašej školy (v našom prípade Gymnázium)
Organization Unit Name: nechať nevyplnené (iba stlačiť enter)
Comon Nam: mail.vasadomena.edu.sk (v našom prípade mail.gymkremnica.edu.sk)
Email Address: spravca@vasadomena.edu.sk
Súbory s certifikátmi presuňte do správnych priečinkov.
sudo mv ssl-cert-snakeoil.key /etc/ssl/private/
sudo mv ssl-cert-snakeoil.pem /etc/ssl/certs/
Teraz sa znova vrátime do rozhrania Webmin otvoríme vetvu Servery a ťuknite na odkaz Postfix Mail Server. Na stránke, ktorá sa otvorí ťukneme na odkaz SMTP Authentication And Encryption.
Na nej skontrolujeme správnu cestu k certifikátom.
Nakoniec je ešte potrebné zastaviť a znova spustiť Postfix.
Rovnako skontrolujeme nastavenia certifikátov v nastaveniach Dovecot IMAP/POP3 Servera.
Pravdepodobne najvhodnejším klientom pre poštu je Mozilla Thunderbird. Funguje rovnako dobre v operačných systémoch MS Windows i Linux.
Po inštalácii na klientskom počítači zvolíme vytvorenie nového poštového účtu.
Zadáme celé meno používateľa a jeho emailovú adresu (predpokladáme, že ste používateľské kontá na serveri už vytvorili).
Zvolíme Imap prístup a server pre príjem i odosielanie pošty nastavte ako mail.vasadomena.edu.sk (v našom prípade mail.gymkremnica.edu.sk).
Ako používateľksé meno pre príjem pošty zadajte login používateľa.
Nazov účtu môžeme nechať nezmenený.
Na ďalšej obrazovke môžeme skontrolovať správnosť údajov.
Teraz je potrebné nastaviť šifrované spojenie so serverom. Zvolte Nástroje > Nastavenie účtov (MS Windows) alebo Úpravy < Nastavenie účtov.
V ľavej časti ťukneme na Nastavenie servera a prepínač prepneme do polohy TLS, ak je k dispozícii.
Teraz v ľavej časti ťukneme na Server pre odosielanie pošty a ťukneme na tlačidlo Upraviť.
V dialógovom okne opäť prepínač nastavte do polohy TLS, ak je k dispozícii a stlačte tlačidlo OK.
Nakoniec ešte môžeme nastaviť aby Thunderbird dôveroval označenie spamu SpamAssassinom.
Po potvrdení tlačidlom OK Vás Thunderbird upozorní na certifikát a spýta sa či ho chcete akceptovať. Zvolte trvalé akceptovanie.
Pred pripojením na server sa vás Thunderbird spýta na heslo používateľa. Ak sa pripája používateľ z domáceho počítača, môžu zvoliť uloženie hesla. AK sa však pripájajú na verejnom mieste tak je potrebné používateľov poučiť aby túto možnosť nepoužili.
Každá škola má od T-comu pridelený webový priestor s veľkosťou 30MB. Niektorým školám takýto priestor nestačil, a preto si niektoré požiadali o rozšírenie webového priestoru na 100 MB. Tiež je možnosť u T-comu požiadať o dynamicky web s podporou PHP a MySQL, ich server však beží na Windows, preto o každú zmenu nastavení treba žiadať, čo je dosť nepraktické. V prípade, že ste sa rozhodli nainštalovať školský server podľa nášho návodu je celkom dobré premiestniť naň aj webovú stránku.
Pred tým, ako požiadate o zmenu DNS záznamu v T-come aby vasmu serveru pridelil verejnu IP adresu a nastavil preklad adries, je potrebné aby ste celý obsah webu presunuli z webhostingu v T-come na váš server. Je to možné urobiť tak že sa prihlásite na server (pomocou prgramu Putty alebo priamo) a spustíte Midnight Commander (dalej MC).
sudo mc
V ľavom okne sa nastavte do priečinka /var/www. Potom sa stlačením F9 sa dostanete do hornej ponuky, v ktorom sa nastavte na vpRavo a stlačte kláves Enter. Zjaví sa ponuka, v ktorej vyberte FTP pripojenie.
Do okna zadajte:
login:heslo@www.vasadomena.edu.sk
Po pripojeni oznacte vsetky priečinky a súbory vo vašom webpriestore pomocou klávesy Ins (prefarbia sa na žlto) a zvolte kopírovať stlačením F5.
Po prekopírovaní je ešte potrebné zmeniť oprávnenia na súbory aby ich mohli všetci pozerať z internetu. Vypnite panely stlačením Ctrl+o a zadajte príkaz:
chown -R www-data.www-data /var/www
Teraz môžete otestovať či sa stránka zobrazí, ak na ľubovoľnom klientskom počítači do prehliadača zapíšete ako adresu IP adresu servera 192.168.1.1 (dve sieťové karty) alebo 10.x.y.2 (jedna sieťova karta).
Aby bol server viditeľný z internetu, je potrebné požiadať o zmenu DNS záznamov.
Môžete tak urobiť pomocou kontaktného formuláru na stránke
IC: vase cislo infoveku
DOMENA: vasa doména
DNS: Presmerovanie záznamov na náš server
Pred požiadaním sa uistite, že ste vykonali všetky potrebné kroky:
prosíme o
tel: 0800/123369
email: infovek@telecom.sk
Každá škola dostala rozsah 8 verejných IP adries v tvare 87.197.A.B:
1. adresa: číslo B bude celočíselný násobok 8 a čísla A, B su jedinečné pre každú školu. Táto adresa sa nazýva adresou siete (network address) a nie je možné prideliť ju žiadnemu počítaču. Táto adresa je nepoužiteľná.
2. adresa 87.197.A.B+1: budú sa na ňu prekladať všetky vnútorné adresy obyčajných počítačov v škole.
3. - 6. adresu 87.197.A.B+2 až 87.197.A.B+5 možno použiť ako verejné IP adresy pre servery vo vnútri školskej siete. Ak ich chceme použiť, je treba požiadať ST, aby urobili preklad danej verejnej IP adresy na konkrétnu vnútornú adresu servera v školskej sieti.
7. adresa 87.197.A.B+6 je verejná IP adresa, ktorá sa neprekladá. Počítač vo vnútri sieti môže byť priamo prístupný pod touto adresou. Je to pre programy, ktoré nemajú radi preklad adries, napríklad IP telefónia. O túto adresu treba tiež požiadať ST, pretože adresa nie je štandardne aktívna.
8. adresa 87.197.A.B+7 je tzv. broadcastova adresa, ktorá je nepoužiteľná.
DNS servery Telecomu: 195.146.132.59, 195.146.128.60
Brána: 10.1.128.1
S ST sa dá dohodnúť, že sa preklad IP adries zruší. Servery vo vnútornej sieti budú mať rovno adresy 87.197.A.B+2 až +6 (+1 bude IP adresa Cisca ako default gateway). Preklad adries si budú servery robiť sami.
Lan školy: 10.A.B.0
Brána, DHCP: 10.A.B.1
Maska: 255.255.255.0
Dynamické IP adresy: 10.A.B.100 až 10.A.B.254
Pevné IP adresy: 10.A.B.2 až 10.A.B.99
Niekedy sa nastavovala IP adresa tlačiarne 10.A.B.10. Čísla A, B a adresy si môžete overiť v Linuxe príkazom ifconfig eth0. Vo Windows, keď spustíte príkazový riadok, napíšete cmd a do otvoreného okna napíšete príkaz ipconfig /all.
ST je možné kontaktovať na adrese infovek@telecom.sk. Treba uviesť adresu a meno školy, infovekové číslo, druh pripojenia k internetu, svoje existujúce privátne a verejné IP adresy, čo treba zmeniť a ako.
V prípade, že požiadate o otvorenie portov pop3, imap a smtp, používatelia si môžu nastaviť svojich emailových klientov i doma. Menej skúsený používatelia však túto možnosť nebudú využívať. Aby sme umožnili používanie mailových schránok používateľom i z domu, je potrebné použiť oveľa bežnejšiu službu internetu - WWW. Služba, ktorá umožňuje používateľom prístup ku svojim emailovým schránkam prostredníctvom služby www sa volá Webmail.
Na výber je niekoľko rozhraní. Najviac rozšírenými su tieto:
Všetky štyri rozhrania majú i podporu slovenského jazyka. Čo sa týka ostatných parametrov tu je stručný prehľad funkcií.
Je rozhranie s dlhou tradíciou, jeho výhodou je dostupnosť veľkého množstva rozšírení. Nevýhodou je veľmi jednoducho vyzerajúce grafické rozhranie. Pri inštalácii v Ubntu sme tiež mali problém so slovenským rozhraním.
Open WebMail
Je ďalší populárne rozhranie, kvoli závažným problémom s bezpečnosťou však bolo z repozitárov Ubuntu 7.10 odstránené.
Je ďalšie z obľubených rozhraní pod Ubuntu však je jeho inštalácia dosť obtiažna.
Je pomerne mladé rozhranie, ktorého najväčšou výhodu je prístup cez AJAX a veľmi jednoduchá inštalácia.
Z toho čo bolo povedané je jasné, že sme si vybrali Roundcube. Tu by sme uvítali keby ste nám napísali viac i ostatných rozhraniach.
V rozhraní Webmin otvorte vetvu Others a ťuknite na odkaz Príkazový riadok, do poľa zadajte príkaz
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte
sudo apt-get install -f -y --force-yes roundcube php5-mcrypt
Počas inštalácie sa vás inštalátor spýta s akou databázou bude rouncube pracovať, tu vyberte MySQL. Potom zadajte heslo používateľa root tejto databázy a nakoniec zadajte dvakrát heslo pre novú databázu Roundcube. Spolu s Roundcube je potrebné nainľtalovaťi i modul mcrypt pre PHP, ktorý sa stará o bezpečnú komunikáciu.
Aby bol webmail prístupný z internetu je potrebné určiť miesto vo vašom vebe - URL adresu webmailu.
O tvorte teda vetvu Servery a ťuknite na odkaz Apache Webserver. Na stránke, ktorá sa otvorí, potom vyberte Default Server.
Na ďalšej stránke vyberte Aliases and Redirects.
Zadefinujte alias. Do prvého poľa zadajte napríklad /roundcube (alebo lubovolný iný napr /posta) a do druhého políčka zadajte skutočnú cestu k roundcube - /var/lib/roundcube/. Po vyplnení oboch polí ťuknite na tlačidlo Uložiť.
Nakoniec ešte aplikujeme nastavenia ťuknutím na na odkaz Apply Changes v pravom hornom rohu.
Teraz je možné pristúpiť k webamilu pomocu adresy http://www.vasadomena.edu.sk/roundcube/.
Ako ste si iste všimli, na stránke sa nachádzajú tri polia. Tretie pole slúži na zadanie servera. V našom prípade však je tento údaj úplne zrejmý preto upravíme konfiguráciu Roundcube.
Pomocou programu Putty sa teda prihlásime na server (alebo sa prihlásime rovno na server) spustíme MC (sudo mc) a upravíme súbor /etc/roundcube/main.inc.php (v MC stlačíme F4) a nastavíme
$rcmail_config['default_host']='vasadomena.edu.sk'
Súbor potom uložíme (F2).
Na filtrovanie nevyžiadanej pošty alebo ak chcete SPAMu slúži program s názvom SpamAssassin.
Program inštalujeme tak ako vždy. V rozhraní Webmin otvoríme vetvu Others a ťukneme na odkaz Príkazový riadok, do poľa zadáme príkaz
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadáme
sudo apt-get install -f -y --force-yes spamassassin
Program SpamAssassin podľa určitých kritérií hodnotí každý email. Ak hodnotenie prekročí istú hranicu, je správa vyhodnotená ako nevyžiadaná. Štandardne je program nastavený tak, aby za nevyžiadanú poštu považoval každý mail, ktorý má známku väčšiu ako 5. Táto známka je príliš vysoká a umožňuje sem tam niektorej nevyžiadanej pošte prekĺznuť. Niektorí správcovia preto znižujú hodnotu na 2,5 no z našich skúseností - aby prešli všetky maily z konferencií "Udrzba" a "Garanti" je potrebná hodnota 3,4.
Otvoríme preto vetvu Servery a ťukneme na odkaz SpamAssassin Mail Filter. Na stránke, ktorá sa otvorí potom ťukneme na odkaz Spam Classification.
V nastaveniach prepnite prepínač Hits above which a message is considered spam a do okienka vedľa neho napíšte 3.4 (s desatinnou bodkou) a potom ťuknite na tlačidlo uložiť.
Aby používatelia alebo postmaster mali možnosť prezrieť či SpamAssassin medzi spam náhodou nezaradil aj dajaký užitočný mail máme možnosť nastaviť aby sa nevyžiadaná pošta niekam presunula. Keďže nepredpokladáme, že máte na škole človeka, ktorý je platený za správu pošty - postmastera, odporúčame aby ste nastavili presúvanie spamu do priečinkov používateľov.
Na stránke SpamAssasina ťuknite na odkaz Procmail Spam Delivery.
Na stránke s nastaveniami potom prepneme prepínač do polohy Append to mbox-format mail file a do poľa zadáme $HOME/mail/spam.
Ak používatelia chcú mať možnosť pozrieť si spam stačí aby si vytvorili v emailovom klientovi priečinok s názvom "spam" (s malým s). Alebo to môžete urobiť za nich tak, že slovo spam dopíšete do súboru .subsriptions na serveri (napríklad pomocou MC), ktorý sa nachádza v priečinku /home/pouzivatel/mail/.
Priečinky na serveri môžete zdieľať v sieti Linuxových staníc pomocou NFS a v sieti staníc MS Windows pomocou Samby.
Zdieľanie priečinkov a tlačiarní v sieti so stanicami MS Windows zabezpečuje server, ktorý sa nazýva Samba.
Za predpokladu, že sme už na serveri vytvorili používateľov, môžeme naimportovať používateľov do Samba servera.
Otvoríme vetvu Servery a ťukneme na odkaz Samba Windows File Sharing. Na stránke, ktorá sa otvorí ťuknite na odkaz Convert Unix users to Samba users.
V dialógu, ktorý sa otvorí môžete prepínač prepnúť do polohy Use this password a do okienka vedľa neho zadať heslo pre všetkých používateľov alebo môžete prepínač ponechať v pôvodnej polohe a heslo nastavíte neskôr pre každého používateľa zvlášť. Nakoniec stlačte tlačidlo Convert Users.
Heslá pre jednotlivých používateľov môžete nastaviť kliknutím na odkaz Edit Samba users and passwords.
Na stránke ťuknite na odkaz Create a new file share.
Môžete napríklad vytvoriť zdieľanie priečinka, v ktorom je umiestnená webová stránka (ale cez rozhranie Webmin môžete vytvoriť i nový priečinok).
Na stránke nastavíme meno zdieľaného priečinka Share name - v našom prípade www. V druhom poli môžete nastaviť cestu k priečinku ktorý sa má zdielať Directory to share - v našom prípade nastavíme /var/www. Do tretieho poľa zadáme vlastníka zdieľaného priečinka Create with owner - nastavíme spravca.
Najskôr ťukneme na novovytvorený priečinok.
Na stránke, ktorá sa otvorí, ťukneme na odkaz Security and Access Control.
Na stránke zabezpečenia nastavíme možnosť zápisu do priečinka Writable? na Áno. Do poľa Valid Users vložte všetkých používateľov, ktorý budú mať prístup k zdieľanému priečinku (môžete využiť tlačidlo s troma bodkami "..."). Do poľa Valid groups zasa môžete zadať skupiny používateľov. Je tiež možné určiť, ktorý používatelia a skupiny budú mať právo iba právo na čítanie (Read only users, Read only groups) a ktorí budú mať právo aj na zápis (Read/write users, Read/write groups).
Na stránke Samba Windows File Sharing klikneme na odkaz Windows Networking.
Na stránke nastavení nastavíme najskôr pracovnú skupinu Workgroup - my sme nastavili GYMKREMNICA ale vy môžete nastaviť ľubovoľnú inú, v ktorej sú počítače zoskupené, alebo do ktorej ich chcete zoskupiť. Prepínač WINS mode prepnite do polohy Be WINS server. WINS server je server prekladajúci Netbios mená na ip adresy. Inak povedané toto nastavenie zabezpečí, že server bude udržiavať zoznam dostupných počítačov v sieti, vďaka ktorému počítače uvidíte v MS Windows cez Miesta v sieti. Posledný parameter, ktorý je potrebný nastaviť je meno servera Server name - tu nastavte rovnaké meno ako pri inštalácii - v našom prípade Server1. Nezabudnite nastavenia uložiť.
Nakoniec ešte reštartujeme Samba server.
Pozor, aby boli súbory prístupné, musí sa používateľ nastaviť do MS Windows s rovnakým menom a heslom ako je nastavené v sambe.
Pomocou samby je možné súbory zdieľať i v sieti Linux, no pomocou NFS (Network File System) si môžeme pripojiť zdieľaný priečinok ako linuxový disk napríklad pomocou tabuľky súborových systémov fstab. Takto pripojený priečinok sa potom správa ako keby bol súčasťou súborového systému lokálneho počítača.
Najskôr už nám dobre známym spôsobom nainštalujeme NFS.
Otvorte položku Ostatné a vyberte Príkazový riadok. Do okna zadajte
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte
apt-get install -f -y --force-yes nfs-common nfs-kernel-server
Otvorte vetvu Sieť a kliknite na odkaz NFS exports. Na stránke, ktorá sa otvorí kliknite na odkaz Add a new export.
Po otvorení stránky do poľa Directory to export zadajte adresár ktorý chcete zdielať (môžete ho nalistovať pomocou tlačítka s troma bodkami). Prepínač prepnite do polohy IPv4 Network a zadajte IP adresu počítača (počítačov), ktoré budú mať k zdielanému priečinku prístup. Prepínač Read-only, ktorý obmedzuje pístup iba na čítanie môžeme ešte prepnúť od polohy Nie.
Otvoríme terminál a napíšeme:
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadáme
apt-get install -f -y --force-yes nfs-common nfs-client
Na počítači, na ktorom chcete naimportovať zdieľaný priečinok, otvorte súbor /etc/fstab ako používateľ root pomocou ľubovoľného - v prípade že máte Ubuntu môžete do terminálu zapísať príkaz:
sudo nano /etc/fstab
Na koniec súboru dopíšte riadok a na konci riadka stlačte enter
Server1:/programy /home/Pouzivatel/Plocha/programy nfs rsize=8192,wsize=8192,timeo=14,intr
Pozor na konci súboru musí byť jeden prázdny riadok.
Súbor uložte stlačením CTRL+o a editor ukončíte CTRL+x.
Priečinok do ktorého sa zdielaný priečinok napojí je potrebné vytvoriť - my sme ho vytvorili na ploche /home/Pouzivatel/Plocha/programy
Po reštarte počítača by mal byť priečinok namapovaný. Je ho možné namapovať i pred reštartom pomocou príkazu
sudo mount /home/Pouzivatel/Plocha/programy
Nastavovanie času na všetkých počítačoch na škole by asi bolo časovo dosť naročné, MS Windows má síce nastavenú internetovú adresu servera s ktorej MS windows získava čas, ale s týmto serverom je problém nadviazať spojenie. Je však možné nastaviť školský server aby poskytoval informácie o čase cez protokol NTP.
Otvorte položku Ostatné a vyberte Príkazový riadok. Do okna zadajte
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte
apt-get install -f -y --force-yes ntp ntpdate
V linuxe sa čas získa automaticky. V operačnom systéme MS Windows ťukneme pravým tlačítkom myši na hodiny v oznamovacej oblasti a z kontextovej ponuky vyberieme Upraviť dátum a čas.
Klikneme na záložku Internetový čas a do poľa Server zadajte názov (ak máte nastavené DNS) alebo IP adresu nášho servera. Potom ešte môžme funkčnosť otestovať kliknutím na tlačítko aktualizovať.
Pozor toto nie je hotový článok. Článok dokončíme neskôr.
LDAP je - TO DO
Najskôr musíme nainštalovať program, ktorý bude poštu preberať. Otvorte preto v rozhraní Webmin vetvu Others a ťuknite na odkaz Príkazový riadok, do poľa zadajte príkaz
sudo apt-get update
aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte
sudo apt-get install -f -y --force-yes slapd libnet-ldap-perl
sudo apt-get install -f -y --force-yes phpldapadmin
Ako login zadajte nasledovné
cn=admin,dc=domenaskoly,dc=edu,dc=sk
miesto domenaskoly samozrejme zadate vasu doménu vrámci siete EDUnet.
Ako heslo zadate vase heslo, ktore ste nastavili pri instalacii LDAP a stlacíte tlacidlo Authenticate.
TO DO
sudo apt-get install libpam-ldap libnss-ldap nss-updatedb
Balík libpam-ldap umožňuje autentifikáciu cez LDAP, libnss-ldap umožňuje získať z LDAP informácie o sedení a nss-updatedb umožňuje dočasné lokálne ukladanie databázy aby sa nezahlcovala sieť.
Počas inštalácie dostanete niekoľko otázok:
Shold debconf manage LDAP configuration? Odpovedzete Nie
URI adresa LDAP servera: Zadajte server1.domenaskoly.edu.sk kde domenaskoly je meno vasej domeny v rámci #EDUnet
Distinguishe name of the search base: Zadajte dc=domenaskoly, dc=edu, dc=sk
Verzia LDAP: ponechajte 3
Make local root databaze admin? (Urobiť lokálneho správcu správcom databázy?) Odpovedzte Nie
Does LDAP database require login? (Potrebuje databáza login?) Odpvedzte Nie
Konfigurácia spočíva v troch krokoch
Ubuntu 7.10 má nástroj, ktorým sa dajú prvé dva kroky urobiť zadaním takéhoto príkazu:
sudo auth-client-config -a -p lac_ldap
Tu sa o nástroji dozviete viac https://wiki.ubuntu.com/AuthClientConfig
Pre staršie verzie Ubuntu a Debianu platí toto:
Pozor tento súbor needitujte ako sudo
V súbore /etc/nsswitch.conf nahraďte compat s files ldap tak aby oba riadky vyzerali takto:
passwd: files ldap group: files ldap
To znamená:
Najskôr pozri lokálne uložené loginy (/etc/passwd a /etc/group),
ak nenájdeš zodpovedajúci login, použi LDAP.
Pozor BUG: Presvedčte sa či je v súbore /etc/libnss-ldap.conf alebo v novšej verzii ldapu v súbore /etc.ldap.conf nastavený parameter: bind_policy soft. Ak tam nie je spôsobí to zamrznutie pri štarte systému, tak ho tam dopíšte.
PAM používa na kontrolu LDAP štyri centrálne súbory: common-account, common-auth, common-password a common-session. Všetky sa nachádzajú v priečinku /etc/pam.d.
Upravte súbor /etc/pam.d/common-account aby vyzeral takto:
account sufficient pam_ldap.so account required pam_unix.so
Upravte súbor /etc/pam.d/common-auth aby vyzeral takto:
auth sufficient pam_ldap.so auth required pam_unix.so nullok_secure use_first_pass
Upravte /etc/pam.d/common-password aby vyzeral takto:
password sufficient pam_ldap.so password required pam_unix.so nullok obscure min=4 max=8 md5
Tento krok je voliteľný a odporúčame ho robiť iba pri pomalej sieti alebo pri veľkom počte počítačov.
Aby sme predišli spomaleniu siete a urýchlili prihlásenie, môžeme použiť balíček nss-updatedb na vytvorenie lokálnej databázy používateľských mien. Najskôr teda vytvoríme lokálnu databázu a potom nastavíme intervali v akýc sa bude aktualizovať.
Takže zadajte
sudo nss_updatedb ldap
Týmto sa vytvorí databáza v priečinku /var/lib/misc/.
Teraz vytvoríme script, ktorý bude databázu automaticky aktualizovat.
Vytvoríme script nssupdate.sh v priečinku /etc/cron.hourly/ a natavíme ho spustiteľným. Mal by obsahovať toto:
#!/bin/bash LOCK=/var/run/auth-update.cron [ "$1" != "0" ] && [ -f $LOCK ] && [ -d /proc/"$(cat $LOCK)" ] && exit 0 echo $$ > $LOCK RANGE=3600 [ "$1" != "" ] && RANGE=$1 SLEEP=$RANDOM [ "$RANGE" != "0" ] && let "SLEEP %= $RANGE" || SLEEP=0 sleep $SLEEP go=true while $go; do /usr/sbin/nss_updatedb ldap [ $? -eq 0 ] && go=false [ "$go" == "true" ] && sleep 10 done rm $LOCK exit 0
Aby sa dočasne uložené dáta začali používať upravme súbor edit /etc/nsswitch.conf, aby vyzeral takto:
passwd: files ldap [NOTFOUND=return] db group: files ldap [NOTFOUND=return] db
To znamená:
Najskôr pozri lokálne uložené loginy (/etc/passwd a /etc/group),
ak nenájdeš zodpovedajúci login, použi LDAP,
ak nie je zodpovedajúci login v LDAP, skonči a neurob nič ([NOTFOUND=return]),
ak nie je LDAP dostupný, použi dočasnú databázu.
TO DO
Gallery2 je najrozsiahlejší a najpodporovanejší systém na vytváranie webových fotogalerií.
Ak máte nainštalovaný školský server podľa nášho návodu Ako nainštalovať školský server, budete mať uľahčenú prácu, pretože už máte nainštalovaný webový server, databázu a PHP. Gallery2 je však možné nainštalovať i na webhosting alebo Windows Server.
Požiadavky Gallery2:
Keďže Gallery sa nachádza v repozitároch, stačí zadať príkaz na obnovenie zoznamu balíčkov
sudo apt-get update
a potom systém nainštalujeme príkazom - tento krok je potrebné urobiť priamo na serveri alebo vzdialene cez ssh (ako sa pripojiť ku školskému serveru cez ssh)
sudo apt-get install -f -y --force-yes gallery2
V ďalšom kroku zadáme sieťovú adresu počítača, na ktorom beží databáza MySQL. V našom prípade stačí ponechať
localhost
Ako správcu databázy ponecháme
root
a zadáme rovnaké heslo pre správcu databázy ako sme zadali pri inštalácii servera (Inštalácia základného systému školského servera).
Na poslednej obrazovke ešte zvolíme Áno pri otázke, či chceme reštartovať Apache.
Knižnice pre spracovanie obrázkov nainštalujeme zadaním príkazu
sudo apt-get install -f -y --force-yes dcraw ffmpeg imagemagick zip libgd2-xpm jhead libjpeg-progs
netpbm
Teraz je potrebné ešte vytvoriť alias, aby sa adresa Gallery2 zahrnula do webovej adresy vašej školy.
Spustite teda Midnight Commander
sudo mc
Po nainštalovaní Ubuntu servera je v PHP nastavené pamäťové obmedzenie na 16MB, s takouto malou pamäťou sa nedokáže spustiť ani inštalátor Gallery. Pre správny chod Gallery je odporúčané použiť aspoň 128MB pamäte.
Aby Gallery bolo schopné vytvárať krátke URL adresy je potrebné v Apachi zapnúť modul mod_rewrite:
sudo a2enmod rewrite
Teraz reštartujte Apache zadaním príkazu (vypnutie a opätovné zapnutie panelov Midnight Commandera sa robí pomocou Ctrl+o)
invoke-rc.d apache2 restart
Repozitár Ubuntu obsahuje Gallery verzie 2.2. Ak chcete Gallery 2 integrovať napríklad do Drupalu potrebujete verziu aspoň 2.3. Ak teda chcete novšiu verziu, prejdite do domovského priečinka /home/spravca a stiahnite si novú verziu príkazom
wget http://downloads.sourceforge.net/gallery/gallery-2.X-full.tar.gz
kde X je číslo podverzie (v čase písania tohto návodu to bolo 2.3)
Teraz na ľubovoľnom počítači zadajte adresu
http://www.vasadomena.edu.sk/gallery2a spustí sa inštalátor Gallery2 priamo v prehliadači.
Privíta vás Inštalátor.
Inštalácia pozostáva z 11 krokov. Ak máte verziu vyššiu ako 2.3 mal by byť inštalátor po slovensky.
V prvom kroku je potrebné vytvoriť súbor v priečinku s názvom login.txt a obsahom aký vám určí inštalátor.
touch login.txt
V druhom kroku inštalátor overí, či systém spĺňa všetky požiadavky. Ak tomu tak nie je, povie vám, čo máte robiť.
V treťom kroku si zvolíte, či chcete typickú inštaláciu alebo multiwebovú - tento typ inštalácie umožňuje nainštalovať viacero nezávislých Gallery2 na jeden server.
V štvrtom kroku je potrebné zadať priečinok, do ktorého sa budú ukladať fotografie. Je vhodné zvoliť nejaký priečinok, ktorý nie je prístupný z webu. Môžete ho vytvoriť napríklad vo vašom domovskom priečinku (v Midnight Commanderi pomocou F7)
V piatom kroku zadáte prístupové údaje k databáze. Môžete ponechať všetky ponúkané hodnoty a zadať vaše heslo k databáze.
V šiestom kroku zadajte prihlasovacie údaje pre účet administrátora.
V siedmom kroku je potrebné vytvoriť súbor, do ktorého sa uloží konfigurácia. Stačí prejsť do priečinka /usr/share/gallery2 a riadiť sa pokynmi na obrazovke.
V ôsmom kroku prebehne inštalácia modulov jadra Gallery. Ak ste doterajšie pokyny vykonali správne, nemal by nastať žiaden problém.
V deviatom kroku si môžete vybrať ďalšie moduly, ktoré chcete nainštalovať. Ak sa vám nejaký modul nepodarí nainštalovať, tak to ešte nič neznamená, pretože niektoré moduly potrebujú dodatočnú konfiguráciu.
V desiatom kroku je potrebné zabezpečiť konfiguračný súbor. Opäť stačí iba prejsť do priečinka Gallery2 a riadiť sa pokynmi na stránke.
Posledný krok dokončí inštaláciu.
A takto vyzerá nainštalovaná Gallery2.
Apache je vynikajúci a flexibilný webový server a PHP je populárny a moderný skriptovací jazyk primárne určený pre tvorbu dynamických webových stránok.
Príručka v obrazovkovej verzii (SK)
Príručka vznikla ako študentský projekt v rámci predmetu GNU/Linux a jeho prostriedky na Fakulte matematiky fyziky informatiky Univerzity Komenského v Bratislave. Zdrojové súbory príručky (LaTeX) sú prístupné v svn úložisku. Príručku je možné meniť a dopĺňať.
Copyright © 2008 Canonical Ltd. a členovia Dokumentačného projektu Ubuntu
Vitajte v Príručke Ubuntu servera! Obsahuje informácie o tom, ako sa inštalujú a konfigurujú rôzne aplikačné servery v systéme Ubuntu. Príručka je zameraná na konkrétne úlohy a krok po kroku popisuje, ako sa konfiguruje a prispôsobuje systém Ubuntu.
Obsah
Vitajte v Príručke Ubuntu servera!
Nájdete tu informácie o tom, ako sa inštalujú a spravujú rôzne serverové aplikácie. Príručka je zameraná na konkrétne úlohy a krok po kroku popisuje ako sa konfiguruje a prispôsobuje systém Ubuntu.
Táto príručka predpokladá, že máte základné vedomosti o systéme Ubuntu. Niektoré detaily inštalácie sú síce uvedené v časti Inštalácia, ale ak potrebujete podrobnejší návod o inštalácii Ubuntu, nájdete ho na adrese Inštalačná príručka Ubuntu.
HTML verzia tejto príručky je tiež dostupná online v anglickom jazyku na stránke Dokumentácia Ubuntu. HTML súbory sú tiež dostupné v balíčku ubuntu-serverguide. Detaily o inštalácii balíkov nájdete v časti Správa balíkov.
Ak si nainštalujete ubuntu-serverguide, môžete si tento dokument z konzoly zobraziť príkazom:
w3m /usr/share/ubuntu-serverguide/html/C/index.html
![]() |
Časť cesty C nahraďte vaším jazykovým kódom (napr.: sk). |
---|---|
Existuje niekoľko rôznych druhov podpory edície Ubuntu Server. Komerčná podpora a podpora komunity. Hlavná komerčná podpora (a platený vývoj) je k dispozícii od spoločnosti Canonical Ltd. Spoločnosť poskytuje zmluvnú komerčnú podporu pre každý desktop alebo na server. Viac informácií získate na adrese Canonical Services.
Podpora komunity je poskytovaná zanietenými spoločnosťami a jednotlivcami, ktorí chcú urobiť z Ubuntu najlepšiu možnú distribúciu. Podpora je poskytovaná prostredníctvom rôznych emailových konferencií, IRC kanalov, fór, wiki stránok, atď. Veľké množstvo dostupných informácií môže byť spracované vyhľadávačmi, ktoré zvyčajne poskytnú správne odpovede na vaše otázky. Viac informácii sa nachádza na stránke Podpora Ubuntu.
Táto kapitola obsahuje rýchly prehľad o inštalácii vydania Ubuntu 10.04 LTS Server Edition. Viac informácií sa nachádza na stránke Inštalačná príručka Ubuntu.
Táto časť hovorí o rôznych aspektoch, ktoré je potrebné zvážiť pred začatím inštalácie.
Vydanie Ubuntu 10.04 LTS Server Edition podporuje dve hlavné architektúry: Intel x86 a AMD64. Nasledujúca tabuľka zobrazuje odporúčané hardvérové požiadavky. V závislosti od toho, čo potrebujeme, môže postačovať aj menšie vybavenie ako je uvedené. Avšak ak tieto požiadavky odignorujeme, môže sa stať, že budeme sklamaní.
Tabuľka: Odporúčané minimálne požiadavky
Typ inštalácie |
Operačná pamäť |
Voľné miesto na disku |
|
---|---|---|---|
Základný systém |
Úplná inštalácia |
||
Server |
128 megabajtov |
500 megabajtov |
1 gigabajt |
Vydanie Server Edition poskytuje základný systém pre všetky ostatné serverové aplikácie. Jeho minimalistický návrh poskytuje platformu pre požadované služby, ako sú napríklad súborové a tlačové služby, web hosting, email hosting, atď.
Požiadavky pre UEC sú dosť odlišné. Požiadavky pre koncové rozhranie sa nachádzajú v časti “požiadavky na rozhranie” a požiadavky pre uzly UEC zasa v časti “Požiaqdavky uzlov”.
Existuje niekoľko rozdielov medzi vydaniami Ubuntu Server Edition (vydanie určené pre servery) a Ubuntu Desktop Edition (vydanie určené stolné počítače). Je potrebné poznamenať, že obe verzie používajú rovnaké apt zdroje softvéru. Takže je rovnako jednoduché nainštalovať serverové aplikácie vo vydaní Desktop Edition, ako aj vo vydaní Server Edition.
Rozdiely medzi oboma vydaniami je ten, že vo vydaní Server Edition nie je grafické prostredie X window, ďalej v inštalačnom procese a v tom, že používajú rozdielne jadrá Kernel.
![]() |
Ak ste sa rozhodli použiť 64-bitovú verziu Ubuntu pre 64-bitové procesory, nebudete obmedzený adresným priestorom pamäte. |
---|---|
Ak chceme vidieť všetky nastavenia jadra, môžeme ich nájsť v súbore /
boot/config-2.6.31-server
. Stránka v anglickom jazyku Linux Kernel in a Nutshell je tiež výborným zdrojom, kde sa dá dozvedieť viac o nastaveniach jadra.
Pred inštalovaním Ubuntu Server Edition by sme sa mali presvedčiť, či máme všetky dáta zo systému odzálohované. Informácie o zálohovaní sa nachádzajú v časti Zálohovanie.
Ak neinštalujeme operačný systém na čistý počítač, bude potrebné zmeniť rozdelenie diskových oddielov na našom disku, aby sa vytvorilo miesto pre Ubuntu.
Pri rozdeľovaní nášho disku, by sme mali byť pripravený na možnosť straty všetkých dát, ktorá môže nastať v dôsledku chyby počas prerozdeľovania diskových. Programy používané v inštalácii sú celkom spoľahlivé, väčšina z nich je preverená rokmi používania, ale vykonávajú aj deštruktívne činnosti.
Základné kroky inštalácie vydania Ubuntu Server Edition z CD sú rovnaké ako pri inštalovaní ktoréhokoľvek iného operačného systému z CD. Na rozdiel od vydania Desktop Edition, vydanie Server Edition neobsahuje grafický inštalačný program. Vydanie Server Edition miesto neho používa textový režim.
home
.
![]() |
Ak nie ste v akomkoľvek bode inštalácie spokojný s predvoleným nastavením, použite "Vrátiť späť" a získate detailnú inštalačnú ponuku, ktorá Vám umožní upraviť predvolené nastavenia. |
---|---|
Na niektorých miestach v inštalačnom procese si môžeme vyvolať pomocníka poskytovaného inštalačným systémom. Ak tak chceme urobiť, stlačíme F1.
Znovu zdôrazňujeme, že detailnejšie inštrukcie sa nachádzajú na stránke Inštalačná príručka Ubuntu.
Počas inštalácie vydania Server Edition sa nám zobrazí možnosť nainštalovať ďalšie súčasti z CD. Balíky súčastí sú zoskupené podľa typu služby, ktoré poskytujú.
Cloud computing: Walrus storage service - služba poskytujúca úložisko
Cloud computing: all-in-one cluster - klaster typu všetko v jednom
Cloud computing: Cluster controller - Správca klastra
Cloud computing: Node controller - Správca uzla
Cloud computing: Storage controller - Správca úložiska
Cloud computing: top-level cloud controller - Hlavný správca mraku
DNS server: Vyberie BIND DNS server a jeho dokumentáciu.
LAMP server: Vyberie zostavu Linux/Apache/MySQL/PHP server.
Mail server: Táto súčasť vyberie rôzne užitočné balíčky pre bežne používaný poštový server.
OpenSSH server: Vyberie balíčky potrebné pre OpenSSH server.
PostgreSQL databáza: Táto súčasť vyberie balíčky klienta a servera databázy PostgreSQL.
Print server: Táto súčasť nastaví systém ako tlačový server.
Samba File server: Táto súčasť nastaví váš systém tak, aby sa stal súborovým serverom Samba, čo je užitočné najmä v sieťach s kombináciou systémov Windows a Linux.
Tomcat server: Nainštaluje Apache Tomcat a ďalšie potrebné súčasti Java, gcj, atď.
Virtual machine host: Obsahuje balíčky potrebné pre spustenie virtuálnych počítačov KVM.
Ručný výber balíčkov: Spustí nástroj apptitude umožňujúci vybrať balíčky jednotlivo.
Inštalovanie skupín balíčkov je vykonávané pomocou nástroja tasksel. Jeden z najvýznamnejších rozdielov medzi Ubuntu (alebo Debianom) a ostatnými GNU/Linux distribúciami je to, že inštalované balíky sa zároveň nakonfigurujú pomocou rozumných predvolených hodnôt, poprípade si vyžiadajú potrebné informácie. Preto, keď inštalujeme súčasť, balíky sa nielen nainštalujú, ale i nakonfigurujú tak, aby poskytovali ucelenú službu.
Viac informácií o Výpočtovom mraku (Cloud Computing) sa nachádza v časti UEC.
Po ukončení inštalačného procesu môžeme zobraziť zoznam dostupných súčastí zadaním nasledujúceho príkazu do príkazového riadka:
tasksel --list-tasks
![]() |
Výstup zobrazí zoznam súčastí z iných distribúcií založených na Ubuntu ako napríklad Kubuntu a Edubuntu. Príkaz tasksel môžete spustiť aj bez parametrov, čím sa otvorí ponuka rôznych dostupných súčastí. |
---|---|
Zoznam balíčkov, ktoré boli nainštalované danou súčasťou môžeme zobraziť zadaním parametra --task-packages. Napríklad, ak chceme zobraziť zoznam balíčkov nainštalovaných súčasťou DNS Server, zadáme toto:
tasksel --task-packages dns-server
Výstupom príkazu by mal byť zoznam:
bind9-doc
bind9
Takže ak sme nenainštalovali niektorú zo súčastí počas inštalácie systému, a neskôr sme zistili, že pre nový LAMP server potrebujeme aj DNS server, jednoducho vložíme CD a zadáme príkaz:
sudo tasksel install dns-server
Existuje niekoľko spôsobov ako prejsť zo staršej verzie Ubuntu na novšiu. Táto časť poskytuje prehľad odporúčaných metód.
Odporúčaným spôsobom, ako prejsť na novšiu verziu vydania Server Edition, je použite nástroja do-release-upgrade. Je to časť balíka update-manager-core, ktorá nemá žiadne grafické závislosti a je súčasťou základnej inštalácie.
Systémy založené na Debiane môžu byť tiež aktualizované pomocou príkazu apt-get dist-upgrade. Avšak je odporučené použiť príkaz do-release-upgrade, pretože dokáže vykonať zmenu konfigurácie systému, ktorá je niekedy potrebná pri prechode na novšiu verziu.
Ak chceme prejsť na novú verziu, do príkazového riadka zadáme príkaz:
do-release-upgrade
Pomocou príkazu do-release-upgrade je tiež možné prejsť na vývojovú verziu Ubuntu. Ak to chceme urobiť, použijeme prepínač -d:
do-release-upgrade -d
![]() |
Prechod na vývojovú verziu nie je odporúčaný pri ostrej prevádzke. |
---|---|
RAID je metóda, akou sa nastavuje viacero pevných diskov tak, aby sa správali ako jeden, pričom sa redukuje pravdepodobnosť katastrofickej straty dát pri zlyhaní disku. RAID je implementovaný buď ako softvérový (keď operačný systém vie o oboch diskoch a aktívne oba spravuje) alebo hardvérový (keď špeciálny radič vytvorí dojem, že v systéme je iba jeden disk a jednotlivé disky spravuje bez toho, aby o tom vedel operačný systém).
Softvérový RAID zahrnutý v aktuálnych verziách Linuxu (a Ubuntu) je založený na ovládači 'mdadm' a pracuje veľmi dobre, lepšie ako niektoré takzvané 'hardverové' RAID radiče. Táto časť vás prevedie inštaláciou vydania Ubuntu Server s použitím dvoch diskových oddielov RAID1 na dvoch fyzických diskoch, jedného oddielu pre / a druhého pre swap.
Budeme nasledovať inštalačné kroky, až kým sa nedostanete ku kroku Rozdelenie diskov. Potom:
Vďaka nastaveniu oblastí teraz môžme nastaviť diskové pole:
![]() |
Ak chcete použiť RAID5, potrebujete najmenej tri disky. Použitie RAID0 alebo RAID1, vyžaduje iba dva disky. |
---|---|
Teraz by sme mali vidieť zoznam diskov a RAID zariadení. Ďalším krokom je formátovanie a nastavenie ich bodu pripojenia. Zariadenie RAID budeme považovať za bežný lokálny disk, ktorý môžeme rovnako naformátovať a pripojiť.
Ak nastavíme, že koreňová oblasť má byť v poli RAID, inštalátor sa nás opýta, či chceme systém zavádzať v degradovanom stave. Podrobnosti sa nachádzajú v časti “Degradované pole RAID”.
Inštalačný proces bude potom normálne pokračovať.
Počas dlhej prevádzky počítača môže nastať porucha disku. Ak je takýto disk súčasťou softvérového poľa RAID, operačný systém prepne pole do tzv. degradovaného stavu.
Ak pole prejde do degradovaného stavu kvôli možnosti poškodenia dát, Ubuntu Server sa po 30 sekundách reštartuje do tzv. initramfs režimu. Keď je initramfs zavedený, objaví sa na pätnásť sekúnd výzva umožňujúca opustiť tento režim a zaviesť systém alebo sa pokúsiť o ručnú opravu. Naštartovanie do initramfs môže ale aj nemusí byť želaným správaním, najmä ak ide o vzdialený počítač. Zavedenie systému do degradovaného poľa môže byť nastavené rôznymi spôsobmi:
sudo dpkg-reconfigure mdadm
/etc/initramfs-tools/conf.d/mdadm
. Tento súbor má tú výhodu, že pomocou neho dokážeme predkonfigurovať správanie systému a môžeme ho ručne upravovať:
BOOT_DEGRADED=true
![]() |
Nastavenie v súbore môže byť prevážené parametrom jadra Kernel. |
---|---|
Po zavedení systému môžeme pole buď opraviť, ako sa hovorí v časti “Údržba poľa RAID”, alebo skopírovať dôležité dáta na iný počítač kvôli neopraviteľnému zlyhaniu hardvéru.
Nástroj mdadm sa dá použitý na zobrazenie stavu poľa, pridanie diskov do poľa, odobranie diskov, atď:
sudo mdadm -D /dev/md0
Voľba -D hovorí mdadm, aby zobrazil detailné informácie o zariadení /dev/md0
. Cestu /dev/md0
nahradíme prislúchajúcou cestou zariadenia RAID.
sudo mdadm -E /dev/sda1
Výstup bude veľmi podobný príkazu mdadm -D. Ak chceme iný disk, zmeníme /dev/sda1
.
sudo mdadm --remove /dev/md0 /dev/sda1
Cesty /dev/md0
a /dev/sda1
zmeníme na prislúchjúce cesty k zariadeniu RAID a disku.
sudo mdadm --add /dev/md0 /dev/sda1
Niekedy disk prejde do chybného stavu, aj keď nie je fyzicky poškodený. Takýto disk zvyčajne stačí z poľa odstrániť a znova ho pridať. Pole sa potom znova zosynchronizuje. Ak sa disk nezosynchronizuje s poľom, znamená to, že je asi chybný.
Súbor /proc/mdstat
tiež obsahuje užitočné informácie o systémových zariadeniach RAID:
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
10016384 blocks [2/2] [UU]
unused devices: <none>
Nasledujúci príkaz je výborný na sledovanie stavu synchronizácie diskov:
watch -n1 cat /proc/mdstat
Ak chceme sledovanie pomocou nástroja watch prerušiť, stlačíme Ctrl+c.
Ak bolo potrebné vymeniť disk kvôli chybe, po výmene a zosynchronizovaní disku je ešte potrebné nainštalovať grub. Ak chceme grub nainštalovať na nový disk, zadáme príkaz:
sudo grub-install /dev/md0
Cestu /dev/md0
nahradíme prislúchajúcou cestou k poľu RAID.
Problematika diskových polí RAID je vďaka množstvu spôsobov, akým môžu byť nastavené, veľmi rozsiahla. Viac informácií sa nachádza v anglickom jazyku na nasledujúcich stránkach:
Správca logických zväzkov (LVM) umožňuje správcom vytvoriť logické zväzky z jedného alebo viacerých fyzických diskov. LVM zväzky môžeme vytvoriť na štandardných oddieloch vytvorených na fyzických diskoch, ale aj na oddieloch diskového poľa RAID. Zväzky môžu byť aj rozšírené, čo systémom poskytuje väčšiu flexibilitu, keď potrebujeme niečo zmeniť.
Vedľajším efektom sily a flexibility LVM je jeho väčšia komplikovanosť. Pred tým, ako sa pustíme do inštalácie LVM, bude lepšie, ak sa oboznámime s niektorými termínmi.
Použitie LVM si ukážeme na na príklade, v ktorom pripojíme priečinok /srv
k zväzku LVM. Počas počiatočnej inštalácie použijeme iba jeden fyzický zväzok (PV), ktorý bude časťou skupiny zväzkov (VG). Ďalší PV pridáme po skončení inštalácie, aby sme demonštrovali, ako sa dá VG rozšíriť.
Pri inštalácii systému máte k dispozícii niekoľko možností, ktoré nastavia LVM. Možnosť "Sprievodca - použiť celý disk a nastaviť LVM", ktorá Vám umožní použiť časti voľného priestoru pre LVM, "Sprievodca - použiť celý disk a nastaviť šifrované LVM", alebo Manuálne nastaviť oddiely a nastaviť LVM. Ak chceme nastaviť systém tak, aby súčasne používal LVM aj štandardné diskové oddiely, musíme vybrať manuálny spôsob.
Existuje niekoľko užitočných nástrojov, ktoré zobrazujú informácie o LVM:
Teraz, keď sme úspešne použili srv ako LVM zväzok, pridáme druhý disk, vytvoríme fyzický zväzok (PV), pridáne ho do skupiny zväzkov (VG), rozšírime logický zväzok srv
a nakoniec rozšírime súborový systém. V tomto príklade teda predpokladáme, že sme do systému už pripojili druhý disk. Tento pevný disk bude mať označenie /dev/sdb
. UPOZORNENIE: pred tým, ako začnete skúšať tieto príkazy, presvedčte sa, či už náhodou nemáte /dev/sdb
priradené k inému disku. Ak tieto príkazy vykonáte nad diskom, ktorý nie je prázdny, môžete stratiť všetky dáta. V našom príklade použijeme celý disk ako fyzický zväzok (Vy však môžete urobiť na disku najskôr oddiely a potom ich použiť ako samamostatné fyzické zväzky)
sudo pvcreate /dev/sdb
sudo vgextend vg01 /dev/sdb
sudo lvextend /dev/vg01/srv -l +511
Voľba -l umožní rozšíriť logický zväzok pomocou PE. Voľba -L umožňuje logický zväzok rozšíriť pomocou jednotiek Mega, Giga, Tera bajty.
sudo umount /srv
sudo e2fsck -f /dev/vg01/srv
Voľba -f nástroja e2fsck skontroluje disk aj napriek tomu, že vyzerá byť prázdny.
sudo resize2fs /dev/vg01/srv
mount /dev/vg01/srv /srv && df -h /srv
Ubuntu ponúka komplexný systém pre správu balíkov, t.j. pre inštaláciu, aktualizáciu, konfiguráciu a odobratie softvéru. Okrem toho, že nám Ubuntu poskytne prístup k vyše 24 000 zotriedených softvérových balíkov pre náš počítač, systém pre správu balíkov vyrieši aj vzájomné závislosti balíkov a kontrolu aktualizácií softvéru.
Existujú viaceré nástroje, ktoré spolupracujú so správcom balíkov Ubuntu od jednoduchých príkazov príkazového riadka, ktoré môžu byť jednoducho zautomatizované správcom systému, až po jednoduché grafické rozhranie, ktoré je ľahko ovládateľné aj pre nováčikov.
Systém správy balíkov Ubuntu je odvodený od rovnakého, ako používa GNU/Linux distribúcia Debian. Súbory balíkov obsahujú všetky potrebné súbory, metadáta a inštrukcie pre implementáciu jednotlivých funkcionalít alebo softvérových aplikácií pre náš počítač.
Súbory balíkov Debianu majú väčšinou príponu '.deb' a sú väčšinou uložené v Zdrojoch softvéru (repozitároch), ktoré predstavujú zbierku balíkov nachádzajúcich sa na rôznych médiách ako napríklad disky CD-ROM alebo Internet. Balíky sú väčšinou prekompilované do binárneho tvaru, preto je ich inštalácia rýchla a nevyžadujú ďalší softvér pre kompilovanie softvéru.
Mnoho komplexnejších balíkov používa koncept závislostí. Závislosti sú prídavné baliky, ktoré sú požadované hlavným balíkom k tomu, aby správne fungoval. Napríklad balík pre syntézu hlasu Festival závisí od balíka libasound2, čo je balík obsahujúci zvukovú knižnicu ALSA, ktorá je potrebná na prehrávanie zvuku. Aby Festival správne fungoval, musí byť tento balík a ostatné závislé balíky nainštalované. Systém správy balíkov Ubuntu to urobí automaticky.
dpkg je správca balíkov pre systémy postavené na Debiane. Umožňuje inštalovať, odstraňovať a zostavovať balíky, ale na rozdiel od ostatných systémov na správu balíkov nemôže automaticky sťahovať a nainštalovať balíky a ich závislosti. Táto časť príručky hovorí o tom, ako sa dá dpkg využiť na správu lokálne nainštalovaných balíkov:
dpkg -l
dpkg -l | grep apache2
Výraz apache2 môžeme nahradiť menom akéhokoľvek iného balíka, časťou mena alebo môžeme použiť tzv. regulárny výraz.
dpkg -L ufw
dpkg -S /etc/host.conf
base-files: /etc/host.conf
Výstup hovorí, že súbor /etc/host.conf
je súčasťou balíka base-files.
![]() |
Mnoho súborov je počas inštalačného procesu automaticky vygenerovaných. Preto o niektorých súboroch v systéme súborov príkaz dpkg -S nevie zistiť, ku ktorému balíku prislúchajú. |
sudo dpkg -i zip_2.32-1_i386.deb
Názov zip_2.32-1_i386.deb
zmeníme na príslušný názov .deb súboru.
sudo dpkg -r zip
![]() |
Odinštalovanie balíkov pomocou dpkg vo väčšine prípadov NEODPORÚČAME. Je lepšie použiť správcu balíkov, ktorý rieši závislosti, aby bol systém stále v konzistentnom stave. Napríklad ak odinštalujete balík pomocou dpkg -r, odstránite síce balík zip, ale iné balíčky, ktoré sú od neho závislé nemusia potom správne fungovať. |
Viac o možnostiach dpkg sa dozvieme na stránkach man: man dpkg.
Príkaz apt-get je mocný nástroj príkazového riadka, ktorý pracuje s Advanced Packaging Tool (APT) - rozšíreným balíkovacím nástrojom a vykonáva také funkcie ako inštalovanie nových softvérových balíkov, aktualizáciu existujúcich softvérových balíkov, aktualizáciu zoznamu balíkov a dokonca aj prechod na novú verziu celého systému Ubuntu.
Vďaka tomu, že sa jedná o jednoduchý nástroj príkazového riadka, apt-get poskytuje správcom servera mnoho výhod oproti ostatným nástrojom na správu balíkov. Niektoré z výhod sú napríklad jednoduché použitie pri terminálovom (SSH) pripojení a možnosť použitia v skriptoch, čo umožňuje jeho automatické naplánované spúšťanie pomocou nástroja cron.
Príklady najčastejšieho použitia nástroja apt-get:
sudo apt-get install nmap
sudo apt-get remove nmap
![]() |
Viaceré balíky: Pri inštalovaní alebo odstraňovaní môžete zadať viaceré balíky oddelené medzerami. |
---|---|
/etc/apt/sources.list
. Ak chceme aktualizovať lokálne uložený zoznam balíkov a zahrnúť do neho posledné zmeny v zdrojoch softvéru, zadáme príkaz:
sudo apt-get update
sudo apt-get upgrade
Informácie o tom, ako prejsť na novú verziu Ubuntu sa nachádzajú v časti Prechod na novú verziu.
Akcie príkazu apt-get
ako inštalovanie a odstraňovanie balíkov súzaznamenávané do súboru /var/log/dpkg.log.
Ďalšie informácie o používaní APT sa dozvieme v anglickom jazyku na stránke Debian APT User Manual alebo zadaním:
apt-get help
Aptitude je nadstavba systému Advanced Packaging Tool (APT) s textovým rozhraním. Poskytuje mnoho funkcií na správu balíkov, ako inštalovanie, odstraňovanie a aktualizovanie, ktoré sa väčšinou vykonávajú stlačením jedného malého písmena.
Nástroj Aptitude je prispôsobený na použitie v textovom prostredí terminálu, aby správne fungovali všetky kľúčové príkazy. Aptitude môžeme spustiť zadaním nasledujúceho príkazu do príkazového riadka:
sudo aptitude
Po spustení Aptitude uvidíme ponuku v hornej časti obrazovky a dve ďalšie časti okna pod ním. Horná časť obsahuje kategórie balíkov ako napríklad Nové balíky alebo Nenainštalované balíky. Dolná časť obsahuje informácie, ktoré sa vzťahujú na balíky a kategórie balíkov.
Používanie Aptitude na správu balíkov je relatívne jednoduché, pretože používateľské rozhranie umožňuje jednoducho vykonať bežné úlohy. Nasledujúce príklady demonštrujú, ako sa tieto bežné úlohy spojené so správou balíkov dajú urobiť pomocou Aptitude:
Pri prezeraní zoznamu balíkov vo vrchnej časti okna je v prvom stĺpci zobrazený aktuálny stav balíka, ktorý môže obsahovať tieto skratky opisujúce stav balíka:
Ak chceme ukončť Aptitude, jednoducho stlačíme na klávesnici q a potvrdíme, že chceme skončiť. V ponuke Aptitude sa nachádza mnoho ďalších funkcií, vyvoláme ju stlačením F10 na klávesnici.
Balík unattended-upgrades môžeme použiť na automatickú inštaláciu aktualizovaných balíkov. Môžeme ho nastaviť tak, aby aktualizoval všetky balíky alebo iba inštaloval bezpečnostné aktualizácie. Nainštalujeme ho zadaním príkazu do príkazového riadka:
sudo apt-get install unattended-upgrades
Nástroj unattended-upgrades sa konfiguruje pomocou súboru /etc/apt/apt.conf.d/50unattended-upgrades
. Otvoríme ho a upravíme nasledujúce nastavenia tak, ako potrebujeme:
Unattended-Upgrade::Allowed-Origins {
"Ubuntu jaunty-security";
// "Ubuntu jaunty-updates";
};
Niektoré balíky môžeme dať na čiernu listinu, aby sa neaktualizovali automaticky. Ak chceme zakázať automatickú aktualizáciu niektorého balíka, dopíšeme ho do zoznamu:
Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
![]() |
Dve lomítka “//” znamenajú poznámku, čokoľvek za "//" sa nebude spracovávať. |
---|---|
Keď chceme povoliť automatické aktualizácie, otvoríme súbor /etc/apt/apt.conf.d/10periodic
a nastavíme príslušné konfiguračné voľby apt:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";
Predchádzajúca konfigurácia aktualizácii zoznamu balíkov určuje, že sa dostupné aktualizácie stiahnu a nainštalujú každý deň. Lokálne stiahnuté archívy sa vymažú každý týždeň.
Viac informácií o konfigurácii periodických volieb apt sa nachádza v hlavičke sktiptu /etc/cron.daily/apt
.
Výstupy unattended-upgrades budú zaznamenávané do súboru /var/log/unattended-upgrades
.
Nastavením hodnoty Unattended-Upgrade::Mail v súbore /etc/apt/apt.conf.d/50unattended-upgrades
povolíme nástroju
unattended-upgrades, aby posielal správcovi emaily obsahujúce podrobnosti o balíkoch, ktoré je potrebné aktualizovať alebo majú iný problém.
Iný užitočný nástroj je apticron. Nástroj apticron nastaví úlohu pre plánovač cron, ktorá bude emailom odosielať správcovi informácie o balíkoch, ktoré je potrebné aktualizovať spolu so sumárom zmien každého balíka.
Ak chceme nainštalovať nástroj apticron, zadáme príkaz:
sudo apt-get install apticron
Keď je nástroj nainštalovaný, môžeme nastaviť emailovú adresu v súbore /etc/apticron/apticron.conf
, na ktorú sa budú odosielať emaily:
EMAIL="spravca@nieco.sk"
Konfigurácia zdrojov softvéru systému Advanced Packaging Tool (APT) je uložená v súbore /etc/apt/sources.list. V tejto časti si ukážeme, ako sa do tohto súboru pridávajú a odstraňujú zdroje softvéru.
Jednoduchý príklad súboru /etc/apt/sources.list nájdete na tejto stránke príklad konfiguračného súboru APT.
Súbor môžeme otvoriť a pridať alebo odobrať zdroje softvéru. Napríklad, ak chceme vypnúť požiadavku na vloženie Ubuntu CD-ROM disku, ktorá sa zjavuje pri operáciách s balíkmi, jednoducho zapoznámkujeme príslušný riadok pre CD-ROM, ktorý sa nachádza hneď na začiatku tohto súboru:
# no more prompting for CD-ROM please
# deb cdrom:[Ubuntu 10.04_Lucid_Lynx - Release i386 (20070419.1)]/ lucid main restricted
Ako dodatok ku oficiálnym zdrojom podporovaných balíkov pre Ubuntu existujú prídavné, komunitami spravované zdroje softvéru, ktoré môžu pridať tisíce ďalších balíkov. Dva najpopulárnejšie zdroje softvéru sú Universe a Multiverse. Tieto zdroje nie sú oficiálne podporované Ubuntu, ale pretože sú spravované komunitou, poskytujú balíky, ktoré môžeme bezpečne používať na našom počítači.
![]() |
Balíky v zdroji Multiverse majú často licenčné obmedzenia, ktoré bránia v ich distribúcii spolu so slobodným operačným systémom, a ich použitie je v niektorých krajinách nelegálne. |
---|---|
![]() |
Upozorňujeme, že ani jeden zo zdrojov Universe a Multiverse neobsahujú oficiálne podporované balíky. Preto pre tieto balíky nemusia byť dostupné bezpečnostné aktualizácie. |
---|---|
Existuje ešte mnoho ďalších dostupných zdrojov, z ktorých niektoré obsahujú len jeden balík, napríklad ak ho poskytuje vývojár vyvýjajúci iba jednu aplikáciu. Pred použitím takéhoto neštandardného zdroja by sme mali byť vždy veľmi opatrní. Pred použitím takéhoto zdroja je potrebné dôkladne preskúmať zdrojové kódy jeho balíkov, pretože takéto balíky môžu spôsobiť nestabilitu alebo nefunkčnosť nášho systému.
V základnom stave sú zdroje softvéru Universe a
Multiverse zapnuté, ale ak ich chcete vypnúť, zakomentujte v súbore /etc/apt/sources.list
tieto riadky:
deb http://archive.ubuntu.com/ubuntu lucid universe multiverse
deb-src http://archive.ubuntu.com/ubuntu lucid universe multiverse
deb http://sk.archive.ubuntu.com/ubuntu/ lucid universe
deb-src http://sk.archive.ubuntu.com/ubuntu/ lucid universe
deb http://sk.archive.ubuntu.com/ubuntu/ lucid-updates universe
deb-src http://sk.archive.ubuntu.com/ubuntu/ lucid-updates universe
deb http://sk.archive.ubuntu.com/ubuntu/ lucid multiverse
deb-src http://sk.archive.ubuntu.com/ubuntu/ lucid multiverse
deb http://sk.archive.ubuntu.com/ubuntu/ lucid-updates multiverse
deb-src http://sk.archive.ubuntu.com/ubuntu/ lucid-updates multiverse
deb http://security.ubuntu.com/ubuntu lucid-security universe
deb-src http://security.ubuntu.com/ubuntu lucid-security universe
deb http://security.ubuntu.com/ubuntu lucid-security multiverse
deb-src http://security.ubuntu.com/ubuntu lucid-security multiverse
Väčšina informácií, ktoré sme použili v tejto kapitole, je dostupná na stránkach man a veľa je tiež dostupných online.
Sieť pozostáva z dvoch alebo viacerých zariadení, ako napríklad počítače, tlačiarne a ďalšie a súvisiace zariadenia, ktoré sú prepojené buď fyzickou kabelážou alebo bezdrôtovým prepojením, kvôli zdieľaniu a distribúcii informácií medzi jednotlivými pripojenými zariadeniami.
Táto časť obsahuje všeobecné a špecifické informácie týkajúce sa sietí, vrátane prehľadu sieťových konceptov a podrobnej diskusie o populárnych sieťových protokoloch.
Ubuntu sa dodáva s množstvom grafických nástrojov, ktoré konfigurujú sieťové zariadenia. Tento dokument je určený pre správcov servera a zameriava sa na správu siete cez príkazový riadok.
Ethernetové rozhrania systém rozlišuje podľa dohodnutého označovania ethX, kde X predstavuje číselnú hodnotu. Prvé ethernetové rozhranie sa zvyčajne označuje eth0, druhé eth1 a ďalšie by mali mať nasledujúcu hodnotu v poradí.
Na rýchle rozpoznanie všetkých dostupný ethernetových rozhraní môžeme použiť príkaz ifconfig.
ifconfig -a | grep eth
eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a
Ďalšou aplikáciou, ktorá nám môže pomôcť rozpoznať všetky dostupné sieťové rozhrania, je lshw. V nasledujúcom príklade príkaz lshw zobrazil jedno ethernetové rozhranie s logickým názvom eth0 spolu s informáciami o zbernici, podrobnosťami o ovládači a všetkých podporovaných funkciách.
sudo lshw -class network
*-network
description: Ethernet interface
product: BCM4401-B0 100Base-TX
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0
version: 02
serial: 00:15:c5:4a:16:5a
size: 10MB/s
capacity: 100MB/s
width: 32 bits
clock: 33MHz
capabilities: (snipped for brevity)
configuration: (snipped for brevity)
resources: irq:17 memory:ef9fe000-ef9fffff
Názvy logických rozhraní sú nastavené v súbore
/etc/udev/rules.d/70-persistent-net.rules.
Keď chceme určiť, ktoré zariadenie dostane určitý logický názov, nájdeme zodpovedajúce rozhranie podľa fyzickej MAC adresy a upravíme hodnotu
NAME=ethX na požadované logické meno.
Aby sa zmeny prejavili, reštartujeme systém.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:4a:16:5a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:4a:16:5b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
ethtool je program, ktroý zobrazuje zmeny v nastaveniach ethernetovej karty ako napríklad automatické zladenie (auto-negotiation), rýchlosť portu, duplexný režim a zapnutie cez sieť (Wake-on-LAN). Program v predvolenom stave nie je nainštalovaný, ale dá sa doinštalovať z úložísk.
sudo apt-get install ethtool
V nasledujúcej ukážke môžeme vidieť, ako si môžeme na ethernetovom rozhraní pozrieť podporované funkcie a nakonfigurované nastavenia.
sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: d
Current message level: 0x000000ff (255)
Link detected: yes
Zmeny, ktoré vykonáme pomocou príkazu ethtool
sú dočasné a po reštarte počítača sa stratia. Ak chceme zmeny zachovať, stačí ak do konfiguračného súboru rozhraní /etc/network/interfaces
pridáme požadovaný príkaz ethtool za príkaz pre-up.
Nasledujúci príklad hovorí, ako môžeme rozhranie identifikované ako eth0 trvalo nastaviť tak, aby rýchlosť jeho portu bola 1000Mb/s a aby pracovalo v režime full duplex.
auto eth0
iface eth0 inet static
pre-up /usr/sbin/ethtool -s eth0 speed 1000 duplex full
![]() |
Aj keď sme v predchádzajúcom príklade použili rozhranie staticky nastavené rozhranie, tento príkaz funguje aj s inak nastaveným rozhraním, ako napríklad DHCP. Príklad iba demonštruje správne umiestnenie príkazu pre-up vzhľadom na zvyšok konfigurácie rozhrania. |
---|---|
Nasledujúca časť opisuje proces konfigurácie IP adresy a predvolenej brány v systéme, čo sú nastavenia potrebné na komunikáciu s lokálnou sieťou a Internetom.
Na dočasnú konfiguráciu siete, môžeme použiť bežné príkazy ako ip, ifconfig a route, ktoré sa nachádzajú vo väčšine operačných systémov GNU/Linux. Tieto príkazy umožňujú konfigurovať nastavenia, ktoré sa prejavia okamžite, avšak nepretrvajú navždy a po reštartovaní počítača sa stratia.
Keď chceme IP adresu nastaviť iba dočasne, môžeme použiť príkaz ifconfig nasledujúcim spôsobom. Zmeníme iba IP adresu a masku podsiete aby súhlasila s požiadavkami siete.
sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0
Aby sme preverili správnosť nastavenia IP adresy na eth0, môžeme opäť použiť príkaz ifconfig nasledujúcim spôsobom.
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a
inet addr:10.0.0.100 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::215:c5ff:fe4a:165a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:466475604 errors:0 dropped:0 overruns:0 frame:0
TX packets:403172654 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2574778386 (2.5 GB) TX bytes:1618367329 (1.6 GB)
Interrupt:16
Keď chceme zmeniť predvolenú bránu, použijeme príkaz route nasledujúcim spôsobom. Upravíme adresu predvolenej brány tak, aby súhlasila s požiadavkami siete.
sudo route add default gw 10.0.0.1 eth0
Aby sme overili nastavenie predvolenej brány, opäť použijeme príkaz route nasledujúcim spôsobom.
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
Ak kvôli dočasnému nastaveniu siete potrebujeme zmeniť aj DNS servery, môžeme IP adresy DNS serverov pridať do súboru /etc/resolv.conf
.
Nasledujúci príklad zobrazuje, ako môžeme do súboru /etc/resolv.conf
zadať adresy dvoch DNS serverov, kroté si môžeme zmeniť na adresy serverov potrebných pre našu sieť. Detailnejší popis nastavení DNS klienta sa nachádza v nasledujúcej časti.
nameserver 8.8.8.8
nameserver 8.8.4.4
Ak už naďalej nepotrebujeme túto konfiguráciu a chceme ju z rozhrania odstrániť, môžeme použiť príkaz ip s voľbou flush tak, ako sme to uviedli nižšie.
ip addr flush eth0
![]() |
Odstránenie IP konfigurácie pomocou príkazu ip
nezmaže obsah súboru |
---|---|
Keď chceme nastaviť server tak, aby využil DHCP na dynamické nastavenie adresy,
pridáme dhcp za príkaz intet na príslušnom rozhraní v súbore /etc/network/interfaces
.
Nasledujúci príklad predpokladá, že prvé ethernetové rozhranie sa volá
eth0.
auto eth0
iface eth0 inet dhcp
Po pridaní predchádzajúcej konfigurácie rozhrania, môžeme ručne zapnúť rozhranie pomocou príkazu ifup, ktorý inicializuje DHCP proces prostredníctvom príkazu dhclient.
sudo ifup eth0
Ak chceme rozhranie ručne vypnúť, použijeme príkaz ifdown, ktorý následne inicializuje uvoľňovací DHCP proces a vypne rozhranie.
sudo ifdown eth0
Keď chceme nastaviť v našom systéme statickú IP adresu, pridáme za príkaz inet zápis static na príslušnom rozhraní v súbore /etc/network/interfaces
.
Nasledujúcim príkazom nastavíme naše prvé ethernetové rozhranie s názvom eth0. Adresu, sieťovú masku a bránu zmeníme na hodnoty, ktoré potrebujeme v našej sieti.
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
Po pridaní predchádzajúcej konfigurácie môžeme rozhranie ručne zapnúť pomocou príkazu ifup.
sudo ifup eth0
Keď chceme rozhranie ručne vypnúť, použijeme príkaz ifdown.
sudo ifdown eth0
Rozhranie spätnej väzby sa v systéme volá lo a v predvolenom stave má pridelenú IP adresu 127.0.0.1. Môžeme si ho prezrieť pomocou príkazu ifconfig.
ifconfig lo
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2718 errors:0 dropped:0 overruns:0 frame:0
TX packets:2718 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:183308 (183.3 KB) TX bytes:183308 (183.3 KB)
V predvolenom stave sú v súbore /etc/network/interfaces
dva riadky, ktoré rozhranie spätnej väzby automaticky nastavia. Odporúča sa, aby sme tieto riadky ponechali, pokiaľ nemáme konkrétny dôvod toto nastavenie zmeniť. Spomínané dva riadky sa nachádzajú v nasledujúcom príklade.
auto lo
iface lo inet loopback
Preklad názvov týkajúci sa internetových sietí je proces priradenia číselných IP adries k menným adresám hostiteľských staníc, aby bolo pre človeka jednoduchšie určiť sieťový zdroj. Nasledujúca časť hovorí o tom, ako správne nakonfigurovať systém tak, aby prekladal adresy pomocou systému DNS a statických záznamov o hostiteľských staniciach.
Keď chceme nakonfigurovať systém tak, aby na preklad adries použil systém DNS, pridáme IP
adresy DNS
serverov vhodných pre našu sieť, do súboru /etc/resolv.conf
.
Môžeme tiež voliteľne za príkaz search pridať DNS príponu, ktorá sa bude automaticky pridávať ku skráteným názvom staníc našej siete.
Nasledujúci príklad predstavuje typickú konfiguráciu v súbore /etc/resolv.conf
pre server v doméne "nieco.sk", ktorý používa na preklad adries dva verejné DNS servery.
search nieco.sk
nameserver 8.8.8.8
nameserver 8.8.4.4
Voľba search sa dá použiť aj pre viacero domén, ktoré sa budú postupne pridávať k DNS požiadavkám v tom poradí, v akom sú zadané. Napríklad môže mať naša doména niekoľko poddomén - hlavná doména bude nieco.sk, a dve poddomény budú predaj.nieco.sk a vyvoj.nieco.sk.
Pri viacerých doménach naša konfiguráciu môžeme zapísať nasledujúcim spôsobom.
search nieco.sk predaj.nieco.sk vyvoj.nieco.sk
nameserver 8.8.8.8
nameserver 8.8.4.4
Ak sa pokúsime cez sieť osloviť hostiteľskú stanicu s názvom server1, systém DNS požiadavku bude automaticky doplňovať na tzv. Fully Qualified Domain Name (FQDN) - úplnú doménovú adresu v nasledujúcom poradí:
server1.nieco.sk
server1.predaj.nieco.sk
server1.vyvoj.nieco.sk
Ak DNS server nenájde ani jednu z týchto adries, na DNS požiadavku odpovie chybovým hlásením.
Statické záznamy o hostiteľských staniciach sú je lokálne uložený zoznam priradení menných adries k číselným IP adresám, ktorý je uložený v súbore /etc/hosts
.
Záznamy v súbore hosts
majú v predvolenom stave prednosť pred DNS. To znamená, že ak sa systém pokúša preložiť mennú adresu a nájde záznam v súbore
/etc/hosts, nebude sa ďalej pokúšať nájsť záznam v systéme DNS. V niektorých prípadoch (najmä ak nie je nutné pripojenie na Internet) sa servery, ktoré komunikujú s obmedzeným počtom staníc, zvyčajne nastavujú pomocou statických záznamov a nie pomocou DNS.
V nasledujúcom príklade súboru hosts
je niekoľko adries lokálnych serverov, pre ktoré sú v súbore definované jednoduché názvy spolu s aliasmi a ich úplnými doménovými adresami (FQDN).
127.0.0.1 localhost
127.0.1.1 ubuntu-server
10.0.0.11 server1 vpn server1.nieco.sk
10.0.0.12 server2 mail server2.nieco.sk
10.0.0.13 server3 www server3.nieco.sk
10.0.0.14 server4 file server4.nieco.sk
![]() |
Všimnite si, že v predchádzajúcom príklade má každý server alias aj príslušnú doménovú adresu FQDN. Server1 má priradený aj názov vpn, server2 sa dá adresovať pomocou názvu mail, server3 ako www a server4 ako file. |
---|---|
Poradie v akom si systém vyberá spôsob, akým preloží mennú adresu hostiteľskej stanice na číselnú IP adresu, je určený pomocou Name Service Switch (NSS) v konfiguračnom súbore /etc/nsswitch.conf
.
Tak ako sme to už, spomenuli v predchádzajúcej časti, statické záznamy definované v súbore
/etc/hosts
majú zvyčajne prednosť pred DNS. Nasledujúci príklad predstavuje poradie v súbore /etc/nsswitch.conf
v akom sa budú hľadať menné adresy.
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
files najskôr sa systém pokúsi nájsť adresu v súbore
/etc/hosts
.
mdns4_minimal pokúsi sa preložiť meno pomocou Multicast DNS.
[NOTFOUND=return] znamená, že každá odpoveď procesu mdns4_minimal o nenájdení záznamu sa vyhodnotí ako neautorizovaná aby sa systém nepokúšal ďalej pátrať po odpovedi.
dns reprezentuje pravú unicast požiadavku DNS.
mdns4 reprezentuje požiadavku Multicast DNS.
Keď chceme zmeniť poradie spomínaných spôsobov prekladu názvov,
stačí jednoducho zameniť reťazce za slovom hosts: podľa toho, ako nám to vyhovuje. Napríklad ak chceme použiť pravý Unicast
DNS skôr ako Multicast DNS, zmeníme poradie reťazcov v súbore /etc/nsswitch.conf
nasledujúcim spôsobom.
hosts: files dns [NOTFOUND=return] mdns4_minimal mdns4
Premostenie (Bridging) viacerých rozhraní patrí k pokročilej konfigurácii, ale je v mnohých prípadoch veľmi užitočné. Jedno z využití je premostenie viacerých sieťových rozhraní a následné použitie firewallu na filtrovanie dvoch sieťových segmentov. Iné využitie je použitie premostenia v systémoch s jedným rozhraním, aby virtuálne počítače mali priamy prístup do siete. Nasledujúci príklad predvedie práve tento druhý spôsob využitia.
Pred tým, ako budeme môcť nastaviť premostenie, je potrebné nainštalovať balík bridge-utils. Ak ho chceme nainštalovať, zadáme:
sudo apt-get install bridge-utils
Potom nastavíme premosťujúce rozhranie (br0) v súbore /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
![]() |
Ďalej zadajte príslušné hodnoty vášho fyzického rozhrania (eth0) a siete. |
---|---|
Teraz reštartujte sieť a aktivujte premosťujúce rozhranie:
sudo /etc/init.d/networking restart
Nové premostené rozhranie je teraz aktivované a funkčné. Nástroj brctl nám poskytne užitočné informácie o stave premostenia, umožňuje riadiť, ktoré rozhrania budú súčasťou premostenia, atď. Viac informácií získame po zadaní príkazu man brctl.
/etc/network/interfaces
.
Transmission Control Protocol and Internet Protocol (TCP/IP) je štandardná sada protokolov (dohovorov o komunikácii), ktorá bola vyvinutá koncom sedemdesiatych rokov armádnou agentúrou Defense Advanced Research Projects Agency (DARPA) ako prostriedok na komunikáciu medzi rôznymi typmi počítačov a počítačových sietí. TCP / IP je hnacou silou Internetu, a preto je najpopulárnejším súborom sieťových protokolov na Zemi.
Dve súčasti protokolu TCP/IP sa zaoberajú rôznymi aspektami počítačových sietí. Internet Protocol -"IP" je protokol, ktorý sa nezaoberá pripojením, ale iba smerovaním sieťových paketov pomocou IP Datagramov a packety považuje za základnú jednotkou sieťovej informácie. IP Datagram obsahuje hlavičku, za ktorou nasleduje správa. Transmission Control Protocol - "TCP" umožňuje sieťovým hostiteľom (zariadeniam v sieti, ktoré majú svoju sieťovú adresu) nadviazať spojenie, ktoré sa použije na výmenu dát. TCP tiež zaručuje, že dáta budú doručené a že do cieľa prídu v rovnakom tvare, v akom boli odoslané.
Konfigurácia TCP/IP protokolu pozostáva z niekoľkých prvkov, ktoré sa nastavujú v príslušných konfiguračných súboroch alebo nasadením riešenia, akým je napríklad DHCP server (protokol na dynamickú konfiguráciu staníc), ktorý môže byť nakonfigurovaný tak, aby správnu konfiguráciu TCP/IP poskytoval sieťovým klientom automaticky. Tieto konfiguračné hodnoty musia byť správne nastavené, aby systém Ubuntu mohol vykonávať sieťové operácie.
Bežnými konfiguračnými prvkami TCP/IP sú tieto:
![]() |
IP adresa, sieťová maska, adresa siete, broadcast adresa a adresa brány sú nastavené v konfiguračnom súbore |
Pre zobrazenie systémového manuálu pre interfaces
použijeme nasledujúci príkaz:
man interfaces
Pre zobrazenie systémového manuálu pre resolv.conf
použijeme nasledujúci príkaz:
man resolv.conf
IP smerovanie alebo tiež IP routing predstavuje spôsob určenia alebo nájdenia cesty v sieti TCP/IP, po ktorej sa budú posielať dáta. Smerovanie používa na posielanie dátových paketov od odosielateľa k príjemcovi smerovacie tabuľky. Odoslanie pritom často prebieha cez mnoho medzičlánkov, ktorým hovoríme smerovače alebo tiež routre. Existujú dva hlavné spôsoby smerovania: statické smerovanie a dynamické smerovanie.
Statické smerovanie spočíva v manuálnom pridávaní IP trás do smerovacej tabuľky. Najčastejšie sa to vykonáva pomocou príkazu route. Statické smerovanie má oproti dynamickému smerovaniu mnoho výhod, ako napríklad jednoduchú implementáciu v malých sieťach, predvídateľnosť (smerovacia tabuľka sa určí vopred a preto je cesta rovnaká pri každom jej použití) a nízka záťaž ostatných smerovačov a sieťových prepojení vďaka tomu, že sa nepoužíva protokol dynamického smerovania. Statické smerovanie má však aj svoje nevýhody. Statické smerovanie je obmedzené na malé siete a nie je dobre prispôsobiteľné. Statické smerovanie sa tiež nedokáže prispôsobiť výpadkom pripojení kvôli nemennej povahe smerovania.
Dynamické smerovanie sa používa vo veľkých sieťach s viacerými možnými spôsobmi pripojenia od zdroja k cieľu, pričom využíva špeciálne protokoly smerovania, ako napríklad Router Information Protocol (RIP), ktorý automatický robí zmeny v smerovacej tabuľke, aby umožnil dynamické smerovanie. Dynamické smerovanie má niekoľko výhod oproti statickému smerovaniu, akými sú napríklad vynikajúca prispôsobiteľnosť a schopnosť prispôsobiť sa výpadkom pripojenia v sieti. Taktiež nevyžaduje toľko ručného nastavovania smerovacích tabuliek, pretože smerovače sa navzájom informujú o svojej prítomnosti a dostupných trasách. Táto vlastnosť tiež vylučuje chyby spôsobené ľudským faktorom. Dynamické smerovanie nie je dokonalé, pretože má aj určité nevýhody akými sú vyššia zložitosť a záťaž pri komunikácii smerovačov, čo následne pocítia koncoví používatelia zníženou šírkou prenosového pásma.
TCP je protokol, poskytujúci korekciu chýb a garanciu doručenia dát, čo je známe ako riadenie toku alebo flow control. Riadenie toku určuje, kedy je potrebné prerušiť tok dát a vyžiadať o znovuzaslanie dátových paketov kvôli problémom, akými sú napríklad tzv. kolízie, a tak zabezpečiť správne doručenie údajov. TCP sa využíva najmä na výmenu dôležitých informácii, akými sú napríklad databázové transakcie.
UDP protokol (User Datagram Protocol) je naopak protokolom, ktorý sa len zrieka zaoberá prenosom dôležitých dát, pretože nepoužíva riadenie toku ani žiadnu ďalšiu metódu, aby zabezpečil spoľahlivý prenos dát. UDP sa najčastejšie používa všade tam, kde strata zopár paketov nie je žiadna katastrofa, ako napríklad pri tzv. audio a video streamingu, pri ktorom je neporovnateľne rýchlejší ako TCP, pretože sa nezaoberá opravou chýb a riadením toku.
ICMP protokol (Internet Control Messaging Protocol) je rozšírením IP protokolu podľa definície Request For Comments (RFC) číslo 792 a umožňuje riadenie obsahu paketov, chýbových a informačných správ. Prokol ICMP je využívaný takými sieťovými aplikáciami, akou je napríklad nástroj ping, ktrorý vie overiť dostupnosť stanice. Príkladmi niektorých chybových hlásení užitočných pre obe komunikujúce strany, ktoré posiela ICMP, sú hlásenia Destination Unreachable (cieľ nedostupný) a Time Exceeded (vypršal čas na spojenie).
Daemons alebo démoni sú špeciálne systémové aplikácie, ktoré sú zvyčajne spustené v pozadí a čakajú na požiadavky o služby, ktoré poskytujú z iných aplikácií. Mnoho démonov je sieťovo zameraných. Aj v Ubuntu je na pozadí spustených veľa démonov, ktoré poskytujú sieťovo zamerané služby. Medzi nich patria aj démoni: Hyper Text Transport Protocol Daemon (httpd), ktorý poskytuje služby webového servera, Secure SHell Daemon (sshd), ktorý poskytuje rozhranie pre vzialenú správu a funkcie na prenos súborov a Internet Message Access Protocol Daemon (imapd), ktorý poskytuje e-mailové služby.
Dynamic Host Configuration Protocol (DHCP) je sieťová služba, ktorá umožňuje, aby klientom siete boli automaticky pridelené nastavenia zo servera, miesto ručného nastavovania každej stanice samostatne. Počítače, ktoré sú nastavené ako DHCP klienti nepotrebujú žiadne ďalšie nastavenia. Získajú ich od DHCP servera a tieto nastavenia sú neviditeľné pre bežného používateľa.
Najčastejšími nastaveniami, ktoré poskytuje DHCP server DHCP klientom sú:
Avšak DHCP server môže poskytovať aj nastavenia, akými sú:
Výhodou použitia DHCP je to, že mení nastavenia v celej sieti. Ak chceme napríklad zmeniť DNS server, stačí ho zmeniť iba na DHCP serveri a všetci klienti siete zmenia nastavenie hneď po tom, ako sa ich DHCP klient spojí s DHCP serverom. Ďalšou výhodou je tiež ľahšie začlenenie nového počítača do siete, pretože nepotrebujeme zisťovať, ktorá IP adresa je voľná. Vylúči sa tiež riziko priradenia rovnakej IP adresy dvom počítačom.
DHCP server môže byť nastavený dvoma spôsobmi:
Táto metóda použitia DHCP vyžaduje zadefinovanie všetkých fyzických adries sieťových kariet pripojených do siete, pomocou ktorých sa budú klienti identifikovať a následne im bude poskytnuté nemenné nastavenie vždy, keď pošlú požiadavku DHCP serveru.
Táto metóda vyžaduje zadefinovanie rozsahu IP adries, z ktorého budú dynamicky poskytované DNS klientom systémom "kto prv príde, ten skôr melie". Keď sa DHCP klient zo siete odpojí na určitý čas, jeho konfigurácia sa zruší a adresa bude vrátená späť do zoznamu voľných adries, aby mohla byť pridelená inému DHCP klientovi.
Ubuntu sa dodáva s DHCP serverom aj klientom. Serverom je dhcpd (dynamic host configuration protocol daemon). Klient, ktorý je súčasťou Ubuntu, je dhclient a mal by byť nainštalovaný na každom počítači, ktorý chceme automaticky nakonfigurovať. Oba programy sa dajú jednoducho nainštalovať a sú nastavené tak, aby sa spúšťali pri zavádzaní systému.
Ak chceme dhcpd nainštalovať, zadáme do príkazového riadka nasledujúci príkaz:
sudo apt-get install dhcp3-server
Konfiguráciu DHCP servera môžeme podľa potrieb zmeniť v konfiguračnom súbore /etc/dhcp3/dhcpd.conf.
Bude tiež potrebné v súbore /etc/default/dhcp3-server určiť, na ktorom rozhraní bude dhcpd načúvať. Predvolené je rozhranie eth0.
POZNÁMKA: výstupy dhcpd sa zaznamenávajú v syslogu. V ňom môžeme nájsť diagnostické správy.
Chybová správa na konci inštalácie môže byť trochu mätúca, ale nasledujúce kroky nám pomôžu službu nakonfigurovať:
Najčastejšie sa DHCP server nastavuje tak, aby IP adresy prideľoval náhodne. Toto môžeme urobiť pomocou takýchto nastavení:
# Príklad /etc/dhcpd.conf
# (sem pridajte váš komentár)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mojadomena.nieco";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
range 192.168.1.150 192.168.1.200;
}
Toto nastavenie spôsobí, že DHCP server bude poskytovať klientom IP adresy z rozsahu 192.168.1.10-192.168.1.100 alebo 192.168.1.150-192.168.1.200. IP adresa bude zapožičaná na dobu 600 sekúnd, ak klient nepožiada o iné časové obmedzenie. Maximálna (povolená) doba zapožičania je 7200 sekúnd. Server tiež "poradí" klientovi, že by mal použiť masku siete 255.255.255.0, broadcast adresu 192.168.1.255, bránu/smerovač 192.168.1.254 a DNS servery 192.168.1.1 a 192.168.1.2.
Ak potrebujeme nastaviť WINS server pre klientov Windows, je potrebné zapísať aj riadok netbios-name-servers, napríklad takto:
option netbios-name-servers 192.168.1.1;
Konfiguračné nastavenia Dhcpd sme prevzali z DHCP mini-HOWTO.
/etc/dhcp3/dhcpd.conf
sa dozvieme v
dhcpd.conf man page.
Táto stránka hovorí o tom, ako na počítači udržať presný čas. Presný čas je pri serveroch dôležitý, ale na bežných počítačoch na ňom až tak nezáleží.
NTP je súčasťou TCP/IP protokolu a slúži na synchronizáciu času cez sieť. V princípe si klient vyžiada od servera a použije ho na nastavenie svojich hodín.
Za týmto jednoduchým opisom sa však nachádza dosť komplikovaný systém: Existuje niekoľko úrovní NTP serverov, pričom NTP servery prvej úrovne sú pripojené k atómovým hodinám (často prostredníctvom GPS) a servery na úrovniach dva a tri slúžia na rozloženie záťaže a spracovávajú požiadavky prichádzajúce z celého Internetu. Tiež softvér na strane klienta je o niečo zložitejší, ako sa na prvý pohľad javí - je tu problém oneskorenia komunikácie a nastavenia času tak, aby sa to neprejavilo na chode ostatných procesov, ktoré sú na serveri spustené. Všetky tieto komplikované veci sú však našťastie skryté pred naším zrakom!
Ubuntu umožňuje automaticky nastavovať čas dvoma spôsobmi: pomocou ntpdate a ntpd.
Ubuntu je štandardne dodávané s ntpdate, ktoré spustí jednorázovo pri zavádzaní systému a nastaví čas podľa prednastaveného NTP servera. Keďže medzi jednotlivými reštartami servera sa môžu hodiny stať veľmi nepresnými, je dôležité upraviť čas aj počas behu servera. Najjednoduchším spôsobom, akým sa to dá urobiť, je naplánovať denné spúšťanie ntpdate pomocou plánovača cron. Otvoríme náš obľúbený editor s právami root (pri spustení použijeme sudo) a vytvoríme súbor /etc/cron.daily/ntpdate
s nasledujúcim obsahom:
ntpdate ntp.ubuntu.com
Súbor /etc/cron.daily/ntpdate
musíme nastaviť ako spustiteľný:
sudo chmod 755 /etc/cron.daily/ntpdate
ntpdate je trochu obmedzený nástroj - môže nastavovať čas iba raz za deň a vykonať jednu veľkú korekciu. Démon ntpd je oveľa presnejší. Vypočíta, o koľko sa hodiny oneskorujú/predbiehajú a nepretržite ich opravuje, takže nenastane žiadny veľký posun, ktorý by mohol viesť k nekonzistencii záznamov. Je to síce za cenu malého zníženia výkonu procesora a kapacity pamäte, ale pri moderných serveroch je to zanedbateľné.
Nástroj ntpd nainštalujeme pomocou príkazu:
sudo apt-get install ntp
V oboch uvedených prípadoch systém použije predvolený NTP server ntp.ubuntu.com
. To je OK, ale môžeme používať viacero serverov a zvýšiť tak presnosť a odolnosť. Môžeme použiť servery, ktoré sú geograficky blízke a máme k nim rýchlejšie pripojenie. Ak chceme servery zmeniť, pre ntpdate to môžeme urobiť v súbore /etc/cron.daily/ntpdate
napríklad takto:
ntpdate ntp.ubuntu.com pool.ntp.org
Pre ntpd to zase môžeme urobiť v súbore
/etc/ntp.conf
napríklad takto:
server ntp.ubuntu.com
server pool.ntp.org
Všimnime si adresu pool.ntp.org
použitú v príkladoch. Je to naozaj veľmi dobrý nápad, pri ktorom DNS server systémom Round-Robin (ide Pešek okolo) vráti adresu NTP servera zo zoznamu dostupných NTP serverov, a tak rozdeľuje záťaž medzi všetky servery. Ešte lepším riešením je použiť zoznam len určitého regiónu - napríklad, ak sa nachádzame na Slovensku, môžete použiť sk.pool.ntp.org
miesto
pool.ntp.org
. Viac informácii sa dozvieme na stránke
http://www.pool.ntp.org/.
Môžeme tiež pomocou Google skúsiť nájsť NTP servery v našom regióne a pridať ich do našej konfigurácie. Ak chceme otestovať, či server funguje, stačí zadať
sudo ntpdate meno.ntp.servera
a sledovať, čo sa bude diať.
Existuje mnoho spôsobov ako spravovať Linuxový server na diaľku. Táto kapitola bude hovoriť o najpopulárnejšom spôsobe pomocou SSH ale tiež aj o webovom rozhraní eBox.
Táto časť príručky Ubuntu servera hovorí o mocnej kolekcii nástrojov, určených na vzdialenú správu počítačov v sieti a na prenos dát medzi počítačmi, ktorá sa nazýva OpenSSH. V tejto časti sa tiež naučíme, ako sa dá prispôsobiť konfigurácia aplikácií OpenSSH servera a ako ju môžeme zmeniť v systéme Ubuntu.
OpenSSH je voľne dostupná verzia Secure Shell (SSH) protokola obsahujúceho nástroje pre vzdialenú správu počítača a prenos súborov. Tradičné nástroje, ktoré sa často používajú na tento účel, ako napríklad telnet alebo rcp, nie sú bezpečné a prenášajú heslo používateľa ako bežný text. OpenSSH poskytuje serverového démona a klientské nástroje, ktoré umožňujú bezpečnú šifrovanú vzdialenú správu a prenos súborov, a ktoré dokážu efektívne nahradiť bežné nástroje.
Súčasť OpenSSH servera - sshd, nepretržite čaká na spojenie niektorého z klientských nástrojov. Keď nastane požiadavka na spojenie, sshd nastaví správny typ spojenia v závislosti od toho, ktorý z nástrojov sa chce pripojiť. Napríklad. ak sa vzdialený počítač snaží pripojiť pomocou klientskej aplikácie ssh, OpenSSH server pripraví po autentifikácii reláciu so vzdialenou správou. Ak sa vzdialený používateľ pokúša pripojiť k OpenSSH serveru pomocou scp, démon OpenSSH servera sa po autentifikácii pripraví na bezpečný prenos súborov medzi serverom a klientom. OpenSSH môže použiť mnoho spôsobov autentifikácie, vrátane bežného hesla, verejného kľúča, či tzv. vstupeniek systému Kerberos.
Inštalácia OpenSSH klientských a serverových aplikácií je jednoduchá. Ak chceme nainštalovať klientske aplikácie v systéme Ubuntu, zadáme nasledujúci príkaz do príkazového riadka:
sudo apt-get install openssh-client
Ak chceme nainštalovať serverové aplikácie OpenSSH a podporu bezpečného prenosu súborov, do príkazového riadka zadáme:
sudo apt-get install openssh-server
Balík openssh-server si môžeme vybrať už pri inštalácii systému Ubuntu Server.
Predvolené správanie serverovej aplikácie OpenSSH -
sshd môžeme zmeniť v konfiguračnom súbore
/etc/ssh/sshd_config
. Informácie o direktívach použitých v tomto konfiguračnom súbore získame na stránkach man-u zadaním nasledujúceho príkazu:
man sshd_config
Konfiguračný súbor sshd obsahuje mnoho direktív, ktoré riadia také veci ako je komunikácia či autentifikácia. Ukážeme si niekoľko príkladov nastavenia direktív, ktoré môžeme vykonať v súbore /etc/ssh/sshd_config
.
![]() |
Pred tým, ako začnete meniť akýkoľvek konfiguračný súbor, mali by ste si vytvoriť kópiu pôvodného súboru a nastaviť ho iba na čítanie, aby ste mohli pôvodné nastavenia použiť kvôli porovnaniu a v prípade potreby sa ku nim vrátiť. Vytvorte kópiu súboru |
---|---|
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original
Tu sú sľúbené konfiguračné direktívy, ktoré môžeme zmeniť:
/etc/ssh/sshd_config
už existuje, uistíme sa, že nie je zapoznámkovaný.
/etc/issue.net
, jednoducho pridáme alebo upravíme riadok:
/etc/ssh/sshd_config
.
Po vykonaní zmien v súbore /etc/ssh/sshd_config
, súbor uložíme a reštartujeme serverovú aplikáciu sshd, aby sa zmeny prejavili. Urobíme to zadaním nasledujúceho príkazu do príkazového riadka:
sudo /etc/init.d/ssh restart
![]() |
Pre sshd existuje mnoho ďalších nastavení, ktoré zmenia správanie serverovej aplikácie podľa vašich potrieb. Mali by ste však vedieť, že ak je ssh jediný spôsob, akým sa viete dostať na server a urobíte chybu pri nastavovaní sshd pomocou konfiguračného súboru
|
---|---|
SSH kľúče umožňujú autentifikáciu medzi dvoma stanicami bez potreby použitia hesla. Autentifikácia pomocou SSH kľúčov používa dva kľúče, súkromný kľúč a verejný kľúč.
Ak chceme kľúče vygenerovať, zadáme do príkazového riadka príkaz:
ssh-keygen -t dsa
Tento príkaz vygeneruje kľúče za pomoci DSA autentifikačnej identity používateľa. Počas procesu sa systém opýta na heslo. Pri tejto výzve stlačíme iba Enter a kľúč sa vytvorí.
Za normálnych okolností sa verejný kľúč uloží do súboru ~/.ssh/id_dsa.pub
a súkromný kľúč zasa do súboru
~/.ssh/id_dsa
. Teraz nakopírujeme súbor id_dsa.pub
na vzdialenú stanicu a pripojíme ho do súboru ~/.ssh/authorized_keys
zadaním príkazu:
ssh-copy-id pouzivatel@vzdialena_stanica
Nakoniec pre istotu dvakrát skontrolujeme práva k súboru authorized_keys
, aby ho mohli čítať a zapisovať do neho iba oprávnení používatelia.
Ak práva nie sú správne nastavené, zmeníme ich pomocou príkazu:
chmod 644 .ssh/authorized_keys
Teraz sa budeme môcť pripojiť cez SSH k vzdialenému počítaču bez nutnosti zadania hesla.
eBox je webové rozhranie, ktoré sa používa na vzdialenú správu a konfiguráciu serverových aplikácií. Modulárne zostavenie eBoxu umožňuje vybrať a nainštalovať iba tie moduly, ktorými budeme systém spravovať pomocou eBoxu.
Jednotlivé moduly systému eBox sú rozdelené do samostatných balíčkov, čo nám umožní nainštalovať len tie, ktoré budeme naozaj potrebovať. Jeden zo spôsobov, akým sa dajú zobraziť všetky dostupné balíky, je pomocou príkazu:
apt-cache rdepends ebox | uniq
Ak chceme nainštalovať balík ebox, ktorý obsahuje základný modul, zadáme nasledujúci príkaz:
sudo apt-get install ebox
Počas inštalácie bude potrebné zadať heslo pre používateľa systému eBox. Po nainštalovaní eBoxu bude webové rozhranie dostupné na adrese: https://vasserver/ebox.
Dôležitá vec, ktorú je si potrebné pamätať pri používaní systému eBox je to, že keď zmeníme konfiguráciu, vo väčšine modulov je tlačítko Change, ktoré zmenenú konfiguráciu implementuje. Po kliknutí na tlačítko Change väčšinu modulov (nie všetky), je potrebné uložiť. Ak chceme novú konfiguráciu uložiť, klikneme na odkaz v pravom hornom rohu s nápisom “Save changes”.
![]() |
Ak vykonáte zmenu, ktorú je potrebné uložiť, odkaz zmení farbu zo zelenej na červenú. |
---|---|
V základnom stave eBox moduly nie sú zapnuté. Ani po nainštalovaní nového modulu sa modul automaticky nezapne.
Ak chceme zapnúť modul, klikneme na odkaz Module status v ponuke na ľavej strane. Potom označíme, ktoré moduly chceme zapnúť, a potom klikneme na odkaz “Save”.
Toto je stručný prehľad základných eBox modulov.
/var/log/ebox/ebox.log
. Toto je stručný prehľad ostatných dostupných modulov pre rozhranie eBox:
Táto časť hovorí o rôznych protokoloch sieťovej autentifikácie.
LDAP je skratka pre Lightweight Directory Access Protocol (protokol odľahčeného prístupu k adresárom), ktorý je zjednodušenou verziou protokolu X.500. Nastavenie adresárov v tejto časti použijeme na autentifikáciu. LDAP sa však dá použiť aj na rôzne ďalšie účely, ako napríklad zdielaný adresár (pre mailových klientov), adresár kontaktov, atď.
Ak by sme chceli zjednodušene povedať, čo je LDAP, povedali by sme, že sú to informácie usporiadané do stromovej štruktúry (označuje sa cn=nazov_stromu). V OpenLDAP môžeme slobodne určiť rozvetvenie adresárov (tzv. DIT – Directory Information Tree). My začneme vytvorením dvoch organizačných jednotiek (označuje sa ou=nazov_jednotky) na najvyššej úrovni:
Pred tým, ako začneme, mali by sme zistiť, ako sa volá uzol najvyššej úrovne LDAP adresára. Za normálnych okolností je meno stromu určené tzv. Fully Qualified Domain Name (FQDN) – úplným menom domény (označuje sa dc=nazov_domeny). Ak je vaša doména nieco.sk (ktorú budeme v tomto príklade používať), názov hlavného uzla bude dc=nieco,dc=sk.
Najskôr nainštalujeme démon OpenLDAP servera slapd a balík ldap-utils, ktorý obsahuje nástroje pre správu LDAP:
sudo apt-get install slapd ldap-utils
V predvolenom stave je slapd nastavený s minimálnymi voľbami potrebnými na beh démona slapd.
Príklad konfigurácie v nasledujúcich častiach sa zhoduje s doménovým názvom servera. Napríklad počítač s FQDN adresou ldap.nieco.sk bude mať príponu dc=nieco,dc=sk.
Adresár na pozadí cn=config má len minimálnu konfiguráciu a bude potrebné nastaviť ďalšie voľby, aby bolo možné naplniť adresár v popredí. Adresár v popredí napliníme pomocou schémy "classical", ktorá je kompatibilná s adresármi v aplikáciách a s kontami Unix Posix. Kontá Posix umožňujú autentifikáciu do rôznych aplikácií, vrátane webových aplikácií, emailových aplikácií Mail Transfer Agent (MTA), atď.
![]() |
Ak chcete, aby externé aplikácie používali LDAP pri autentifikácii, je potrebné každú z nich nastaviť osobitne. Viac informácii získate v dokumentácii konkrétnej aplikácie. Nezabudnite zmeniť dc=nieco,dc=sk v nasledujúcich príkladoch, na zodpovedajúce vašej konfigurácii LDAP. |
---|---|
Najskôr je potrebné načítať niektoré prídavné schémy. Do príkazového riadka zadáme:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
Teraz niekde v systéme vytvoríme súbor s názvom pozadie.nieco.sk.ldif
a skopírujeme do neho nasledujúci ukážkový obsah LDIF súboru:
# Načítanie dynamických modulov pozadia
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb
# Nastavenia databázy
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=nieco,dc=sk
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=nieco,dc=sk
olcRootPW: tajne
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword,shadowLastChange by dn=\"cn=admin,dc=nieco,dc=sk\" write by anonymous auth by self write by * none
olcAccess: to dn.base=\"\" by * read
olcAccess: to * by dn=\"cn=admin,dc=nieco,dc=sk\" write by * read
![]() |
Zmeňte olcRootPW: tajne na vami vybrané heslo. |
---|
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f pozadie.nieco.sk.ldif
Teraz môžeme naplniť adresár v popredí. Vytvoríme súbor popredie.nieco.sk.ldif
s nasledujúcim obsahom:
# Vytvorenie najvrchnejšieho objektu v doméne
dn: dc=nieco,dc=sk
objectClass: top
objectClass: dcObject
objectclass: organization
o: Organizácia Nieco
dc: Nieco
description: Ukážka LDAP
# Používateľ Admin.
dn: cn=admin,dc=nieco,dc=sk
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: tajne
dn: ou=ludia,dc=nieco,dc=sk
objectClass: organizationalUnit
ou: ludia
dn: ou=skupiny,dc=nieco,dc=sk
objectClass: organizationalUnit
ou: skupiny
dn: uid=jozef,ou=ludia,dc=nieco,dc=sk
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: jozef
sn: Mrkva
givenName: Jozef
cn: Jozef Mrkva
displayName: Jozef Mrkva
uidNumber: 1000
gidNumber: 10000
userPassword: heslo
gecos: Jozef Mrkva
loginShell: /bin/bash
homeDirectory: /home/jozef
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
mail: jozef.mrkva@nieco.sk
postalCode: 81100
l: Bratislava
o: Nieco
mobile: +421 (0)9xx xx xx xx
homePhone: +421 (0)2 xx xx xx xx
title: Systemový administrátor
postalAddress:
initials: JM
dn: cn=priklad,ou=skupiny,dc=nieco,dc=sk
objectClass: posixGroup
cn: priklad
gidNumber: 10000
V tomto príklade je nastavená štruktúra adresára, používateľ a skupina. V iných príkladoch konfigurácie môžeme naraziť na nastavenie objectClass: top, ktoré býva pridané ku každému záznamu. Toto nastavenie však nemusíme pridávať explicitne, pretože je predvolené.
Pridáme záznamy do LDAP adresára :
sudo ldapadd -x -D cn=admin,dc=nieco,dc=sk -W -f popredie.nieco.sk.ldif
Pomocou nástroja ldapsearch môžeme overiť, či bol obsah správne pridaný. Spustíme vyhľadávanie v LDAP adresári:
ldapsearch -xLLL -b "dc=nieco,dc=sk" uid=jozef sn givenName cn
dn: uid=jozef,ou=ludia,dc=nieco,dc=sk
cn: Jozef Mrkva
sn: Mrkva
givenName: Jozef
Rýchle vysvetlenie:
Strom cn=config sa dá upravovať pomocou nástrojov z balíka ldap-utils. Napríklad takto:
sudo ldapsearch -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
Výpis, ktorý sa nám zobrazil, predstavuje aktuálnu konfiguráciu databázy na pozadí cn=config. Výpis sa môže líšiť.
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: cn=config
dn: cn=module{0},cn=config
dn: cn=schema,cn=config
dn: cn={0}core,cn=schema,cn=config
dn: cn={1}cosine,cn=schema,cn=config
dn: cn={2}nis,cn=schema,cn=config
dn: cn={3}inetorgperson,cn=schema,cn=config
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcDatabase={1}hdb,cn=config
sudo ldapmodify -Y EXTERNAL -H ldapi:///
Po ukončení pridávania nástroj ukončíme stlačením Ctrl+D.
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: olcDatabase={1}hdb,cn=config
add: olcDbIndex
olcDbIndex: entryUUID eq
modifying entry "olcDatabase={1}hdb,cn=config"
uid_index.ldif
:
dn: olcDatabase={1}hdb,cn=config
add: olcDbIndex
olcDbIndex: uid eq,pres,sub
Potom spustíme ldapmodify:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f uid_index.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}hdb,cn=config"
Tento spôsob s nastavením v súbore sa používa najmä pri rozsiahlych zmenách./etc/ldap/schema
obsahuje niektoré schémami v súboroch, ktoré sú už skonvertované do LDIF formátu podobne ako sme to demonštrovali v predchádzajúcej časti. Našťastie sa program slapd dá použiť na zautomatizovanie konverzie. V nasledujúcom príklade pridáme schému dyngoup.schema:
schema_convert.conf
a uložíme do neho nasledujúce riadky:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
mkdir /tmp/ldif_output
slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={5}dyngroup,cn=schema,cn=config" > /tmp/cn=dyngroup.ldif
Ak by sme použili iný názov konfiguračného súboru a priečinka, bolo by potrebné prispôsobiť aj príkaz. Priečinok ldif_output
nemusíme mazať, môžeme ho využiť neskôr, keď budeme pridávať ďalšie schémy.
/tmp/cn\=dyngroup.ldif
, zmeníme nasledujúce atribúty:
dn: cn=dyngroup,cn=schema,cn=config
...
cn: dyngroup
a odstránime nasledujúce riadky z konca súboru:
structuralObjectClass: olcSchemaConfig
entryUUID: 10dae0ea-0760-102d-80d3-f9366b7f7757
creatorsName: cn=config
createTimestamp: 20080826021140Z
entryCSN: 20080826021140.791425Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20080826021140Z
![]() |
Hodnoty atribútov môžu byť iné, preto si pri mazaní dajte pozor, aby ste zmazali všetky uvedené atribúty. |
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/cn\=dyngroup.ldif
Teraz by sme v strome cn=config mali mať záznam dn: cn={4}misc,cn=schema,cn=config.
LDAP sa veľmi rýchlo stane kľúčovou službou v našej sieti. Viaceré systémy budú závislé od LDAP autentifikácie, autorizácie, konfigurácie, atď. Z tohto dôvodu je dobré systém nastaviť tak, aby bol redundantný.
Replikácia sa vykonáva pomocou Syncrepl. Syncrepl umožňuje synchronizáciu adresára buď pomocou modelu výrobca - spotrebiteľ. Výrobca poskytuje zmeny v adresári spotrebiteľovi
My použijeme tzv. Single-Master konfiguráciu. V našom príklade bude jeden OpenLDAP server výrobca a druhý spotrebiteľ.
provider_sync.ldif
:
# Pridá indexy do databázy popredia.
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq
#Načíta moduly syncprov a accesslog.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
-
add: olcModuleLoad
olcModuleLoad: accesslog
# Definície databázy accesslog
dn: olcDatabase={2}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap/accesslog
olcSuffix: cn=accesslog
olcRootDN: cn=admin,dc=nieco,dc=sk
olcDbIndex: default eq
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart
# Accesslog db syncprov.
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
olcSpReloadHint: TRUE
# syncrepl Výrobcu pre primárnu db
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
# Prekryje definície accesslog pre primárnu db
dn: olcOverlay=accesslog,olcDatabase={1}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcAccessLogConfig
olcOverlay: accesslog
olcAccessLogDB: cn=accesslog
olcAccessLogOps: writes
olcAccessLogSuccess: TRUE
# Prehľadá accesslog DB každý deň a odstráni záznamy staršie ako 7 dní
olcAccessLogPurge: 07+00:00 01+00:00
Teraz je potrebné upraviť profil AppArmor pre slapd a zadať do neho umiestnenie databázy
accesslog. Otvoríme súbor /etc/apparmor.d/usr.sbin.slapd
a pridáme:
/var/lib/ldap/accesslog/ r,
/var/lib/ldap/accesslog/** rwk,
Potom vytvoríme priečinok, znova načítame profil apparmor a skopírujeme súbor DB_CONFIG
:
sudo -u openldap mkdir /var/lib/ldap/accesslog
sudo -u openldap cp /var/lib/ldap/DB_CONFIG /var/lib/ldap/accesslog/
sudo /etc/init.d/apparmor reload
![]() |
Pomocou voľby -u openldap za príkazom sudo odstránime potrebu nastavovania práv pre novovytvorený priečinok. |
---|
olcRootDN: cn=admin,dc=nieco,dc=sk
Potom LDIF súbor pridáme pomocou nástroja ldapadd utility:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f provider_sync.ldif
Reštartujeme slapd:
sudo /etc/init.d/slapd restart
Na serveri v úlohe spotrebiteľa nastavíme to isté ako na serveri v úlohe výrobcu s výnimkou konfiguračných krokov pre Syncrepl.
Pridáme dodatočné súbory schém:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
Tiež vytvoríme alebo z výrobcu skopírujeme súbor pozadie.nieco.sk.ldif
# Načítanie dynamických modulov pozadia
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb
# Nastavenia databázy
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=nieco,dc=sk
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=nieco,dc=sk
olcRootPW: tajne
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword,shadowLastChange by dn=\"cn=admin,dc=nieco,dc=sk\" write by anonymous auth by self write by * none
olcAccess: to dn.base=\"\" by * read
olcAccess: to * by dn=\"cn=admin,dc=nieco,dc=sk\" write by * read
a pridáme LDIF zadaním príkazu:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f backend.nieco.sk.ldif
To isté urobíme so súborom popredie.nieco.sk.ldif
zobrazeným vyššie a tiež ho pridáme:
sudo ldapadd -x -D cn=admin,dc=nieco,dc=sk -W -f frontend.nieco.sk.ldif
Oba servery by teraz mali mať rovnakú konfiguráciu až na voľby Syncrepl.
Teraz vytvoríme súbor s názvom consumer_sync.ldif
obsahujúci:
#Načítanie modulu syncprov.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
# Ukazovatele špecifické pre syncrepl
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcSyncRepl
olcSyncRepl: rid=0 provider=ldap://ldap01.example.com bindmethod=simple binddn="cn=admin,dc=nieco,dc=sk"
credentials=tajne searchbase="dc=nieco,dc=sk" logbase="cn=accesslog"
logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on
type=refreshAndPersist retry="60 +" syncdata=accesslog
-
add: olcUpdateRef
olcUpdateRef: ldap://ldap01.nieco.sk
Bude pravdepodobne potrebné zmeniť tieto atribúty:
ldap01.nieco.sk na adresu nášho servera.
binddn
credentials
searchbase
olcUpdateRef:
Pridáme LDIF súbor do konfiguračného stromu:
sudo ldapadd -c -Y EXTERNAL -H ldapi:/// -f consumer_sync.ldif
Databáza popredia by teraz mala byť synchronizovaná medzi oboma servermi. Podľa predchádzajúcich krokov môžeme v prípade potreby pridať aj ďalšie servery.
![]() |
Démon slapd
bude v predvolenom stave odosielať záznamy do súboru 127.0.0.1 ldap01.nieco.sk ldap01 . |
---|---|
Autentifikácia vyžaduje prístup k poľu s heslom, ktoré by nemalo byť prístupné bežným spôsobom. Aby si používatelia po prihlásení mohli zmeniť svoje heslo pomocou passwd alebo iných nástrojov, potrebujú prístup k shadowLastChange.
Ak chceme zobraziť tzv. Access Control List (ACL) - zoznam prístupových práv, použijeme nástroj ldapsearch:
ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W olcDatabase=hdb olcAccess
Enter LDAP Password:
dn: olcDatabase={1}hdb,cn=config
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=nieco
,dc=sk" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=admin,dc=nieco,dc=sk" write by * read
Ak sa prihlasujeme k OpenLDAP serveru, je vhodné to robiť pomocou šifrovaného pripojenia. Toto je možné zabezpečiť pomocou použitia Transport Layer Security (TLS) a/alebo Secure Sockets Layer (SSL).
Prvý krok, ktorý je potrebné vykonať, je získanie alebo vytvorenie certifikátu. Pretože démon slapd je kompilovaný pomocou knižnice gnutls, na vytvorenie certifikátu je potrebné použiť nástroj certtool.
Najskôr nainštalujeme balík gnutls-bin zadaním nasledujúceho príkazu:
sudo apt-get install gnutls-bin
Potom vytvoríme súkromný kľúč pre Certifikačnú autoritu (CA):
sudo sh -c "certtool --generate-privkey > /etc/ssl/private/cakey.pem"
Vytvoríme súbor /etc/ssl/ca.info
s podrobnosťami
pre sebou podpísaný certifikát CA obsahujúci:
cn = Spoločnosť Niečo
ca
cert_signing_key
Teraz vytvoríme sebou podpísaný certifíkát CA:
sudo certtool --generate-self-signed --load-privkey /etc/ssl/private/cakey.pem \
--template /etc/ssl/ca.info --outfile /etc/ssl/certs/cacert.pem
Vytvoríme súkromný kľúč pre server:
sudo sh -c "certtool --generate-privkey > /etc/ssl/private/ldap01_slapd_key.pem"
![]() |
V názve súboru nahraďte ldap01 vami používaným názvom hostiteľskej stanice. Správne pomenovanie certifikátu a kľúča pre stanicu a službu, ktorú používame, je dôležité kvôli poriadku. |
---|---|
Keď chceme podpísať serverový certifikát pomocou CA, vytvoríme súbor /etc/ssl/ldap01.info
obsahujúci:
organization = Spoločnosť Niečo
cn = ldap01.nieco.sk
tls_www_server
encryption_key
signing_key
Vytvoríme serverový certifikát:
sudo certtool --generate-certificate --load-privkey /etc/ssl/private/x01-test_slapd_key.pem \
--load-ca-certificate /etc/ssl/certs/cacert.pem --load-ca-privkey /etc/ssl/private/cakey.pem \
--template /etc/ssl/x01-test.info --outfile /etc/ssl/certs/x01-test_slapd_cert.pem
Keď máme nainštalovaný certifikát, kľúč a certifikát CA, pomocou nástroja ldapmodify pridáme nové voľby konfigurácie:
sudo ldapmodify -Y EXTERNAL -H ldapi:///
Enter LDAP Password:
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pemmodifying entry "cn=config"
![]() |
Zmeňte názvy |
Teraz otvoríme súbor /etc/default/slapd
a odpoznámkujeme voľbu SLAPD_SERVICES:
SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
Teraz povolíme používateľovi menom openldap prístup k certifikátu:
sudo adduser openldap ssl-cert
sudo chgrp ssl-cert /etc/ssl/private/ldap01_slapd_key.pem
sudo chmod g+r /etc/ssl/private/ldap01_slapd_key.pem
![]() |
Ak |
---|---|
Nakoniec reštartujeme slapd:
sudo /etc/init.d/slapd restartOdteraz démon slapd bude akceptovať aj šifrované LDAPS pripojenia a bude môcť použiť STARTTLS počas autentifikácie.
![]() |
Ak nastane problém a server sa nedá naštartovať, skontrolujeme /var/log/syslog. Ak zbadáme chybu podobnú: TLS init def ctx failed: -1, je pravdepodobné, že sme urobili chybu v konfigurácii. Skontrolujeme, či je certifikát podpísaný autoritou aká je nastavená v konfiguračných súboroch, a či má skupina ssl-cert právo na čítanie súkromného kľúča. |
---|---|
Ak sme medzi servermi nastavili Syncrepl, je rozumné zašifrovať replikačnú komunikáciu pomocou Transport Layer Security (TLS). Viac informácii o replíkácii nájdeme v časti “Replikácia LDAP”.
Za predpokladu, že sme sa pomocou predchádzajúcich inštrukcií dostali až sem, vytvorili sme certifikát CA a certifikát pre server v úlohe výrobcu. Pomocou nasledujúcich krokov teraz vytvoríme certifikát a kľuč pre server v úlohe spotrebiteľa.
Vytvoríme nový kľúč pre server v úlohe spotrebiteľa:
mkdir ldap02-ssl
cd ldap02-ssl
certtool --generate-privkey > ldap02_slapd_key.pem
![]() |
Vytvorenie nového priečinka nie je nevyhnutne potrebné, ale pomôže nám to udržať poriadok a budú sa nám ľahšie kopírovať súbory na server v úlohe spotrebiteľa. |
---|---|
Teraz vytvoríme súbor ldap02.info
s informáciami pre server v úlohe spotrebiteľa, pričom zmeníme parametre aby súhlasili s našou lokalitou a serverom:
country = SK
state = Slovakia
locality = Bratislava
organization = Spoločnosť Niečo
cn = ldap02.filialka.sk
tls_www_client
encryption_key
signing_key
Vytvoríme certifikát:
sudo certtool --generate-certificate --load-privkey ldap02_slapd_key.pem \
--load-ca-certificate /etc/ssl/certs/cacert.pem --load-ca-privkey /etc/ssl/private/cakey.pem \
--template ldap02.info --outfile ldap02_slapd_cert.pem
Skopírujeme cacert.pem
do priečinka:
cp /etc/ssl/certs/cacert.pem .
Poslednú vec, ktorú musíme urobiť, je skopírovať priečinok ldap02-ssl
dna server v úlohe spotrebiteľa, potom skopírovať súbory
ldap02_slapd_cert.pem
a cacert.pem
do priečinka /etc/ssl/certs
a súbor ldap02_slapd_key.pem
do priečinka /etc/ssl/private
.
Keď sú súbory na správnom mieste, uprevíme vetvu cn=config zadaním:
sudo ldapmodify -Y EXTERNAL -H ldapi:///
Enter LDAP Password:
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap02_slapd_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap02_slapd_key.pemmodifying entry "cn=config"
Tak, ako pri výrobcovi, teraz môžeme otvoriť súbor /etc/default/slapd
a pridať parameter ldaps:/// do voľby SLAPD_SERVICES.
Teraz, keď je TLS nastavené na každom serveri, ešte raz upravíme vetvu cn=config na spotrebiteľovi zadaním:
sudo ldapmodify -Y EXTERNAL -H ldapi:///
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
dn: olcDatabase={1}hdb,cn=config
replace: olcSyncrepl
olcSyncrepl: {0}rid=0 provider=ldap://ldap01.example.com bindmethod=simple binddn="cn=ad
min,dc=example,dc=com" credentials=secret searchbase="dc=example,dc=com" logbas
e="cn=accesslog" logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" s
chemachecking=on type=refreshAndPersist retry="60 +" syncdata=accesslog starttls=yesmodifying entry "olcDatabase={1}hdb,cn=config"
Ak adresa stanice LDAP servera nesúhlasí s FQDN v certifikáte, mali
by sme otvoriť súbor /etc/ldap/ldap.conf
a pridať
nasledujúce TLS nastavenia:
TLS_CERT /etc/ssl/certs/ldap02_slapd_cert.pem
TLS_KEY /etc/ssl/private/ldap02_slapd_key.pem
TLS_CACERT /etc/ssl/certs/cacert.pem
Nakoniec reštartujeme slapd na každom serveri:
sudo /etc/init.d/slapd restart
Keď máme funkčný LDAP server, balíky auth-client-config a libnss-ldap nám pomôžu prekonať ťažkosti pri nastavovaní Ubuntu klientov tak, aby sa prihlasovali pomocou LDAP. Ak chceme balíky nainštalovať, zadáme:
sudo apt-get install libnss-ldap
Počas inštalácie bude potrebné zadať parametre pripojenia k LDAP serveru.
Ak sa pomýlime pri zadávaní informácií, môžeme dialóg vyvolať znova pomocou príkazu:
sudo dpkg-reconfigure ldap-auth-config
Hodnoty, ktoré zadáme do dialógu, môžeme vidieť v súbore /etc/ldap.conf
. Ak náš server vyžaduje nastavenie, ktoré sa nenachádza v dialógu, môžeme ho v tomto súbore doplniť.
Teraz, keď je libnss-ldap nakonfigurované, zapneme pomocou auth-client-config LDAP profil:
sudo auth-client-config -t nss -p lac_ldap
/etc/nsswitch.conf
.
Použitím nástroja pam-auth-update nastavíme systém tak, aby používal na autentifikáciu LDAP:
sudo pam-auth-update
Z ponuky pam-auth-update vyberieme LDAP a ktorékoľvek ďalšie autentifikačné mechanizmy, ktoré ešte potrebujeme.
Teraz by sme mali byť schopný prihlásiť používateľa, ktorý je uložený v LDAP adresáre.
![]() |
Ak sa chystáte použiť LDAP na uloženie používateľov systému Samba, bude potrebné nastaviť server tak, aby na autentifikáciu využíval LDAP. Viac informácii sa dozviete v časti “Samba a LDAP”. |
---|---|
Balík ldap-utils obsahuje viacero nástrojov na správu adresára, ale pri potrebe nastavenia dlhších reťazcov môže byť ich použitie ťažkopádne. Balík ldapscripts obsahuje konfiguračné skripty na správu LDAP používateľov a skupín.
Ak tento balíček chceme nainštalovať, zadáme:
sudo apt-get install ldapscripts
Potom otvoríme konfiguračný súbor /etc/ldapscripts/ldapscripts.conf
a odkomentujeme a zmeníme nasledujúce riadky tak, aby zodpovedali nášmu prostrediu:
SERVER=localhost
BINDDN='cn=admin,dc=nieco,dc=sk'
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
SUFFIX='dc=nieco,dc=sk'
GSUFFIX='ou=Skupiny'
USUFFIX='ou=Ludia'
MSUFFIX='ou=Pocitace'
GIDSTART=10000
UIDSTART=10000
MIDSTART=10000
Teraz vytvoríme súbor ldapscripts.passwd
, aby sme umožnili autentifikovaný prístup k adresáru:
sudo sh -c "echo -n 'tajne' > /etc/ldapscripts/ldapscripts.passwd"
sudo chmod 400 /etc/ldapscripts/ldapscripts.passwd
![]() |
Slovo “tajne” nahraďte aktuálnym heslom LDAP administrátora. |
---|---|
Odteraz sú skripty ldapscripts pripravené pomôcť nám pri správe adresára. Nasledujúce príklady hovoria o tom, ako sa skripty používajú:
sudo ldapadduser juro pokus
Tento príkaz vytvorí používateľa s uid juro a nastaví jeho hlavnú skupinu (gid) na pokus
sudo ldapsetpasswd juro
Changing password for user uid=juro,ou=Ludia,dc=nieco,dc=sk
New Password:
New Password (verify):
sudo ldapdeleteuser juro
sudo ldapaddgroup qa
sudo ldapdeletegroup qa
sudo ldapaddusertogroup juro qa
Teraz sa môžeme presvedčiť, že atribút memberUid skupiny qa bude obsahovať hodnotu juro.
sudo ldapdeleteuserfromgroup juro qa
Z atribútu memberUid skupiny qa by mal byť juro teraz odstránený.
Atribút gecos by mal mať teraz hodnotu “Juraj Jánošík”.sudo ldapmodifyuser juro
# About to modify the following entry :
dn: uid=juro,ou=Ludia,dc=nieco,dc=sk
objectClass: account
objectClass: posixAccount
cn: juro
uid: juro
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/juro
loginShell: /bin/bash
gecos: juro
description: User account
userPassword:: e1NTSEF9eXFsTFcyWlhwWkF1eGUybVdFWHZKRzJVMjFTSG9vcHk=
# Enter your modifications here, end with CTRL-D.
dn: uid=juro,ou=Ludia,dc=nieco,dc=sk
replace: gecos
gecos: Juraj Jánošík
/etc/ldapscripts/ldapscripts.conf a pridáme riadok
:
UTEMPLATE="/etc/ldapscripts/ldapadduser.template"
Vzorové šablóny sa nachádzajú v priečinku /etc/ldapscripts
. Skopírujeme súbor ldapadduser.template.sample
do
/etc/ldapscripts/ldapadduser.template
:
sudo cp /etc/ldapscripts/ldapadduser.template.sample /etc/ldapscripts/ldapadduser.template
Otvoríme novú šablónu a upravíme príslušné atribúty. Nasledujúca
šablóna slúži na vytváranie nových používateľov s prednastaveným
atribútom objectClass na hodnotu inetOrgPerson:
dn: uid=<user>,<usuffix>,<suffix>
objectClass: inetOrgPerson
objectClass: posixAccount
cn: <user>
sn: <ask>
uid: <user>
uidNumber: <uid>
gidNumber: <gid>
homeDirectory: <home>
loginShell: <shell>
gecos: <user>
description: User account
title: Employee
Všimnime si použitie <otázky> pre cn hodnoty. Použitím <otázky> prinútime nástroj ldapadduser aby sa opýtal na hodnotu atribútu pri vytváraní používateľa.
Existuje viac užitočných skriptov. Ak chceme zobraziť ich zoznam, zadáme príkaz: dpkg -L ldapscripts | grep bin
LDAP je skratka pre Lightweight Directory Access Protocol (protokol odľahčeného prístupu k adresárom), ktorý je zjednodušenou verziou protokolu X.500. Nastavenie adresárov v tejto časti použijeme na autentifikáciu. LDAP sa však dá použiť aj na rôzne ďalšie účely, ako napríklad zdielaný adresár (pre mailových klientov), adresár kontaktov, atď.
Ak by sme chceli zjednodušene povedať, čo je LDAP, povedali by sme, že sú to informácie usporiadané do stromovej štruktúry (označuje sa cn=nazov_stromu). V OpenLDAP môžeme slobodne určiť rozvetvenie adresárov (tzv. DIT - Directory Information Tree). My začneme vytvorením dvoch organizačných jednotiek (označuje sa ou=nazov_jednotky) na najvyššej úrovni:
Pred tým, ako začneme, mali by sme zistiť, ako sa volá uzol najvyššej úrovne LDAP adresára. Za normálnych okolností je meno stromu určené tzv. Fully Qualified Domain Name (FQDN) - úplným menom domény (označuje sa dc=nazov_domeny). Ak je vaša doména nieco.sk (ktorú budeme v tomto príklade používať), názov hlavného uzla bude dc=nieco,dc=sk.
Najskôr nainštalujeme démon OpenLDAP servera slapd a balík ldap-utils, ktorý obsahuje nástroje pre správu LDAP:
sudo apt-get install slapd ldap-utils
Pri inštalácii bude potrebné zadať heslo správcu pre LDAP adresár a potvrdiť ho.
Za normálnych okolností bude prípona mena adresára zhodná s nastaveným menom domény servera. Napríklad, ak je úplné doménové meno (FQDN) počítača ldap.nieco.sk, prípona bude dc=nieco,dc=sk. Ak by sme chceli inú príponu, môžeme ju zmeniť prostredníctvom dpkg-reconfigure. Stačí zadať nasledujúci príkaz do príkazového riadka:
sudo dpkg-reconfigure slapd
Zobrazí sa nám dialóg, ktorý nám umožní zmeniť rôzne možnosti slapd.
OpenLDAP používa samostatnú databázu, ktorá obsahuje stromovú štruktúru cn=config adresárov (DIT). Databáza cn=config DIT sa používa na dynamické konfigurovanie démona slapd a umožňuje bez nutnosti zastavenia služby upravovať schémy definícii, indexov, prístupových práv atď.
Strom cn=config sa dá upravovať pomocou nástrojov z balíka ldap-utils. Napríklad takto:
ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W olcDatabase={1}hdb
Enter LDAP Password:
dn: olcDatabase={1}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=nieco,dc=sk
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=nieco
,dc=sk" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=admin,dc=nieco,dc=sk" write by * read
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcDbConfig: {0}set_cachesize 0 2097152 0
olcDbConfig: {1}set_lk_max_objects 1500
olcDbConfig: {2}set_lk_max_locks 1500
olcDbConfig: {3}set_lk_max_lockers 1500
olcDbIndex: objectClass eq
Výpis, ktorý sa nám zobrazil, predstavuje aktuálnu konfiguráciu v databáze hdb, ktorá v našom prípade obsahuje príponu dc=nieco,dc=sk.
ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W olcDatabase={1}hdb olcDbIndex
Enter LDAP Password:
dn: olcDatabase={1}hdb,cn=config
olcDbIndex: objectClass eq
ldapmodify -x -D cn=admin,cn=config -W
Enter LDAP Password:
dn: olcDatabase={1}hdb,cn=config
add: olcDbIndex
olcDbIndex: entryUUID eq
modifying entry "olcDatabase={1}hdb,cn=config"
Po ukončení pridávania nástroj ukončíme stlačením Ctrl+D.
uid_index.ldif
:
dn: olcDatabase={1}hdb,cn=config
add: olcDbIndex
olcDbIndex: uid eq,pres,sub
Potom spustíme ldapmodify:
ldapmodify -x -D cn=admin,cn=config -W -f uid_index.ldif
Enter LDAP Password:
modifying entry "olcDatabase={1}hdb,cn=config"
Tento spôsob s nastavením v súbore sa používa najmä pri rozsiahlych zmenách.
/etc/ldap/schema
obsahuje niektoré schémami v súboroch, ktoré sú už skonvertované do LDIF formátu podobne ako sme to demonštrovali v predchádzajúcej časti. Našťastie sa program slapd dá použiť na zautomatizovanie konverzie. V nasledujúcom príklade pridáme schému dyngoup.schema:schema_convert.conf
a uložíme do neho nasledujúce riadky:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
mkdir /tmp/ldif_output
slaptest -f schema_convert.conf -F /tmp/ldif_output
Ak by sme použili iný názov konfiguračného súboru a priečinka, bolo by potrebné prispôsobiť aj príkaz. Priečinok ldif_output
nemusíme mazať, môžeme ho využiť neskôr, keď budeme pridávať ďalšie schémy.
/tmp/ldif_output/cn=config/cn=schema/cn={8}misc.ldif
, zmeníme nasledujúce atribúty:
dn: cn=misc,cn=schema,cn=config
...
cn: misc
a odstránime nasledujúce riadky z konca súboru:
structuralObjectClass: olcSchemaConfig
entryUUID: 10dae0ea-0760-102d-80d3-f9366b7f7757
creatorsName: cn=config
createTimestamp: 20080826021140Z
entryCSN: 20080826021140.791425Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20080826021140Z
![]() |
Hodnoty atribútov môžu byť iné, preto si pri mazaní dajte pozor, aby ste zmazali všetky uvedené atribúty. |
ldapadd -x -D cn=admin,cn=config -W -f /tmp/ldif_output/cn\=config/cn\=schema/cn\=\{8\}misc.ldif
Teraz by sme v strome cn=config mali mať záznam dn: cn={4}misc,cn=schema,cn=config.
Adresár sme už vytvorili a nakonfigurovali a teraz je čas ho naplniť. Naplníme ho pomocou schémy "classical", ktorá je kompatibilná s adresármi v aplikáciách a s kontami Unix Posix. Kontá Posix umožňujú autentifikáciu do rôznych aplikácií, vrátane webových aplikácií, emailových aplikácií Mail Transfer Agent (MTA), atď.
![]() |
Ak chcete, aby externé aplikácie používali LDAP pri autentifikácii, je potrebné každú z nich nastaviť osobitne. Viac informácii získate v dokumentácii konkrétnej aplikácie. |
---|---|
Adresáre LDAP môžeme naplniť pomocou súborov vo formáte LDIF (LDAP Directory
Interchange Format). Vytvoríme niekde v systéme nový súbor s názvom nieco.sk.ldif
a nakopírujeme do neho nasledujúcu vzorovú konfiguráciu:
dn: ou=ludia,dc=nieco,dc=sk
objectClass: organizationalUnit
ou: ludia
dn: ou=skupiny,dc=nieco,dc=sk
objectClass: organizationalUnit
ou: skupiny
dn: uid=jozef,ou=ludia,dc=nieco,dc=sk
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: jozef
sn: Mrkva
givenName: Jozef
cn: Jozef Mrkva
displayName: Jozef Mrkva
uidNumber: 1000
gidNumber: 10000
userPassword: heslo
gecos: Jozef Mrkva
loginShell: /bin/bash
homeDirectory: /home/jozef
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
mail: jozef.mrkva@nieco.sk
postalCode: 81100
l: Bratislava
o: Firma
mobile: +421 (0)90x xxx xxx
homePhone: +421 (0)2 xxxx xxx
title: Systemový administrátor
postalAddress:
initials: JM
dn: cn=priklad,ou=skupiny,dc=nieco,dc=sk
objectClass: posixGroup
cn: priklad
gidNumber: 10000
V tomto príklade je nastavená štruktúra adresára, používateľ a skupina. V iných príkladoch konfigurácie môžeme naraziť na nastavenie objectClass: top, ktoré býva pridané ku každému záznamu. Toto nastavenie však nemusíme pridávať explicitne, pretože je predvolené.
Ak chceme pridať záznamy do LDAP adresára, použijeme na to nástroj ldapadd:
ldapadd -x -D cn=admin,dc=nieco,dc=sk -W -f nieco.sk.ldif
Ak chceme overiť, či obsah bol správne pridaný, urobíme to jedným z nástrojov balíka ldap-utils. Spustíme vyhľadávanie v LDAP adresáre:
ldapsearch -xLLL -b "dc=nieco,dc=sk" uid=jozef sn givenName cn
dn: uid=jozef,ou=ludia,dc=nieco,dc=sk
cn: Jozef Mrkva
sn: Mrkva
givenName: Jozef
Rýchle vysvetlenie:
LDAP sa veľmi rýchlo stane kľúčovou službou v našej sieti. Viaceré systémy budú závislé od LDAP autentifikácie, autorizácie, konfigurácie, atď. Z tohto dôvodu je dobré systém nastaviť tak, aby bol redundantný.
Replikácia sa vykonáva pomocou Syncrepl. Syncrepl umožňuje synchronizáciu adresára buď pomocou systému push alebo systému pull. Pri použití systému push “primárny” server naraz pošle adresár “sekundárnym” serverom, zatiaľčo systém pull umožňuje replikáciu serverov synchronizovaním v určitých časových intervaloch.
My použijeme tzv. Multi-Master konfiguráciu. V našom príklade budú OpenLDAP servery používať oba spôsoby replikácie push aj pull.
syncrepl_cn-config.ldif
:
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 ldap://ldap01.nieco.sk
olcServerID: 2 ldap://ldap02.nieco.sk
dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001 provider=ldap://ldap01.nieco.sk binddn="cn=admin,cn=config" bindmethod=simple
credentials=tajne searchbase="cn=config" type=refreshAndPersist
retry="5 5 300 5" timeout=1
olcSyncRepl: rid=002 provider=ldap://ldap02.nieco.sk binddn="cn=admin,cn=config" bindmethod=simple
credentials=tajne searchbase="cn=config" type=refreshAndPersist
retry="5 5 300 5" timeout=1
-
add: olcMirrorMode
olcMirrorMode: TRUE
![]() |
Môžete mať viac ako dva LDAP servery. Keď urobíte zmenu na jednom z nich, synchronizáciou sa dostane na ostatné. Na každom ďalšom serveri však musíte pridať záznam s vyššou hodnotou olcServerID, a tiež záznam olcSyncRepl s vyššou hodnotou rid. |
---|
ldapmodify -x -D cn=admin,cn=config -W -f syncrepl_cn-config.ldif
syncrepl_cn-config.ldif
na ďalší LDAP server a zopakujeme vyššie použitý príkaz
ldapmodify.
sudo /etc/init.d/slapd restart
syncrepl_backend.ldif
:
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcRootDN
olcRootDN: cn=admin,dc=nieco,dc=sk
-
add: olcSyncRepl
olcSyncRepl: rid=003 provider=ldap://ldap01.nieco.sk binddn="cn=admin,dc=nieco,dc=sk"
bindmethod=simple credentials=tajne searchbase="dc=nieco,dc=sk" type=refreshOnly
interval=00:00:00:10 retry="5 5 300 5" timeout=1
olcSyncRepl: rid=004 provider=ldap://ldap02.nieco.sk binddn="cn=admin,dc=nieco,dc=sk"
bindmethod=simple credentials=tajne searchbase="dc=nieco,dc=sk" type=refreshOnly
interval=00:00:00:10 retry="5 5 300 5" timeout=1
-
add: olcMirrorMode
olcMirrorMode: TRUE
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
ldapmodify -x -D cn=admin,cn=config -W -f syncrepl_backend.ldif
Vďaka tomu, že konfigurácia databáz je už synchronizovaná, nie je potrebné tento LDIF súbor kopírovať na ostatné servery.
Konfigurácia a rozhrania databáz by teraz mali byť synchronizované s ostatnými servermi. Ďalšie servery môžeme podľa potreby pridať pomocou nástroja ldapmodify. Viac informácií o tejto možnosti nájdeme v časti “Konfigurácia”.
![]() |
Démon slapd zaznamenáva svoje výstupy do súboru
|
---|---|
Autentifikácia vyžaduje prístup k poľu s heslom, ktoré by nemalo byť prístupné bežným spôsobom. Aby si používatelia po prihlásení mohli zmeniť svoje heslo pomocou passwd alebo iných nástrojov, potrebujú prístup k shadowLastChange.
Ak chcete zobraziť tzv. Access Control List (ACL) - zoznam prístupových práv, použite nástroj ldapsearch:
ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W olcDatabase=hdb olcAccess
Enter LDAP Password:
dn: olcDatabase={1}hdb,cn=config
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=nieco
,dc=sk" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=admin,dc=nieco,dc=sk" write by * read
Ak sa prihlasujeme k OpenLDAP serveru, je vhodné to robiť pomocou šifrovaného pripojenia. Toto je možné zabezpečiť pomocou použitia Transport Layer Security (TLS) a/alebo Secure Sockets Layer (SSL).
Prvý krok, ktorý je potrebné vykonať, je vytvorenie certifikátu. Viac informácii o tejto téme nájdeme v časti “Certifikáty” a v časti “Certifikačná autorita”.
Keď máme nainštalovaný certifikát, kľuč a certifikát CA, použijeme nástroj ldapmodify, ktorým pridáme nové nastavenia:
ldapmodify -x -D cn=admin,cn=config -W
Enter LDAP Password:
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/server.crt
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/server.key
modifying entry "cn=config"
![]() |
Upravte názvy |
---|---|
Ako ďalšie otvoríme súbor /etc/default/slapd
a odpoznámkujeme riadok SLAPD_SERVICES:
SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
Teraz povolíme používateľovi menom openldap prístup k certifikátu:
sudo adduser openldap ssl-cert
sudo chgrp ssl-cert /etc/ssl/private/server.key
![]() |
Ak |
---|---|
Nakoniec reštartujeme slapd:
sudo /etc/init.d/slapd restart
Odteraz démon slapd bude akceptovať aj šifrované LDAPS pripojenia a bude môcť použiť STARTTLS počas autentifikácie.
Ak sme medzi servermi nastavili Syncrepl, je rozumné zašifrovať replikačnú komunikáciu pomocou Transport Layer Security (TLS). Viac informácii o replíkácii nájdeme v časti “Replikácia LDAP”.
Po nastavení replikácie pokračujeme inštrukciami v časti “TLS a SSL”. Z oboch častí vyplývajú dôsledky, ktoré by sme mali mať na zreteli:
Na každom replikačnom serveri teda: nainštalujeme certifikát, upravíme súbor /etc/default/slapd
a
reštartujeme slapd.
Keď sme TLS nastavili na každom serveri, zmeníme replikáciu cn=config zadaním nasledujúceho príkazu:
ldapmodify -x -D cn=admin,cn=config -W
Enter LDAP Password:
dn: olcDatabase={0}config,cn=config
replace: olcSyncrepl
olcSyncrepl: {0}rid=001 provider=ldap://ldap01.nieco.sk binddn="cn=admin,cn
=config" bindmethod=simple credentials=tajne searchbase="cn=config" type=refre
shAndPersist retry="5 5 300 5" timeout=1 starttls=yes
olcSyncrepl: {1}rid=002 provider=ldap://ldap02.nieco.sk binddn="cn=admin,cn
=config" bindmethod=simple credentials=tajne searchbase="cn=config" type=refre
shAndPersist retry="5 5 300 5" timeout=1 starttls=yes
modifying entry "olcDatabase={0}config,cn=config"
Teraz upravíme replikáciu rozhrania databázy:
ldapmodify -x -D cn=admin,cn=config -W
Enter LDAP Password:
dn: olcDatabase={1}hdb,cn=config
replace: olcSyncrepl
olcSyncrepl: {0}rid=003 provider=ldap://ldap01.nieco.sk binddn="cn=admin,dc=nieco,dc=
sk" bindmethod=simple credentials=tajne searchbase="dc=nieco,dc=sk" type=r
efreshOnly interval=00:00:00:10 retry="5 5 300 5" timeout=1 starttls=yes
olcSyncrepl: {1}rid=004 provider=ldap://ldap02.nieco.sk binddn="cn=admin,dc=nieco,dc=
sk" bindmethod=simple credentials=tajne searchbase="dc=nieco,dc=sk" type=r
efreshOnly interval=00:00:00:10 retry="5 5 300 5" timeout=1 starttls=yes
modifying entry "olcDatabase={1}hdb,cn=config"
Ak adresa stanice LDAP servera nesúhlasí s FQDN v certifikáte, mali by sme otvoriť súbor /etc/ldap/ldap.conf
a pridať nasledujúce TLS nastavenia:
TLS_CERT /etc/ssl/certs/server.crt
TLS_KEY /etc/ssl/private/server.key
TLS_CACERT /etc/ssl/certs/cacert.pem
Nakoniec reštartujeme slapd na každom serveri:
sudo /etc/init.d/slapd restart
Keď máme funkčný LDAP server, balíky auth-client-config a libnss-ldap nám pomôžu prekonať ťažkosti pri nastavovaní Ubuntu klientov tak, aby sa prihlasovali pomocou LDAP. Ak chceme balíky nainštalovať, zadáme:
sudo apt-get install libnss-ldap
Počas inštalácie bude potrebné zadať parametre pripojenia k LDAP serveru.
Ak sa pomýlime pri zadávaní informácií, môžeme dialóg vyvolať znova pomocou príkazu:
sudo dpkg-reconfigure ldap-auth-config
Hodnoty, ktoré zadáme do dialógu, môžeme vidieť v súbore /etc/ldap.conf
. Ak náš server vyžaduje nastavenie, ktoré sa nenachádza v dialógu, môžeme ho v tomto súbore doplniť.
Teraz, keď je libnss-ldap nakonfigurované, zapneme pomocou auth-client-config LDAP profil:
sudo auth-client-config -t nss -p lac_ldap
/etc/nsswitch.conf
.
Použitím nástroja pam-auth-update nastavíme systém tak, aby používal na autentifikáciu LDAP:
sudo pam-auth-update
Z ponuky pam-auth-update vyberieme LDAP a ktorékoľvek ďalšie autentifikačné mechanizmy, ktoré ešte potrebujeme.
Teraz by sme mali byť schopný prihlásiť používateľa, ktorý je uložený v LDAP adresáre.
![]() |
Ak sa chystáte použiť LDAP na uloženie používateľov systému Samba, bude potrebné nastaviť server tak, aby na autentifikáciu využíval LDAP. Viac informácii sa dozviete v časti “Samba a LDAP”. |
---|---|
Balík ldap-utils obsahuje viacero nástrojov na správu adresára, ale pri potrebe nastavenia dlhších reťazcov môže byť ich použitie ťažkopádne. Balík ldapscripts obsahuje konfiguračné skripty na správu LDAP používateľov a skupín.
Ak tento balíček chceme nainštalovať, zadáme:
sudo apt-get install ldapscripts
Potom otvoríme konfiguračný súbor /etc/ldapscripts/ldapscripts.conf
a odkomentujeme a zmeníme nasledujúce riadky tak, aby zodpovedali nášmu prostrediu:
SERVER=localhost
BINDDN='cn=admin,dc=nieco,dc=sk'
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
SUFFIX='dc=nieco,dc=sk'
GSUFFIX='ou=Skupiny'
USUFFIX='ou=Ludia'
MSUFFIX='ou=Pocitace'
GIDSTART=10000
UIDSTART=10000
MIDSTART=10000
Teraz vytvoríme súbor ldapscripts.passwd
, aby sme umožnili autentifikovaný prístup k adresáru:
sudo sh -c "echo -n 'tajne' > /etc/ldapscripts/ldapscripts.passwd"
sudo chmod 400 /etc/ldapscripts/ldapscripts.passwd
![]() |
Slovo “tajne” nahraďte aktuálnym heslom LDAP administrátora. |
---|---|
Odteraz sú skripty ldapscripts pripravené pomôcť nám pri správe adresára. Nasledujúce príklady hovoria o tom, ako sa skripty používajú:
sudo ldapadduser juro pokus
Tento príkaz vytvorí používateľa s uid juro a nastaví jeho hlavnú skupinu (gid) na pokus
sudo ldapsetpasswd juro
Changing password for user uid=juro,ou=Ludia,dc=nieco,dc=sk
New Password:
New Password (verify):
sudo ldapdeleteuser juro
sudo ldapaddgroup qa
sudo ldapdeletegroup qa
sudo ldapaddusertogroup juro qa
Teraz sa môžeme presvedčiť, že atribút memberUid skupiny qa bude obsahovať hodnotu juro.
sudo ldapdeleteuserfromgroup juro qa
Z atribútu memberUid skupiny qa by mal byť juro teraz odstránený.
Atribút gecos by mal mať teraz hodnotu “Juraj Jánošík”.sudo ldapmodifyuser juro
# About to modify the following entry :
dn: uid=juro,ou=Ludia,dc=nieco,dc=sk
objectClass: account
objectClass: posixAccount
cn: juro
uid: juro
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/juro
loginShell: /bin/bash
gecos: juro
description: User account
userPassword:: e1NTSEF9eXFsTFcyWlhwWkF1eGUybVdFWHZKRzJVMjFTSG9vcHk=
# Enter your modifications here, end with CTRL-D.
dn: uid=juro,ou=Ludia,dc=nieco,dc=sk
replace: gecos
gecos: Juraj Jánošík
/etc/ldapscripts/ldapscripts.conf a pridáme riadok
:
UTEMPLATE="/etc/ldapscripts/ldapadduser.template"
Vzorové šablóny sa nachádzajú v priečinku /etc/ldapscripts
. Skopírujeme súbor ldapadduser.template.sample
do
/etc/ldapscripts/ldapadduser.template
:
sudo cp /etc/ldapscripts/ldapadduser.template.sample /etc/ldapscripts/ldapadduser.template
Otvoríme novú šablónu a upravíme príslušné atribúty. Nasledujúca šablóna slúži na vytváranie nových používateľov s prednastaveným atribútom
objectClass na hodnotu inetOrgPerson:
dn: uid=<user>,<usuffix>,<suffix>
objectClass: inetOrgPerson
objectClass: posixAccount
cn: <user>
sn: <ask>
uid: <user>
uidNumber: <uid>
gidNumber: <gid>
homeDirectory: <home>
loginShell: <shell>
gecos: <user>
description: User account
title: Employee
Všimnime si použitie <otázky> pre cn hodnoty. Použitím <otázky> prinútime nástroj ldapadduser aby sa opýtal na hodnotu atribútu pri vytváraní používateľa.
Existuje viac užitočných skriptov. Ak chceme zobraziť ich zoznam, zadáme príkaz: dpkg -L ldapscripts | grep bin
Táto časť hovorí o tom, ako nakonfigurovať systém Samba tak, aby na autentifikáciu používal informácie o kontách používateľov, skupín a počítačov z adresára LDAP. Predpoklad je, že už máme funkčnú inštaláciu adresára OpenLDAP a že server je nastavený tak, aby adresár využíval pri autentifikácii. Viac informácií o nastavovaní OpenLDAP nájdeme v častiach “OpenLDAP Server” a “LDAP autentifikácia”. Viac informácií o inštalácii a konfigurácii servera Samba sa nachádza v kapitole Sieť Windows.
Na prepojenie systému Samba s adresárom LDAP sú potrebné tri balíky: samba, samba-doc a smbldap-tools. Nainštalujeme ich zadaním nasledujúceho príkazu:
sudo apt-get install samba samba-doc smbldap-tools
Presnejšie povedané, balík smbldap-tools nepotrebujeme, ale namiesto neho by sme museli použiť iný balík alebo vlastné skripty, aby sme mohli spravovať kontá používateľov, skupín a počítačov.
Aby Samba mohla použiť OpenLDAP ako pozadie pre autentifikáciu, k používateľským objektom v adresári je potrebné pridať ďalšie atribúty. V tejto časti predpokladáme, že chceme systém Samba nastaviť ako tzv. radič domény Windows NT a že chceme podľa toho pridať príslušné objekty a atribúty do adresára LDAP.
samba.schema
, ktorá je súčasťou balíka
samba-doc. Súbor schémy je potrebné rozzipovať a skopírovať do priečinka
/etc/ldap/schema
. Do príkazového riadka teda zadajme:
sudo cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/
sudo gzip -d /etc/ldap/schema/samba.schema.gz
schema_convert.conf
alebo iným viacvravnejším názvom a vložíme do neho tieto riadky:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/samba.schema
slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={12}samba,cn=schema,cn=config" > /tmp/cn=samba.ldif
Ak by sme použili iné meno súboru a cestu k priečinku, je potrebné ich zmeniť aj v predchádzajúcom príkaze.
/tmp/cn=samba.ldif
, zmeníme nasledujúce atribúty:
dn: cn=samba,cn=schema,cn=config
...
cn: samba
a odstránime nasledujúce riadky z konca súboru:
structuralObjectClass: olcSchemaConfig
entryUUID: b53b75ca-083f-102d-9fff-2f64fd123c95
creatorsName: cn=config
createTimestamp: 20080827045234Z
entryCSN: 20080827045234.341425Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20080827045234Z
![]() |
Hodnoty atribútov sa môžu líšiť, preto si pri mazaní dajte pozor, aby ste zmazali všetky uvedené atribúty. |
---|---|
ldapadd -x -D cn=admin,cn=config -W -f /tmp/cn=samba.ldif
Teraz by sme mali mať vo vetve cn=config záznam dn: cn={X}misc,cn=schema,cn=config, kde "X" poradové číslo sekvenčnej schémy.
samba_indexes.ldif
:
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: uid eq,pres,sub
olcDbIndex: memberUid eq,pres,sub
olcDbIndex: uniqueMember eq,pres
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub
Pomocou nástroja ldapmodify načítame nové indexy:
ldapmodify -x -D cn=admin,cn=config -W -f samba_indexes.ldif
Ak všetko prebehne dobre, môžeme si nové indexy prezrieť pomocou ldapsearch:
ldapsearch -xLLL -D cn=admin,cn=config -x -b cn=config -W olcDatabase={1}hdb
sudo gzip -d /usr/share/doc/smbldap-tools/configure.pl.gz
sudo perl /usr/share/doc/smbldap-tools/configure.pl
Keď odpovieme na všetky otázky, zapíšu sa do súborov /etc/smbldap-tools/smbldap.conf
a /etc/smbldap-tools/smbldap_bind.conf
. Tieto súbory sú generované konfiguračnými skriptami, takže ak sa pomýlime, niekedy je jednoduchšie opraviť nastavenie v súboroch, ako spúšťať skript odznova.
sudo slapcat -l backup.ldif
sudo smbldap-populate
![]() |
LDIF súbor obsahujúci nové objekty systému Samba môžete vytvoriť spustením príkazu sudo smbldap-populate -e samba.ldif. V tomto súbore sa môžete pozrieť na vykonané zmeny a uistiť sa, či je všetko správne. |
---|---|
Náš LDAP adresár teraz obsahuje všetky potrebné informácie na to, aby mohol autentifikovať používateľov systému Samba.
Existuje viacero spôsobov, akými sa dá nakonfigurovať Samba. Viac informácii o najčastejších spôsoboch sa dozvieme v časti Sieť Windows. Ak chceme nastaviť systém Samba tak, aby používal LDAP, otvoríme hlavný konfiguračný súbor systému Samba /etc/samba/smb.conf
zakomentujeme možnosť passdb backend a pridáme nasledujúce riadky:
# passdb backend = tdbsam
# LDAP Settings
passdb backend = ldapsam:ldap://hostname
ldap suffix = dc=nieco,dc=sk
ldap user suffix = ou=Ludia
ldap group suffix = ou=Skupiny
ldap machine suffix = ou=Pocitace
ldap idmap suffix = ou=Idmap
ldap admin dn = cn=admin,dc=nieco,dc=sk
ldap ssl = start tls
ldap passwd sync = yes
...
add machine script = sudo /usr/sbin/smbldap-useradd -t 0 -w "%u"
Aby sa nové nastavenia prejavili, reštartujeme službu samba:
sudo /etc/init.d/samba restart
Teraz Samba potrebuje vedieť, aké je heslo administrátora LDAP. Do príkazového riadka zadáme:
sudo smbpasswd -w tajne
![]() |
Slovo tajne nahraďte heslom LDAP administrátora. |
---|---|
Ak už v adresári LDAP máme vložených používateľov a chceme, aby sa vedeli autentifikovať v systéme Samba, je potrebné vyplniť niekoľko Samba atribútov, ktoré sú zadefinované v súbore samba.schema
. Samba atribúty k existujúcim používateľom pridáme pomocou nástroja smbpasswd, tak že použijeme používateľské meno aktuálneho používateľa:
sudo smbpasswd -a
menopouzivatela
Po spustení nástroja bude potrebné zadať heslo používateľa.
Ak chceme pridať nové kontá používateľov, skupín a počítačov. použijeme nástroje balíčka smbldap-tools. Tu je niekoľko príkladov:
sudo smbldap-useradd -a -P menopouzivatela
Prepínač -a pridá Samba atribúty a prepínač -P spustí nástroj
smbldap-passwd po tom, ako je používateľ vytvorený a umožní nám zadať heslo pre používateľa.
sudo smbldap-userdel menopouzivatela
Nástroj smbldap-userdel má aj prepínač -r. ktorý súčasne odstráni aj domovský priečinok používateľa.
sudo smbldap-groupadd -a menoskupiny
Podobne aj pri smbldap-useradd prepínač -a pridá Samba atribúty.
sudo smbldap-groupmod -m menopouzivatela menoskupiny
Nesmieme zabudnúť menopouzivatela nahradiť menom skutočného používateľa. Prepínač -m umožňuje pridať viacero používateľov oddelených čiarkami naraz.
sudo smbldap-groupmod -x menopouzivatela menoskupiny
sudo smbldap-useradd -t 0 -w menopocitaca
V príkaze nahradíme menopocitaca skutočným menom pracovnej stanice. Prepínač -t 0 vytvorí konto počítača bez zdržania, zatiaľčo prepínač -w hovorí o tom, že sa jedná o účet počítača. Tiež si môžeme všimnúť, že sa v súbore /etc/samba/smb.conf
zmenilo nastavenie
add machine script tak, aby sa použil nástroj
smbldap-useradd.
V balíku smbldap-tools sú aj ďalšie užitočné nástroje. Viac sa o nich dozvieme na man stránkach.
Kerberos je sieťový autentifikačný systém založený na princípe dôveryhodnej tretej strany. Na zvyšných dvoch stranách sa nachádza používateľ a služba, kvôli ktorej sa chce používateľ autentifikovať. Nie všetky služby a aplikácie môžu použiť Kerberos, ale pre tie, ktoré môžu, Kerberos ponúkne sieťové rozhranie, ktoré je o jeden krok bližšie k tzv. Single Sign On (SSO) - jeden podpis na všetko.
Táto časť hovorí o inštalácii a konfigurácii Kerberos servera a uvádza i niekoľko príkladov konfigurácie klienta.
Ak ešte Kerberos nepoznáme, bude dobré sa najskôr oboznámiť s niektorými dôležitými pojmami skôr, ako začneme nastavovať server Kerberos. Väčšina pojmov je odvodená od vecí, ktoré sú podobné v iných rozhraniach:
Aby sme jednotlivé pojmy dali do súvisu, vedzme, že pôsobisko - Realm má najmenej jedno distribučné centrum kľúčov KDC (odporúčajú sa však dve kvôli redundacii), ktoré obsahuje a databázu splnomocniteľov - Principal. Keď sa používateľ - splnomocniteľ prihlasuje k pracovnej stanici, ktorá je nakonfigurovaná na autentifikáciu pomocou systému Kerberos, KDC vydá vstupenku poskytujúcu vstupenku (TGT), ktorá obsahuje zašifrované heslo. Ak sa heslo zhoduje s tým, ktoré zadal používateľ, používateľ je autentifikovaný a môže dostať vstupenky od servera poskytujúceho vstupenky (TGS). Vstupenky tejto služby umožnia používateľovi autentifikovať sa do ostatných služieb bez ďalšieho zadávania používateľského mena a hesla.
Pred tým, ako sa pustíme do inštalácie servera Kerberos, je potrebné mať pre našu doménu správne nakonfigurovaný DNS server. Pretože pôsobisko systému Kerberos by sa podľa zvyklostí malo zhodovať s menom domény, budeme používať doménu nieco.sk, ktorej konfigurácia je popísaná v časti “Primárny hlavný menný server”.
Kerberos je protokol citlivý na čas. Preto, ak je časový rozdiel medzi lokálnym systémom a počítačom klienta väčší ako päť minút (predvolená hodnota), pracovná stanica sa nebude môcť autentifikovať. Aby sme tomuto problému zabránili, je potrebné zosynchronizovať čas použitím protokolu Network Time Protocol (NTP). Viac informácii o NTP sa nachádza v časti “Synchronizácia času pomocou NTP”.
Prvým krokom pri inštalácii Pôsobiska systému Kerberos je nainštalovanie balíkov krb5-kdc a krb5-admin-server. V príkazovom riadku zadáme:
sudo apt-get install krb5-kdc krb5-admin-server
Na konci inštalácie bude potrebné zadať názov servera Kerberos a názov Admin servera, ktoré môžu, ale nemusia byť pre pôsobisko zhodné.
Ako ďalšie vytvoríme nové pôsobisko pomocou nástroja kdb5_newrealm:
sudo krb5_newrealm
Parametre, ktoré sme zadali pri inštalácii, sa uložili do konfiguračného súboru /etc/krb5.conf
. Ak budeme chcieť zmeniť nastavenia Distribučného centra kľúčov (KDC), jednoducho zmeníme nastavenia v súbore a reštartujeme démon krb5-kdc.
V predchádzajúcom príklade je ako Splnomocniteľ - Principal nastavený stefan, /admin je Rozhranie - Instance a @NIECO.SK predstavuje pôsobisko. "Každodenný" splnomocniteľ bude stefan@NIECO.SK a mal by mať iba normálne používateľské práva.sudo kadmin.local
Authenticating as principal root/admin@NIECO.SK with password.
kadmin.local:
addprinc stefan/admin
WARNING: no policy specified for stefan/admin@NIECO.SK; defaulting to no policy
Enter password for principal "stefan/admin@NIECO.SK":
Re-enter password for principal "stefan/admin@NIECO.SK":
Principal "stefan/admin@NIECO.SK" created.
kadmin.local:
quit
![]() |
Nahraďte NIECO.SK a stefan, pôsobiskom a menom používateľa, ktoré chcete použiť. |
---|---|
/etc/krb5kdc/kadm5.acl
:
stefan/admin@NIECO.SK *
Tento záznam poskytne používateľovi stefan/admin schopnosť vykonávať ľubovoľnú operácie so všetkými splnomocniteľmi v pôsobisku.
sudo /etc/init.d/krb5-admin-server restart
Po zadaní hesla, použijeme nástroj klist, ktorý zobrazí informácie o TGT:kinit stefan/admin
stefan/admin@NIECO.SK's Password:
Pre KDC je potrebné pridať záznam aj do súboruklist
Credentials cache: FILE:/tmp/krb5cc_1000
Principal: stefan/admin@NIECO.SK
Issued Expires Principal
Jul 13 17:53:34 Jul 14 03:53:34 krbtgt/NIECO.SK@NIECO.SK
/etc/hosts
. Napríklad:
192.168.0.1 kdc01.nieco.sk kdc01
Adresu 192.168.0.1 nahradíme IP adresou nášho KDC.
/etc/named/db.nieco.sk
:
_kerberos._udp.NIECO.SK. IN SRV 1 0 88 kdc01.nieco.sk.
_kerberos._tcp.NIECO.SK. IN SRV 1 0 88 kdc01.nieco.sk.
_kerberos._udp.NIECO.SK. IN SRV 10 0 88 kdc02.nieco.sk.
_kerberos._tcp.NIECO.SK. IN SRV 10 0 88 kdc02.nieco.sk.
_kerberos-adm._tcp.NIECO.SK. IN SRV 1 0 749 kdc01.nieco.sk.
_kpasswd._udp.NIECO.SK. IN SRV 1 0 464 kdc01.nieco.sk.
![]() |
Nahraďte NIECO.SK, kdc01 a kdc02 názvom domény a názvami primárneho a sekundárneho KDC. |
---|---|
Nové pôsobisko systému Kerberos je teraz pripravené na autetifikovanie klientov.
Ak už máme funkčné jedno Distribučné centrum kľúčov (KDC), je dobrým zvykom vytvoriť aj sekundárne KDC pre prípad, že primárne sa stane nedostupným.
sudo apt-get install krb5-kdc krb5-admin-server
kadmin -q "addprinc -randkey host/kdc02.nieco.sk"
![]() |
Vždy po zadaní príkazu kadmin bude potrebné zadať heslo pre pouzivatel/admin@NIECO.SK. |
---|---|
kadmin -q "ktadd -k keytab.kdc02 host/kdc02.nieco.sk"
keytab.kdc02
. Presunieme ho do priečinka /etc/krb5.keytab
:
sudo mv keytab.kdc02 /etc/krb5.keytab
![]() |
Ak ste použili inú cestu k súboru |
---|---|
sudo klist -k /etc/krb5.keytab
kpropd.acl
, ktorý bude obsahovať zoznam všetkých KDC v pôsobisku. Na oboch serveroch - primárnom aj sekundárnom, vytvoríme súbor /etc/krb5kdc/kpropd.acl
s takýmto obsahom:
host/kdc01.nieco.sk@NIECO.SK
host/kdc02.nieco.sk@NIECO.SK
sudo kdb5_util -s create
sudo kpropd -S
sudo kdb5_util dump /var/lib/krb5kdc/dump
/etc/krb5.keytab
:
kadmin -q "ktadd -k keytab.kdc01 host/kdc01.nieco.sk"
sudo mv keytab.kdc01 /etc/kr5b.keytab
![]() |
Pred extrahovaním tabuľky kľúčov sa uistite, či existuje host pre kdc01.nieco.sk. |
---|---|
sudo kprop -r NIECO.SK -f /var/lib/krb5kdc/dump kdc02.nieco.sk
![]() |
Ak operácia prebehne správne, program vypíše SUCCEEDED. Ak nastane chyba, viac informácii sa dozviete v súbore |
---|---|
# m h dom mon dow command
0 * * * * /usr/sbin/kdb5_util dump /var/lib/krb5kdc/dump && /usr/sbin/kprop -r NIECO.SK -f /var/lib/krb5kdc/dump kdc02.nieco.sk
sudo kdb5_util stash
sudo /etc/init.d/krb5-kdc start
Sekundárne KDC by teraz malo byť schopné vydávať vstupenky pre pôsobisko. Môžeme to otestovať stopnutím démona krb5-kdc na primárnom KDC a následným požiadaním o vstupenku pomocou nástroja kinit. Ak sme všetko urobili správne, mala by nám byť vstupenka poskytnutá zo sekundárneho KDC.
V tejto časti si povieme, ako nastaviť operačný systém Linux tak, aby bol klientom systému Kerberos. To umožní používateľovi, ktorý sa úspešne do systému prihlási, prístup ku všetkým kerberizovaným službám bez toho, aby musel zakaždým zadať heslo.
Aby bolo možné prihlásiť sa do pôsobiska systému Kerberos, sú potrebné balíky krb5-user a libpam-krb5 spolu s ďalšími, ktoré síce nie sú nutné, ale uľahčia nám prácu. Ak chceme tieto balíky nainštalovať, do príkazového riadka zadáme:
sudo apt-get install krb5-user libpam-krb5 libpam-ccreds auth-client-config
Balík auth-client-config umožňuje jednoduchú konfiguráciu PAM pre autentifikáciu z viacerých zdrojov a libpam-ccreds dočasne uchováva údaje o prihlásení, ktoré nám umožnia prihlásiť sa, aj keď je distribučné centrum kľúčov (KDC) nedostupné. Tento balík je tiež užitočný pre notebooky, ktoré sa musia vedieť prihlásiť do firemnej siete pomocou systému Kerberos, ale musia používateľovi umožniť prístup aj vtedy, ak nie sú pripojené do siete.
Ak chceme nastaviť klienta, zadáme:
sudo dpkg-reconfigure krb5-config
Pri konfigurácii bude potrebné zadať meno pôsobiska systému Kerberos a ak nemáte nastavené v DNS Kerberos SRV záznamy, bude potrebné zadať i adresu distribučného centra kľúčov (KDC) a adresu Admin servera pôsobiska.
Nástroj dpkg-reconfigure tieto zadané údaje o pôsobisku uloží do súboru /etc/krb5.conf
.
Záznamy v súbore budú vyzerať asi takto:
[libdefaults]
default_realm = NIECO.SK
...
[realms]
NIECO.SK = }
kdc = 192.168.0.1
admin_server = 192.168.0.1
}
Nastavenie môžeme otestovať požiadaním o vstupenku pomocou nástroja kinit. Napríklad takto:
kinit stefan@NIECO.SK
Password for stefan@NIECO.SK:
Ak nám bude vstupenka poskytnutá, detail môžeme zobraziť pomocou klist:
klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: stefan@NIECO.SK
Valid starting Expires Service principal
07/24/08 05:18:56 07/24/08 15:18:56 krbtgt/NIECO.SK@NIECO.SK
renew until 07/25/08 05:18:57
Kerberos 4 ticket cache: /tmp/tkt1000
klist: You have no tickets cached
Potom použijeme nástroj auth-client-config, ktorým nastavíme modul libpam-krb5, aby žiadal o vstupenku pri prihlasovaní:
sudo auth-client-config -a -p kerberos_example
Teraz by sme po úspešnom prihlásení mali obdržať vstupenku.
Replikovanie databázy splnomocniteľov systému Kerberos medzi dvoma servermi môže byť komplikované a navyše to pridáva do systému ďalšiu databázu používateľov. Našťastie sa dá systém Kerberos nakonfigurovať tak, aby použil pre uloženie databázy splnomocniteľov adresár LDAP. V tejto časti si ukážeme, ako nastaviť primárny a sekundárny server Kerberosu tak, aby používali OpenLDAP pre uloženie databázy splnomocniteľov.
Ako prvé je potrebné nahrať príslušnú schému do OpenLDAP servera, ktorá bude zabezpečovať sieťové pripojenie k primárnemu a sekundárnemu KDC. Vo zvyšku tejto časti predpokladáme, že už máme nastavenú replikáciu LDAP adresára aspoň medzi dvoma servermi. Viac informácií o nastavení OpenLDAP sa nachádza v časti "OpenLDAP Server".
Je tiež potrebné nastaviť OpenLDAP server tak, aby prijímal TLS a SSL pripojenia, aby komunikácia medzi KDC a LDAP serverom bola šifrovaná. Viac informácií je v časti “TLS a SSL”.
Schému do LDAP nahráme tak, že na LDAP serveri nainštalujeme balík krb5-kdc-ldap. Do príkazového riadka zadáme:
sudo apt-get install krb5-kdc-ldap
Potom rozbalíme súbor kerberos.schema.gz
:
sudo gzip -d /usr/share/doc/krb5-kdc-ldap/kerberos.schema.gz
sudo cp /usr/share/doc/krb5-kdc-ldap/kerberos.schema /etc/ldap/schema/
Schému kerberos je potrebné pridať do stromu cn=config. Postup ako pridávať schému do slapd je vysvetlený v časti “Konfigurácia”.
Najskôr vytvoríme konfiguračný súbor, ktorý pomenujeme schema_convert.conf
, alebo podobným viacvravnejším názvom a prekopírujeme do neho tieto riadky:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/misc.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/kerberos.schema
Vytvoríme dočasný priečinok, do ktorého sa uložia LDIF súbory:
mkdir /tmp/ldif_output
Teraz použijeme nástroj slapcat na skonvertovanie súborov schém:
slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={12}kerberos,cn=schema,cn=config\" > /tmp/cn=kerberos.ldif
Keby sme použili iné meno konfiguračného súboru, je potrebné ho zmeniť aj v predchádzajúcom príkaze.
Otvoríme vygenerovaný súbor /tmp/cn\=
kerberos.ldif
a zmeníme nasledujúce atribúty:
dn: cn=kerberos,cn=schema,cn=config
...
cn: kerberos
a odstránime nasledujúce riadky z konca súboru:
structuralObjectClass: olcSchemaConfig
entryUUID: 18ccd010-746b-102d-9fbe-3760cca765dc
creatorsName: cn=config
createTimestamp: 20090111203515Z
entryCSN: 20090111203515.326445Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20090111203515Z
![]() |
Hodnoty atribútov sa môžu líšiť, preto si pri mazaní dajte pozor, aby ste zmazali všetky uvedené atribúty. |
---|---|
Načítame novú schému pomocou ldapadd:
ldapadd -x -D cn=admin,cn=config -W -f /tmp/cn\\=kerberos.ldif
Pridáme index pre atribút krb5principalname:
ldapmodify -x -D cn=admin,cn=config -W
Enter LDAP Password:
dn: olcDatabase={1}hdb,cn=config
add: olcDbIndex
olcDbIndex: krbPrincipalName eq,pres,sub
modifying entry "olcDatabase={1}hdb,cn=config"
Nakoniec aktualizujeme zoznamy prístupových práv (ACL):
ldapmodify -x -D cn=admin,cn=config -W
Enter LDAP Password:
dn: olcDatabase={1}hdb,cn=config
replace: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange,krbPrincipalKey by dn="cn=admin,dc=exampl
e,dc=com" write by anonymous auth by self write by * none
-
add: olcAccess
olcAccess: to dn.base="" by * read
-
add: olcAccess
olcAccess: to * by dn="cn=admin,dc=example,dc=com" write by * read
modifying entry "olcDatabase={1}hdb,cn=config"
Teraz by LDAP adresár mal byť schopný spracovať zoznam splnomocniteľov systému Kerberos.
Ak už máme nakonfigurovaný OpenLDAP, môžme sa pustiť do konfigurácie KDC.
Najskôr nainštalujeme potrebné balíky:
sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldap
Potom otvoríme súbor /etc/krb5.conf
a pridáme nasledujúce nastavenia do príslušnej časti súboru:
[libdefaults]
default_realm = NIECO.SK
...
[realms]
NIECO.SK = {
kdc = kdc01.nieco.sk
kdc = kdc02.nieco.sk
admin_server = kdc01.neico.sk
admin_server = kdc02.nieco.sk
default_domain = nieco.sk
database_module = openldap_ldapconf
}
...
[domain_realm]
.nieco.sk = NIECO.SK
...
[dbdefaults]
ldap_kerberos_container_dn = dc=nieco,dc=sk
[dbmodules]
openldap_ldapconf = {
db_library = kldap
ldap_kdc_dn = "cn=admin,dc=nieco,dc=sk"
# this object needs to have read rights on
# the realm container, principal container and realm sub-trees
ldap_kadmind_dn = "cn=admin,dc=nieco,dc=sk"
# this object needs to have read and write rights on
# the realm container, principal container and realm sub-trees
ldap_service_password_file = /etc/krb5kdc/service.keyfile
ldap_servers = ldaps://ldap01.nieco.sk ldaps://ldap02.nieco.sk
ldap_conns_per_server = 5
}
![]() |
Hodnoty nieco.sk, dc=nieco,dc=sk, cn=admin,dc=nieco,dc=sk a ldap01.nieco.sk zmeňte za hodnoty zodpovedajúce doméne, LDAP objektom a LDAP serveru, ktoré používate v sieti. |
---|---|
Ďalej použijeme nástroj kdb5_ldap_util a vytvoríme pôsobisko:
sudo kdb5_ldap_util -D cn=admin,dc=nieco,dc=sk create -subtrees dc=nieco,dc=sk -r NIECO.SK -s -H ldap://ldap01.nieco.sk
Vytvoríme obtlačok hesla, ktorý bude potrebný na prístup k LDAP serveru. Toto heslo použijeme pre nastavenie ldap_kdc_dn a
ldap_kadmin_dn v súbore /etc/krb5.conf
:
sudo kdb5_ldap_util -D cn=admin,dc=nieco,dc=sk stashsrvpw -f /etc/krb5kdc/service.keyfile cn=admin,dc=nieco,dc=sk
Nakopírujeme certifikáty CA z LDAP serveru:
scp ldap01:/etc/ssl/certs/cacert.pem .
sudo cp cacert.pem /etc/ssl/certs
a
nastavíme ich použitie v súbore /etc/ldap/ldap.conf
:
TLS_CACERT /etc/ssl/certs/cacert.pem
![]() |
Aby bolo možné pripojiť sa k LDAP serverom pomocou LDAPS, je potrebné certifikáty prekopírovať aj na sekundárne KDC. |
---|---|
Teraz je možné pridať splnomocniteľov systému Kerberos do LDAP databázy a tá sa automaticky replikuje na ostatné LDAP servery. Splnomocniteľov môžeme pridať pomocou nástroja kadmin.local zadaním:
sudo kadmin.local
Authenticating as principal root/admin@NIECO.SK with password.
kadmin.local: addprinc -x dn="uid=stefan,ou=ludia,dc=nieco,dc=sk" stefan
WARNING: no policy specified for stefan@NIECO.SK; defaulting to no policy
Enter password for principal "stefan@NIECO.SK":
Re-enter password for principal "stefan@NIECO.SK":
Principal "stefan@NIECO.SK" created.
Teraz by sme mali mať v objekte používateľa uid=stefan,ou=ludia,dc=nieco,dc=sk pridané atribúty krbPrincipalName, krbPrincipalKey, krbLastPwdChange a krbExtraData. Na otestovanie toho, či bude používateľovi pridelaná vstupenka použijeme nástroje kinit a klist.
![]() |
Ak objekt používateľa už existuje, je potrebné k atribútom systému Kerberos pridať ešte -x dn="...". Inak sa vytvorí nový objekt splnomocniteľa v strome pôsobiska. |
---|---|
Konfigurácia sekundárneho KDC s použitím LDAP je podobná konfigurácii s normálnou Kerberos databázou.
Najskôr nainštalujeme potrebné balíky. V príkazovom riadku zadáme:
sudo apt-get install krb5-kdc krb5-admin-server krb5-kdc-ldap
Potom otvoríme súbor /etc/krb5.conf
a nastavíme použitie LDAP databázy:
[libdefaults]
default_realm = NIECO.SK
...
[realms]
NIECO.SK = {
kdc = kdc01.nieco.sk
kdc = kdc02.nieco.sk
admin_server = kdc01.nieco.sk
admin_server = kdc02.nieco.sk
default_domain = nieco.sk
database_module = openldap_ldapconf
}
...
[domain_realm]
.nieco.sk = NIECO.SK
...
[dbdefaults]
ldap_kerberos_container_dn = dc=nieco,dc=sk
[dbmodules]
openldap_ldapconf = {
db_library = kldap
ldap_kdc_dn = "cn=admin,dc=nieco,dc=sk"
# this object needs to have read rights on
# the realm container, principal container and realm sub-trees
ldap_kadmind_dn = "cn=admin,dc=nieco,dc=sk"
# this object needs to have read and write rights on
# the realm container, principal container and realm sub-trees
ldap_service_password_file = /etc/krb5kdc/service.keyfile
ldap_servers = ldaps://ldap01.nieco.sk ldaps://ldap02.nieco.sk
ldap_conns_per_server = 5
}
Vytvoríme obtlačok LDAP hesla:
sudo kdb5_ldap_util -D cn=admin,dc=nieco,dc=sk stashsrvpw -f /etc/krb5kdc/service.keyfile cn=admin,dc=nieco,dc=sk
Teraz na primárnom KDC skopírujeme Master kľúč /etc/krb5kdc/.k5.NIECO.SK
na sekundárny KDC. Súbor je kvôli bezpečnosti potrebné kopírovať cez zašifrované spojenie akým je napríklad scp alebo prostredníctvom fyzického média.
sudo scp /etc/krb5kdc/.k5.NIECO.SK stefan@kdc02.nieco.sk:~ sudo mv .k5.NIECO.SL /etc/krb5kdc/
![]() |
Rovnako nahraďte NIECO.SK pôsobiskom, ktoré používate. |
---|---|
Nakoniec spustíme démon krb5-kdc:
sudo /etc/init.d/krb5-kdc start
Teraz by sme mali mať v našej sieti redundantdé distribučné centrá kľúčov KDC a vďaka redundantným LDAP serverom by sa mali používatelia vedieť prihlásiť aj po výpadku jedného LDAP servera a jedného Kerberos servera.
Niektoré ďalšie podrebnejšie informácie sa nachádzajú na stránke Kerberos Admin Guide.
Viac informácií o kdb5_ldap_util je na stránkach Section 5.6 a kdb5_ldap_util man page.
Ostatné užitočné zdroje nájdete na stránke krb5.conf man page.
Informácie sa dajú nájsť aj na wiki stránke Ubuntu Kerberos and LDAP.
Služba prekladu doménových mien (DNS - Domain Name Service) je internetová služba, ktorá ku sebe navzájom priraďuje IP adresy a úplne kvalifikované doménové mená (FQDN - fully qualified domain names). V tomto smere nám DNS uľahčuje to, aby sme si nemuseli pamätať číselné IP adresy. Počítače, na ktorých je spustená služba DNS sa nazývajú menné servery. Systém Ubuntu je vybavený programom BIND (Berkley Internet Naming Daemon), ktorý je najčastejšie používaný na poskytovanie tejto služby v systémoch Linux.
Ak chceme nainštalovať dns zadáme do príkazového riadka nasledujúci príkaz:
sudo apt-get install bind9
Veľmi užitočný balík na testovanie a riešenie problémov s DNS je balík dnsutils. Ak chceme nainštalovať balík dnsutils zadáme toto:
sudo apt-get install dnsutils
Je mnoho spôsobov, akými sa dá nakonfigurovať BIND9. Najčastejšie sa jedná o konfiguráciu v podobe menného servera s dočasným úložiskom mien (caching nameserver), primárneho hlavného menného servera (primary master) a sekundárneho hlavného menného servera (secondary master).
V prípade servera s dočasným úložiskom mien BIND9 nájde odpoveď na požiadavku a zapamätá si ju a poskytuje ju pri ďalších požiadavkách.
Ako primárny hlavný menný server BIND9 číta zo súboru dáta o staniciach zóny a je autoritatívnym serverom pre celú zónu.
Sekundárny hlavný menný server BIND9 získava dáta o zóne z iného autoritatívneho menného servera zóny.
Konfiguračné súbory DNS sú uložené v priečinku
/etc/bind
. Hlavný konfiguračný súbor je
/etc/bind/named.conf
.
Riadok
include hovorí o súbore, ktorý obsahuje nastavenia DNS. Riadok
directory v súbore /etc/bind/named.conf.options
hovorí o priečinku, v ktorom bude DNS hľadať súbory. Všetky súbory, ktoré BIND používa, sú zapísané pomocou relatívnej cesty ku tomuto priečinku.
V súbore /etc/bind/db.root
sú zapísané hlavné koreňové menné servery z celého sveta. Zoznam serverov sa mení, preto je potrebné súbor
/etc/bind/db.root
občas aktualizovať. To sa zvyčajne udeje pri aktualizácii balíka bind9. Riadky zone definujú hlavný server, ktorého nastavenia sú uložené v súbore definovanom riadkom file.
Je možné konfigurovať server aj tak, aby bol súčasne menným serverom s dočasným úložiskom mien, primárnym hlavným serverom a sekundárnym hlavným serverom. Server môže poskytovať štartovaciu autoritu - Start of Authority (SOA) pre jednu zónu a zároveň poskytovať sekundárnu službu inej zóne. Súčasne môže všetkým staniciam v lokálnej sieti LAN poskytovať službu dočasného úložiska mien.
Predvolená konfigurácia je nastavená na server s dočasným úložiskom. Všetko čo potrebujeme urobiť, je pridanie IP adries DNS serverov, ktoré získame od poskytovateľa internetového pripojenia. V súbore /etc/bind/named.conf.options
odpoznámkujeme a zmeníme nasledujúce nastavenie:
forwarders {
1.2.3.4;
5.6.7.8;
};
![]() |
Adresy 1.2.3.4 a 5.6.7.8 nahraďte IP adresami menných serverov od poskytovateľa internetového spojenia. |
---|---|
Teraz reštartujeme DNS server, aby sa zmeny uplatnili. Do príkazového riadka zadáme:
sudo /etc/init.d/bind9 restart
Informácie o tom, ako nastavenie otestujeme, sa nachádzajú v časti “dig” .
V tejto časti BIND9 nastavíme ako primárny hlavný server pre doménu nieco.sk. Jednoducho nahradíme nieco.sk naším FQDN (úplným kvalifikovaným menom domény).
Ak chceme v BIND9 vytvoriť DNS zónu a premeniť ho na primárny hlavný menný server, najskôr upravíme súbor
/etc/bind/named.conf.local
:
zone "nieco.sk" {
type master;
file "/etc/bind/db.nieco.sk";
};
Teraz použijeme vzorový zónový súbor ako šablónu na vytvorenie nášho súboru /etc/bind/db.nieco.sk
:
sudo cp /etc/bind/db.local /etc/bind/db.nieco.sk
Otvoríme nový zónový súbor /etc/bind/db.nieco.sk
, zmeníme localhost. na FQDN nášho servera spolu s bodkou "." na konci. Zmeníme 127.0.0.1 na IP adresu menného servera a root.localhost na platnú emailovú adresu, ale miesto znaku zavináč "@" použijeme bodku "." a bodku "." necháme aj na konci adresy.
Vytvoríme tiež A záznam pre ns.nieco.sk. - adresu menného servera:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.nieco.sk. spravca.nieco.sk. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.nieco.sk.
@ IN A 127.0.0.1
@ IN AAAA ::1
ns IN A 192.168.1.10
Číslo označené poznámkou Serial je potrebné zvýšiť po každej úprave zónového súboru. Ak urobíme viacero zmien pred tým, ako reštartujeme BIND9, stačí číslo Serial zvýšiť len raz.
Teraz stačí pridať DNS záznamy na koniec zónového súboru. Viac informácii o pridávaní záznamov sa nachádza v časti “Najčastejšie typy záznamov”.
![]() |
Mnoho administrátorov používa v čísle Serial dátum zmeny súboru, napríklad 0107200700 čo predstavuje ddmmyyyyss (kde ss je poradové číslo zmeny v danom dni) |
---|---|
Po vykonaní zmien v zónovom súbore, je potrebné BIND9 reštartovať, aby sa zmeny prejavili:
sudo /etc/init.d/bind9 restart
Teraz keď sme nastavili preklad mien na IP Adresy, je potrebné zadefinovať aj reverznú zónu. Reverzná zóna umožňuje systému DNS prekladať adresy na mená.
Otvoríme súbor /etc/bind/named.conf.local a pridáme nasledujúce nastavenia:
zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
};
![]() |
Čísla 1.168.192 prvými troma oktetmi adresy siete, ktorú používate.
Tiež podľa toho upravte aj meno zónového súboru |
---|---|
Teraz vytvoríme súbor /etc/bind/db.192
podľa vzorového súboru:
sudo cp /etc/bind/db.127 /etc/bind/db.192
Teraz súbor /etc/bind/db.192
otvoríme a zmeníme tie isté nastavenia ako v súbore /etc/bind/db.nieco.sk
:
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.nieco.sk. spravca.nieco.sk. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
10 IN PTR ns.nieco.sk.
Číslo Serial v reverznej zóne je potrebné tiež zvýšiť pri každej zmene. Pre každý A záznam, ktorý sme vytvorili /etc/bind/db.nieco.sk
je potrebné vytvoriť PTR záznam v /etc/bind/db.192
.
Po dokončení úpravy reverzného zónového súboru reštartujeme BIND9:
sudo /etc/init.d/bind9 restart
Ak sme už nakonfigurovali primárny hlavný server, môžeme nakonfigurovať aj sekundárny hlavný server, ktorý zaistí dostupnosť menného servera v prípade, že sa primárny server stane nedostupným.
Najskôr na primárnom serveri povolíme prenos zóny. Pridáme nastavenie allow-transfer do definície priamej aj reverznej zóny v súbore /etc/bind/named.conf.local
:
zone "nieco.sk" {
type master;
file "/etc/bind/db.nieco.sk";
allow-transfer { 192.168.1.11; };
};
zone "1.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192";
allow-transfer { 192.168.1.11; };
};
![]() |
Adresu 192.168.1.11 nahraďte IP Adresou sekundárneho menného servera. |
---|---|
Potom na sekundárnom servery nainštalujeme balík bind9 rovnaký spôsobom ako na primárnom serveri. Otvoríme súbor /etc/bind/named.conf.local
a pridáme nasledujúce deklarácie priamej a reverznej zóny:
zone "nieco.sk" {
type slave;
file "/var/cache/bind/db.nieco.sk";
masters { 192.168.1.10; };
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "/var/cache/bind/db.192";
masters { 192.168.1.10; };
};
![]() |
Adresu 192.168.1.10 nahraďte IP adresou primárneho menného servera. |
---|---|
Reštartujeme BIND9 na sekundárnom serveri:
sudo /etc/init.d/bind9 restart
V súbore /var/log/syslog
by sme mali vidieť niečo podobné tomuto:
slave zone "nieco.sk" (IN) loaded (serial 6)
slave zone "100.18.172.in-addr.arpa" (IN) loaded (serial 3)
![]() |
Poznámka: Zóna sa prenesie iba vtedy, ak číslo Serial na primárnom serveri je väčšie ako na sekundárnom. |
---|---|
![]() |
Predvolený priečinok pre súbory neautoritatívnej zóny je |
---|---|
Táto časť hovorí o spôsoboch, akými môžeme zistiť príčiny vzniknutých problémov s DNS a BIND9.
Ak chceme začať testovať BIND9, je potrebné pridať servery do zoznamu menných serverov. Pre istotu primárny menný server nakonfigurujeme rovnako ako ostatné stanice. Otvoríme súbor /etc/resolv.conf
a pridáme nasledujúce riadky:
nameserver 192.168.1.10
nameserver 192.168.1.11
![]() |
Môžete tiež pridať IP adresu sekundárneho servera pre prípad, že primárny nebude fungovať. |
---|---|
Ak máme nainštalovaný balík dnsutils, môžeme otestovať nastavenie dns pomocou nástroja dig:
Po nainštalovaní BIND9 použijeme dig ako rozhranie so spätnou väzbou, aby sme sa uistili, či server načúva na porte 53. V príkazovom riadku zadáme:
dig -x 127.0.0.1
Mali by sme uvidieť riadky podobné týmto:
;; Query time: 1 msec
;; SERVER: 192.168.1.10#53(192.168.1.10)
Ak máme BIND9 nastavený ako menný server s dočasnou pamäťou, môžeme príkaz "dig" použiť na otestovanie rýchlosti odpovede na požiadavku:
dig ubuntu.com
Všimneme si čas požiadavky na konci výstupu:
;; Query time: 49 msec
Po opätovnom zadaní tej istej požiadavky by sme mali dostať oveľa kratší čas:
;; Query time: 1 msec
Teraz si ukážeme, ako môžeme otestovať DNS, či správne prekladá mená staníc. Použijeme na to nástroj ping, ktorý odošle ICMP echo požiadavku. Do príkazového riadka zadáme:
ping nieco.sk
V prípade, že menný server bude vedieť preložiť adresu ns.nieco.sk na IP adresu, mal by výstup vyzerať takto:
PING ns.nieco.sk (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=64 time=0.800 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=64 time=0.813 ms
Výborný spôsob, akým sa dajú otestovať zónové súbory, je použitie nástroja named-checkzone, ktorý sa nainštaloval pri inštalácii balíka bind9. Tento nástroj umožňuje zistiť, či je konfigurácia pred reštartovaním BIND9 správna a umožňuje robiť zmeny za behu.
Ak chceme otestovať náš priamy zónový súbor, zadáme toto:
named-checkzone nieco.sk /etc/bind/db.nieco.sk
Ak je všetko nastavené správne, mal by výstup vyzerať takto:
zone nieco.sk/IN: loaded serial 6
OK
Podobne môžeme otestovať aj reverzný zónový súbor:
named-checkzone nieco.sk /etc/bind/db.192
Výstup by mal vyzerať takto:
zone nieco.sk/IN: loaded serial 3
OK
![]() |
Čísla Serial sa budú vo Vašom prípade pravdepodobne odlišovať. |
---|---|
BIND9 má veľa rôznych nastavení týkajúcich sa zaznamenávania. Hlavné nastavenia sú dve. Nastavenie channel (kanál) hovorí o tom, kam pôjdu záznamy a nastavenie category (kategória) určuje, aké informácie budú zaznamenávané.
Ak nie sú nakonfigurované žiadne nastavenia, použije sa predvolené nastavenie:
logging {
category default { default_syslog; default_debug; };
category unmatched { null; };
};
Táto časť hovorí o tom, ako nakonfigurovať BIND9 tak, aby odosielal debug (ladiace) správy súvisiace s DNS požiadavkami do samostatného súboru.
Najskôr nastavíme kanál tak, aby systém vedel kam má správy odosielať. Otvoríme súbor /etc/bind/named.conf.local
a pridáme nasledujúce riadky:
logging {
channel query.log {
file "/var/log/query.log";
severity debug 3;
};
};
Potom nastavím kategóriu, aby systém odosielal všetky DNS požiadavky do súboru query.log:
logging {
channel query.log {
file "/var/log/query.log";
severity debug 3;
};
category queries { query.log; };
};
![]() |
Poznámka: nastavenie debug môžete meniť v rozsahu 1 až 3. Ak ho nezadáte, použije sa úroveň 1. |
---|---|
Pretože démon named je spustený pod používateľom bind po vytvorení súboru /var/log/query.log
musíme zmeniť jeho vlastníctvo:
sudo touch /var/log/query.log
sudo chown bind /var/log/query.log
Pred tým, ako bude môcť démon named zapisovať do nového log súboru, musíme aktualizovať profil AppArmor. Najskôr otvoríme súbor /etc/apparmor.d/usr.sbin.named
a pridáme:
/var/log/query.log w,
Potom nanovo načítame profil:
cat /etc/apparmor.d/usr.sbin.named | sudo apparmor_parser -r
Viac informácii o AppArmor sa dozviete v časti “AppArmor”
Teraz reštartujeme BIND9 aby sa zmeny prejavili:
sudo /etc/init.d/bind9 restart
Teraz by sme mali vidieť v súbore /var/log/query.log
informácie o požiadavkách. Toto je len veľmi jednoduchá ukážka toho, ako sa konfigurujú nastavenia zaznamenávania systému
BIND9. Podrobnejšie informácie sa dozviete v časti “Viac informacií”.
Táto časť obsahuje niektoré z najbežnejších typov DNS záznamov.
A záznam: Tento záznam priraďuje IP adresu k názvu stanice.
www IN A 192.168.1.12
CNAME záznam: Používa sa na vytvorenie aliasu k existujúcemu A záznamu. CNAME záznam sa ale nedá vytvoriť tak, aby odkazoval na iný CNAME záznam.
web IN CNAME www
MX záznam: Definuje miesto, kam majú byť posielané emaily. Musí odkazovať na záznam typu A, nie na CNAME.
IN MX mail.nieco.sk.
mail IN A 192.168.1.13
NS záznam: Používa sa na definovanie serverov, ktoré riadia kópie zóny. Musí odkazovať na A záznam, nie na CNAME. Sú to miesta, na ktorých je definovaný primárny a sekundárny server.
IN NS ns.nieco.sk.
IN NS ns2.nieco.sk.
ns IN A 192.168.1.10
ns2 IN A 192.168.1.11
Na stránke DNS HOWTO sa nachádzajú podrobnejšie informácie o konfigurácii BIND9.
Podrobné informácie o DNS a BIND9 sa nachádzajú na stránke Bind9.net.
Kniha DNS and BIND je veľmi obľúbená, teraz bolo vydané jej piate vydanie.
Skvelým miestom, kde môžete prediskutovať problémy s BIND9 s komunitou Ubuntu Servera, je IRC kanál #ubuntu-server na freenode.
Za pozretie stojí aj Ubuntu wiki stránka BIND9 Server HOWTO.
Z českých kníh je to napríklad Velký průvodce protokoly TCP/IP a systémem DNS od autorov Alena Kabelová, Libor Dostálek
Pri inštalácii, nasadení a používaní akéhokoľvek druhu počítačového systému, je vždy potrebné myslieť na bezpečnosť. Hoci nová inštalácia Ubuntu je relatívne bezpečná na okamžité použitie v sieti Internet, je dôležité vedieť, ako v Ubuntu jednotlivé bezpečnostné systémy fungujú, aby sme ich mohli prispôsobiť na konkrétne nasadenie.
Táto kapitola poskytuje prehľad tém súvisiacich s bezpečnosťou, ktoré sa týkajú Ubuntu 9.04 Server Edition a hovorí o jednoduchých opatreniach, ktoré môžeme použiť na ochranu nášho servera a siete pred ľubovoľným počtom potenciálnych bezpečnostných hrozieb.
Správa používateľov je najdôležitejšou časťou pri udržiavaní bezpečného systému. Nesprávne nastavenie používateľov a ich privilégií často v mnohých systémoch vedie k ich napadnutiu. Preto je dôležité, aby sme pochopili, ako môžeme chrániť náš server pomocou jednoduchých a efektívnych techník správy používateľských účtov.
Vývojári Ubuntu sa rozhodli kvôli bezpečnosti zakázať účet root (používateľ s najvyššími právami) v predvolenom nastavení pre všetky inštalácie Ubuntu. To neznamená, že účet root bol zrušený alebo že sa do neho nedá prihlásiť. Iba mu bolo pridelené heslo, ktoré nie je možné porovnať so zašifrovanou hodnotu, a preto sa k tomuto účtu nedá prihlásiť priamo.
Miesto priameho prihlásenia k účtu root používatelia môžu na vykonávanie administrátorských činností použiť nástroj sudo. Sudo umožňuje autorizovaným používateľom na istý čas získať práva root po zadaní svojho vlastného hesla miesto toho, aby museli zadať heslo prislúchajúce k účtu root. Táto jednoduchá, ale účinná metóda umožňuje zistiť pôvodcu každej vykonanej akcie a poskytuje administrátorovi podrobnejšie určiť, ktoré akcie môže používateľ s takýmito oprávneniami vykonať.
Ak kvôli nejakým dôvodom potrebujete povoliť účet používateľa root, stačí mu prideliť heslo:
sudo passwd
Sudo nás vyzve, aby sme zadali naše heslo a potom budeme môcť nastaviť nové heslo pre používateľa root tak, ako v nasledujúcom príklade:
[sudo] password for username: (zadáme naše vlastné heslo)
Enter new UNIX password: (zadáme nové heslo pre používateľa root)
Retype new UNIX password: (znova zadáme heslo pre používateľa root)
passwd: password updated successfully
Ak chceme účet používateľa root zablokovať, použijeme nasledujúci príkaz:
sudo passwd -l root
Viac o nástroji sudo sa môžeme dozvedieť na man stránkach:
man sudo
Prvý používateľ vytvorený inštalátorom Ubuntu je členom skupiny "admin", ktorá je v súbore /etc/sudoers
zadefinovaná ako oprávnený používateľ príkazu sudo. Ak chceme niektorému ďalšiemu používateľovi povoliť prístup k oprávneniam používateľa root prostredníctvom príkazu sudo, jednoducho ho pridáme do skupiny admin.
Proces správy lokálnych používateľov a skupín je jednoduchý, ale trochu sa odlišuje od ostatných operačných systémov GNU/Linux. Ubuntu a ostatné distribúcie založené na systéme Debian uprednostňujú na správu účtov balík "adduser".
Ak chceme pridať používateľský účet, použijeme nasledujúci príkaz a budeme odpovedať na otázky o názve účtu, hesle a ďalších identifikačných parametroch, akými sú napríklad celé meno, číslo telefónu, atď.
sudo adduser meno_pouzivatela
Ak chceme odstrániť používateľský účet a jeho primárnu skupinu, použijeme nasledujúci príkaz:
sudo deluser meno_pouzivatela
Odstránenie účtu nie je podmienené odstránením domovského priečinka. Je na nás, či priečinok zmažeme ručne alebo si ho ponecháme pre opätovné použitie.
Každý používateľ, ktorý bude mať rovnaké číslo UID alebo GID ako predchádzajúci majiteľ, bude mať do tohto priečinka prístup, ak tomu nezabránime.
AK budeme chcieť zmeniť hodnoty UID/GID na nejaké presnejšie, napríklad na rovnaké ako má root, a presunúť priečinok inam, aby v budúcnosti nenastali konflikty, zadáme tieto príkazy:
sudo chown -R root:root /home/meno_pouzivatela/
sudo mkdir /home/archivovani_pouzivatelia/
sudo mv /home/meno_pouzivatela /home/archivovani_pouzivatelia/
Ak chceme dočasne uzamknúť alebo odomknúť používateľský účet, použijeme tieto príkazy:
sudo passwd -l meno_pouzivatela
sudo passwd -u meno_pouzivatela
Ak chceme pridať alebo vytvoriť skupinu, použijeme nasledujúce príkazy:
sudo addgroup meno_skupiny
sudo delgroup meno_skupiny
Ak chceme pridať používateľa do skupiny, použijeme nasledujúci príkaz:
sudo adduser meno_pouzivatela meno_skupiny
Pri vytváraní nového používateľského účtu nástroj adduser vytvorí nový domovský priečinok /home/meno_pouzivatela
. Profil sa vymodeluje podľa obsahu priečinka /etc/skel
, ktorý obsahuje všetky základné komponenty profilu.
Ak náš server bude domovom pre viacero používateľov, mali by sme venovať zvýšenú pozornosť nastaveniu oprávnení k používateľským priečinkom. V predvolenom stave sú domovské priečinky v Ubuntu vytvorené s všeobecnými právami pre čítanie/spúšťanie. To znamená, že všetci používatelia môžu prezerať a pristupovať k obsahu domovských priečinkov ostatných používateľov. To pre naše prostredie nemusí byť vhodné.
Ak chceme overiť, aké sú k priečinku pridelené oprávnenia, použijeme nasledujúci príkaz:
ls -ld /home/meno_pouzivatela
Nasledujúci výstup nás informuje, že priečinok /home/username
je prístupný na čítanie všetkým:
drwxr-xr-x 2 meno_pouzivatela meno_pouzivatela 4096 2007-10-02 20:03 meno_pouzivatela
Práva čítania priečinka pre všetkých môžeme zrušiť nasledujúcim príkazovom:
sudo chmod 0750 /home/meno_pouzivatela
![]() |
Niektorí ľudia majú tendenciu bez uváženia používať rekurzívny prepínač (-R), ktorý zmení práva aj všetkým podriadeným priečinkom a súborom. Toto však nie je nevyhnutné a môže to viesť k nežiaducim problémom. Zmena oprávnení k rodičovskému priečinku zabráni neautorizovanému prístupu aj ku všetkému čo je v ňom. |
---|---|
Oveľa efektívnejším spôsobom je, ak globálne zmeníme predvolené oprávnenia k domovským priečinkom pre nástroj adduser. Otvoríme súbor /etc/adduser.conf
a upravíme premennú DIR_MODE
na také práva, aké chceme priradiť všetkým novovytvoreným domovským priečinkom.
DIR_MODE=0750
Po úprave oprávnení priečinka použitím niektorej z uvedených techník opäť overíme oprávnenia k priečinku pomocou príkazu:
ls -ld /home/meno_pouzivatela
Výpis nižšie nám potvrdil, že priečinok už nemajú právo čítať všetci:
drwxr-x--- 2 meno_pouzivatela meno_pouzivatela 4096 2007-10-02 20:03 meno_pouzivatela
Používanie silných hesiel je jedným z najdôležitejších aspektov bezpečnosti. Mnoho napadnutí systému uskutočnených hrubou silou (vyskúšanie všetkých možností) alebo slovníkovým útokom bolo úspešných kvôli slabým heslám. Ak sa rozhodneme používať niektorú formu vzdialeného prístupu, ktorá vyžaduje lokálne heslá, je potrebné adekvátne nastaviť dolnú hranicu zložitosti hesla, maximálnu dĺžku platnosti hesla a časté auditovanie nášho autentifikačného systému.
V predvolenom stave je minimálna dĺžka hesla, ktorú Ubuntu vyžaduje, 4 znaky, a tiež je nastavené základné overenie náhodnosti. Táto hodnota sa nastavuje v súbore /etc/pam.d/common-password
, spôsobom uvedeným nižšie.
password required pam_unix.so nullok obscure min=4 max=8 md5
Ak by sme chceli zvýšiť minimálnu dĺžku hesla na 6 znakov, zmeníme hodnotu príslušnej premennej na min=6.
password required pam_unix.so nullok obscure min=6 max=8 md5
![]() |
Premenná |
---|---|
Pri vytváraní používateľských účtov by sme mali nastaviť minimálnu a maximálnu životnosť hesla a to, aby bol po jej uplynutí používateľ prinútený zadať nové heslo.
Ak chceme zobraziť stav účtu používateľa, použijeme nasledujúci príkaz:
sudo chage -l meno_pouzivatela
Výstup nižšie zobrazuje zaujímavé fakty o používateľskom účte, konkrétne to, že nie je aplikovaná žiadna politika:
Last password change : Jan 20, 2008
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Ak chceme nastaviť niektorú z týchto hodnôt, použijeme nasledujúci príkaz a budeme sa riadiť interaktívnymi otázkami:
sudo chage meno_pouzivatela
V nasledujúcom príklade ručne nastavíme dátum vypršania platnosti hesla (-E) na 31.1.2008, minimálnu dobu platnosti hesla (-m) na 5 dní, maximálnu dobu platnosti hesla (-M) na 90 dní, dĺžku neaktívnosti, po ktorej heslo nebude platné (-I) na 5 dní a čas varovania pred skončením platnosti hesla (-W) na 14 dní.
sudo chage -E 01/31/2008 -m 5 -M 90 -I 30 -W 14 meno_pouzivatela
Ak chceme zmeny overiť, použijeme znova príkaz:
sudo chage -l meno_pouzivatela
Výstup nižšie zobrazuje novú politiku, ktorá je odteraz platná pre daný účet:
Last password change : Jan 20, 2008
Password expires : Apr 19, 2008
Password inactive : May 19, 2008
Account expires : Jan 31, 2008
Minimum number of days between password change : 5
Maximum number of days between password change : 90
Number of days of warning before password expires : 14
Mnoho aplikácií používa alternatívne autentifikačné mechanizmy, ktoré môžu byť ľahko prehliadnuté dokonca aj skúsenými správcami systémov. Preto je dôležité pochopiť a riadiť spôsob, akým sa budú používatelia autentifikovať k jednotlivým službám a aplikáciám na serveri.
Jednoduché zablokovanie/uzamknutie používateľského účtu nezabráni pred vzdialeným pripojením používateľov k serveru, ak mali pred tým nastavenú autentifikáciu pomocou verejného RSA kľúča. Budú sa môcť stále pripojiť a budú mať k dispozícii príkazový riadok bez potreby zadávania akéhokoľvek hesla. Nesmieme preto zabudnúť skontrolovať domovský priečinok používateľa, či neobsahuje súbor, ktorý umožňuje tento typ autentifikovaného prístupu napr. /home/meno_pouzivatela/.ssh/authorized_keys
.
Odstránime alebo premenujeme priečinok .ssh/
v domovskom priečinku používateľa, čím predídeme ďalšiemu využitiu možnosti SSH autentifikácie.
Uistíme sa, či so zablokovaným používateľom nie sú nadviazané SSH spojenia. Je možné, že bude mať nadviazané prichádzajúce alebo odchádzajúce pripojenia. Zrušíme všetky, ktoré nájdeme.
SSH prístup povolíme iba používateľom, ktorí by ho mali mať. Napríklad môžeme vytvoriť skupinu s názvom
"sshlogin" a pridať názov skupiny do premennej AllowGroups
v súbore /etc/ssh/sshd_config
.
AllowGroups sshlogin
Potom používateľov, ktorí majú mať prístup k SSH, pridáme do skupiny "sshlogin" a reštartujeme službu SSH.
sudo adduser meno_pouzivatela sshlogin
sudo /etc/init.d/ssh restart
Väčšina vyspelejších sietí používa centralizovanú autentifikáciu a riadenie prístupu ku všetkým systémovým zdrojom. Ak ste nakonfigurovali server tak, aby autentifikoval používateľov pomocou externej databázy, uistíme sa, či sme účet zablokovali lokálne aj externe, a tým zaistíme, že nebude možné ani núdzové lokálne prihlásenie.
Tak ako pri iných bezpečnostných barierach, ktorými chránime náš server, zistíme, že ochrániť server pred niekym, kto má fyzický prístup k serveru, ako napríklad zlodejmi, narušiteľmi napájania alebo prevádzky atď, nie je vôbec jednoduché. Preto by zabezpečenie konzoly malo byť tiež jednou zložkou celkovej bezpečnostnej stratégie. Uzamknutie "obrazovkových dverí" môže odradiť páchateľa od príležitostnej kriminality alebo ho aspoň spomaliť. Odporúčame preto vykonať základné bezpečnostné opatrenia zamerané na zabezpečenie konzoly.
Nasledujúce inštrukcie nám pomôžu zabezpečiť server pred problémami, ktoré by inak mohli mať veľmi vážne následky.
Najprv je potrebné používateľom, ktorí majú fyzický prístup ku klávesnici terminálu, zablokovať trojkombináciu Ctrl+Alt+Delete, pomocou ktorej sa dá server reštartovať bez prihlásenia. Aj keď niekto môže jednoducho vytiahnuť napájací kábel, pri produkčných serveroch je dobré túto trojkombináciu zakázať. Prinúti to útočníka použiť komplikovanejší spôsob reštartu servera a zabráni to nechcenému náhodnému reštartu.
Ak chceme zablokovať reštart servera po stlačení trojkombinácie Ctrl+Alt+Delete, zapoznámkujeme nasledujúci riadok v súbore /etc/event.d/control-alt-delete
.
#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
Spolu s Ubuntu sa ako predvolený zavádzač nainštaluje GNU GRUB, ktorý je veľmi prispôsobiteľný a má možnosti na obnovu. Napríklad, ak nainštalujeme ďalšie jadro, automaticky sa pridá ako nová možnosť do ponuky zavádzača grub. Pre každé jadro sa v ponuke vytvorí aj alternatívna položka označená nápisom (recovery mode), ktorú je možné použiť na obnovu systému. Recovery mode - obnovovací mód zavedie príslušné jadro do jednopoužívateľského módu (init 1), ktorý zodpovedá administrátorovi a sprístupní príkazový riadok s právami používateľa root bez vyžiadania akéhokoľvek hesla.
Preto je veľmi dôležité mať kontrolu nad tým, kto bude môcť pristupovať k položkám ponuky grub, ktoré su za normálnych okolností prístupné každému, čo umožňuje vykonanie nebezpečných akcií:
Zmeniť parametre jadra pri zavádzaní.
Zaviesť server do jednopoužívateľského módu.
Týmto akciám môžeme zabrániť tak, že nastavíme heslo pre vstup do konfigurácie GRUBu v súbore /boot/grub/menu.lst
, ktoré bude potrebné na odomknutie použitia rozšírených možností GRUBu.
Ak chceme použiť s nástrojom grub heslo, najskôr si musíme vygenerovať md5 odtlačok hesla pomocou nástroja grub-md5-crypt:
grub-md5-crypt
Po spustení príkazu zadáme heslo a zobrazí sa nám zodpovedajúca hodnota odtlačku:
Password: (zadáme heslo)
Retype password: (potvrdíme heslo)
$1$s3YiK$M3lxAbqA6JLm2FbDWnClQ0
Výsledný odtlačok zadáme do súboru /boot/grub/menu.lst
v nasledujúcom tvare:
password --md5 $1$s3YiK$M3lxAbqA6JLm2FbDWnClQ0
Aby sme zaheslovali aj prístup do jednouživateľského módu, nastavíme hodnotu premennej lockalternative
v súbore /boot/grub/menu.lst
na true
tak, ako v nasledujúcom príklade.
# lockalternative=true
![]() |
|
---|---|
Linuxové jadro obsahuje podsystém Netfilter, ktorý sa používa na riadenie prevádzky smerujúcej do servera alebo prechádzajúcej cez server. Všetky moderné Linuxové firewally používajú tento systém na filtrovanie paketov.
Systém filtrovania paketov kernelom je pre administrátorov ťažko použiteľný bez používateľského rozhrania, ktoré ho spravuje. Toto je úlohou iptables (ip tabuliek). Keď sa paket dostane na náš server, je odovzdaný do podsystému Netfilter aby ho prijal, spracoval alebo odmietol na základe pravidiel, ktoré mu zadáme pomocou iptables. Tieto ip tabuľky sú všetko, čo potrebujeme pre riadenie firewallu. Kvôli uľahčeniu práce však vznikli aj ďalšie rozhrania.
Predvolený konfiguračný nástroj na konfiguráciu firewallu v systéme Ubuntu je ufw. Bol vyvinutý na jednoduché nastavenie iptables firewallu. Nástroj ufw poskytuje používateľsky prívetivý spôsob, ako vytvoriť firevall založený na staniciach typu IPv4 alebo IPv6.
Nástroj ufw je v základnom stave vypnutý. Na man stránkach ufw sa píše:
“ ufw nie je určený na poskytnutie úplnej funkcionality firewallu cez príkazový riadok, slúži na jednoduché pridávanie a odstraňovanie jednoduchých pravidiel. Je zameraný najmä na firewall na báze staníc. ”
V ďalšej časti ukážeme niekoľko príkladov použitia ufw:
Najskôr je potrebné zapnúť ufw. Do príkazového riadka zadáme:
sudo ufw enable
Otvorenie portu (v našom prípade port ssh):
sudo ufw allow 22
Pravidlá sa dajú pridávať pomocou číslovaného formátu:
sudo ufw insert 1 allow 80
Podobne zatvoríme otvorený port:
sudo ufw deny 22
Ak chceme pravidlo odstrániť, zadáme delete a za ním pravidlo:
sudo ufw delete deny 22
Je tiež možné povoliť prístup z konkrétnych staníc alebo siete k portu. V nasledujúcom príklade povolíme ssh prístup zo stanice 192.168.0.2 na ktorúkoľvek adresu na tejto stanici:
sudo ufw allow proto tcp from 192.168.0.2 to any port 22
Ak nahradíme adresu 192.168.0.2 adresou 192.168.0.0/24, povolíme ssh prístup z celej podsiete.
Pridaním prepínača --dry-run k príkazu ufw budú vytvorené pravidlá, ale neaplikujú sa. V nasledujúcom príklade môžeme vidieť čo sa stane, ak otvoríme HTTP port:
sudo ufw --dry-run allow http
*filter
:ufw-user-input - [0:0]
:ufw-user-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
### RULES ###
### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0
-A ufw-user-input -p tcp --dport 80 -j ACCEPT
### END RULES ###
-A ufw-user-input -j RETURN
-A ufw-user-output -j RETURN
-A ufw-user-forward -j RETURN
-A ufw-user-limit -m limit --limit 3/minute -j LOG --log-prefix "[UFW LIMIT]: "
-A ufw-user-limit -j REJECT
-A ufw-user-limit-accept -j ACCEPT
COMMIT
Rules updated
ufw môžeme vypnúť zadaním:
sudo ufw disable
Ak chceme vidieť stav firewallu, zadáme:
sudo ufw status
Podrobnejšie informácie zobrazíme takto:
sudo ufw status verbose
Na zobrazenie v číslovanom formáte použijeme:
sudo ufw status numbered
![]() |
Ak je port, ktorý chcete otvoriť alebo zatvoriť, definovaný v súbore |
---|---|
Toto bol krátky úvod o používaní nástroja ufw. Viac informácií sa dozviete na man stránkach ufw.
Aplikácie, ktoré otvárajú porty, môžu zahrnúť do ufw profilu, detaily o portoch, ktoré potrebujú ku svojej správnej činnosti. Profily sa uchovávajú v priečinku /etc/ufw/applications.d
, v ktorom ich môžeme upravovať ak chceme zmeniť predvolené nastavenie portov.
Ak chceme vidieť, ktoré aplikácie majú nainštalovaný profil, zadáme nasledujúci príkaz:
sudo ufw app list
Rovnako, ako sme povoľovali port, môžeme povoliť aj profil aplikácie:
sudo ufw allow Samba
Rovnako je možné použiť rozšírenú syntax:
sudo ufw allow from 192.168.0.0/24 to any app Samba
Aplikáciu Samba a adresu 192.168.0.0/24 môžeme nahradiť za profil inej aplikácie a rozsah IP adries našej siete.
![]() |
Nie je potrebné pre aplikáciu dodatočne určovať protokol, pretože tieto informácie sú uložené v profile. Všimnite si, že slovom app môžeme nahradiť port. |
---|---|
Ak chceme zobraziť, ktoré porty, protokoly, atď sú definované pre aplikáciu, zadáme:
sudo ufw app info Samba
Nie všetky aplikácie, pre ktoré je potrebné otvoriť sieťové porty, sa dodávajú s ufw profilom, ale ak si sami vytvoríme profil a chceme aby bol začlenený do inštalačného balíka, môžeme poslať súbor spolu s hlásením chyby k balíku do systému Launchpad.
Cieľom zamaskovania IP (masquerade) adries je umožnenie pridelenia súkromnej nedosiahnuteľnej IP adresy v našej sieti, z ktorej sa budeme môcť dostať na Internet prostredníctvom zariadenia, ktoré robí maskovanie. Komunikácia z našej privátnej siete smerujúca do siete Internet musí byť pozmenená tak, aby odpovede dorazili na zariadenie, ktoré si ich vyžiadalo. Aby sa tak stalo, kernel musí upraviť zdrojovú IP adresu každého paketu tak, aby odpoveď dorazila na počítač robiaci maskovanie a nie priamo na súkromnú IP adresu, na ktorú sa nie je možné dostať priamo z Internet. Linux používa Sledovanie spojenia - Connection Tracking (conntrack) aby odsledoval, ktoré spojenie smeruje do ktorého stroja a mohol správne presmerovať vracajúce sa pakety. Komunikácia opúšťa privátnu sieť ako "zamaskovaná" tak, ako keby pochádzala priamo z nášho Ubuntu servera tvoriaceho bránu (gateway). Tento proces je v dokumentácii od firmy Microsoft popísaný ako Zdieľanie internetového pripojenia.
Maskovanie IP adries sa dá vytvoriť pomocou vlastných pravidiel ufw. Je to možné vďaka aktuálnemu koncovému rozhraniu ufw s názvom iptables-restore s pravidlami uloženými v súboroch
/etc/ufw/*.rules
. Tieto súbory sú skvelým miestom, kde sa dajú pridávať pravidlá pre iptables bez ufw a pravidlá, ktoré sú zamerané pre sieťovú bránu alebo premostenia.
Pravidlá sú rozdelené do dvoch rozdielnych súborov. Pravidlá, ktoré by mali byť spustené pred príkazmi ufw zadanými z príkazového riadka a pravidlá, ktoré by mali byť spustené za príkazmi ufw zadanými z príkazového riadka.
Najskôr je potrebné zapnúť smerovanie paketov v ufw. Je potrebné upraviť dva konfiguračné súbory. V súbore
/etc/default/ufw
zmeníme DEFAULT_FORWARD_POLICY na “ACCEPT”:
DEFAULT_FORWARD_POLICY="ACCEPT"
Potom otvoríme súbor /etc/ufw/sysctl.conf
a odkomentujeme:
net.ipv4.ip_forward=1
Podobne pre IPv6 smerovanie odkomentujeme:
net.ipv6.conf.default.forwarding=1
Teraz pridáme pravidlá do súboru /etc/ufw/before.rules
. Predvolené pravidlá konfigurujú iba tabuľku filter a ak chceme zapnúť maskovanie, je potrebné nakonfigurovať tabuľku nat. Nasledujúce riadky pridáme na začiatok súboru za komentár hlavičky:
# pravidlá nat tabuľky
*nat
:POSTROUTING ACCEPT [0:0]
# Presmerovanie komunikácie z eth1 na eth0.
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
# nemažte riadok 'COMMIT' inak sa pravidlá tejto tabuľky nevykonajú
COMMIT
Komentáre nie sú povinné, ale je dobrým zvykom okomentovať našu konfiguráciu. Ak upravujeme akékoľvek pravidlá v súboroch v priečinku /etc/ufw
je potrebné sa uistiť, či na konci týchto riadkov každej tabuľky sa nachádzajú tieto riadky:
# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT
V každej Tabuľke je potrebný príkaz COMMIT. V tomto článku boli zobrazené len tabuľky nat a filter, ale pravidlá je možné pridať aj do tabuliek raw a mangle.
![]() |
V uvedenom príklade nahraďte eth0, eth1 a 192.168.0.0/24 sieťovými rozhraniami a rozsahom IP adries, ktoré používate vo vašej sieti. |
---|---|
Nakoniec vypneme a znovu zapneme ufw aby sa prejavili zmeny:
sudo ufw disable && sudo ufw enable
Maskovanie IP adries by teraz malo byť zapnuté. Môžeme pridať ešte niekoľko dodatočných FORWARD pravidiel do súboru /etc/ufw/before.rules
. Dodatočné pravidlá je odporúčané pridávať do zreťazenia ufw-before-forward.
Na maskovanie IP adries je možné použiť aj iptables.
Podobne ako pri ufw, najskôr musíme povoliť smerovanie paketov IPv4 úpravou súboru /etc/sysctl.conf
odkomentovaním nasledujúceho riadka
net.ipv4.ip_forward=1
Ak by sme chelí zapnúť aj IPv6 smerovanie odkomentujeme aj riadok:
net.ipv6.conf.default.forwarding=1
Potom spustíme príkaz sysctl, ktorý zapne nové nastavenia v konfigurácii:
sudo sysctl -p
IP maskovanie teraz môžeme nastaviť pomocou jedného pravidla iptables, ktoré je potrebné prispôsobiť konfigurácii našej siete:
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
Uvedený príkaz považuje za privátne adresy tie, ktoré sú z rozsahu 192.168.0.0/16 a za zariadenie, ktorým sa pripájame na internet považuje ppp0. Význam ďalších častí príkazu je takýto:
-t nat -- pravidlo patrí do tabuľky nat
-A POSTROUTING -- pravidlo sa pridá (-A) do zreťazenia POSTROUTING
-s 192.168.0.0/16 -- pravidlo platí pre komunikáciu pochádzajúcu zo zadaného rozsahu adries
-o ppp0 -- pravidlo sa aplikuje iba na komunikáciu, ktorá je nasmerovaná von cez zadané sieťové zariadenie
-j MASQUERADE -- komunikácia spĺňajúca toto pravidlo "preskočí" (-j) na cieľ MASQUERADE, ktorý s ňou bude zaobchádzať vyššie uvedeným spôsobom
Každé zreťazenie v tabuľke filter (predvolená tabuľka, v ktorej je definovaná väčšina pravidiel filtrujúcich pakety) má v základnom stave nastavenú policy (politiku) na ACCEPT (prijať), ale ak chceme vytvoriť firewall s prídavnou funkciou brány, mali by sme politiky nastaviť na DROP (zahodiť) alebo REJECT (odmietnuť), ktorá spôsobí, že maskovaná komunikácia bude musieť prejsť cez zreťazenie FORWARD, v ktorom zadefinujeme pravidlá pre filtrovanie:
sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT
sudo iptables -A FORWARD -d 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT
Predchádzajúce príkazy povolia pripojenie prichádzajúce z vnútornej siete do siete Internet a komunikáciu, ktorá súvisí s týmito pripojeniami, presmeruje na počítače, ktoré spojenia nadviazali.
Ak chceme, aby bolo maskovanie aktívne aj po reštarte, otvoríme súbor /etc/rc.local
a pridáme príkazy, ktoré sme použili vyššie. Napríklad prvý príkaz bez filtrovania:
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE
Záznamy Firewallu slúžia na rozpoznanie útokov, riešenie problémov s pravidlami a upozorňovanie na nezvyčajné aktivity v sieti. Aby bol záznam vygenerovaný, je potrebné ho začleniť do pravidla, pretože pravidlá pre zaznamenávanie musia byť známe pred aplikovaním koncového pravidla (pravidlo, ktoré rozhodne o osude paketu ako ACCEPT (prijať), DROP (zahodiť) alebo REJECT (odmietnuť)).
Ak používame ufw, môžeme zaznamenávanie zapnúť zadaním nasledujúceho príkazu:
sudo ufw logging on
Ak chceme zaznamenávanie vypnúť ufw, jednoducho v príkaze slovo on nahradíme za off.
Ak používame iptables miesto ufw, zadáme:
sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j LOG --log-prefix "NEW_HTTP_CONN: "
Požiadavky smerujúce na port 80 z lokálny staníc budú zaznamenané do dmesg a budú vyzerať takto:
[4304885.870000] NEW_HTTP_CONN: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0
Predchádzajúci záznam sa objaví v súboroch /var/log/messages
,
/var/log/syslog
a /var/log/kern.log
.
Toto chovanie sa dá zmeniť v súbore /etc/syslog.conf
alebo nainštalovaním a nastavením nástroja ulogd
a použitím slova ULOG miesto slova LOG v pravidle. Démon ulogd načúva, logovacím inštrukciám z jadra špeciálne pre firewall a môže ich zaznamenať buď do súboru, aký mu zadáme alebo do databázy
PostgreSQL či MySQL. Analýzu záznamov firewallu si môžeme zjednodušiť analyzačnými nástrojmi fwanalog,
fwlogwatch alebo lire.
Existuje mnoho nástrojov, ktoré uľahčujú vytvorenie kompletného firewallu bez toho, aby sme poznali iptables. Pre klientov s grafickým rozhraním sú to:
Firestarter je veľmi populárny a ľahko sa používa.
fwbuilder je veľmi mocný a priateľsky vyzerajúci program pre administrátorov, ktorí sú zvyknutí používať komerčné nástroje, ako napríklad Checkpoint FireWall-1.
Ak uprednostňujeme nástroje, ktoré sa zadávajú v príkazovom riadku s textovými konfiguračnými súbormi, môžeme použiť:
Shorewall je veľmi možný riešenie, ktoré umožňuje nakonfigurovať firewall pre akúkoľvek sieť.
ipkungfu nám poskytne funkčný firewall bez nutnosti akejkoľvek konfigurácie a umožní nám jednoducho nastaviť pokročilejší fierewall, pomocou veľmi dobre zdokumentovaných konfiguračných súborov.
fireflier je navrhnutý tak, aby bol desktopovou aplikáciou. Skladá sa zo serverovej aplikácie (fireflier-server) a grafického klienta, akého si zvolíte (GTK alebo QT) a chová sa ako väčšina interaktívnych firewall aplikácií pre Windows.
Wiki stránka Ubuntu Firewall obsahuje informácie o vývoji ufw.
Manuálové stránky ufw tiež obsahujú veľmi užitočné informácie: man ufw.
Na stránke packet-filtering-HOWTO sa nachádza viac informácií o použití iptables.
Stránka nat-HOWTO obsahuje detaily o maskovaní.
Výborným zdrojom je aj IPTables HowTo na Ubuntu wiki.
AppArmor je implementácia bezpečnostného modulu Linuxu (Linux Security Module) riadenia prístupu na základe mandátov založených na menách. AppArmor zabraňuje jednotlivým programom meniť súbory, ktoré sú definované v zozname dokumentu posix 1003.1e.
AppArmor sa nainštaluje spolu so systémom a hneď sa aj aktivuje. Používa profily aplikácií, aby určil, ktoré súbory a s akými právami daná aplikácia vyžaduje. Niektoré balíky nainštalujú svoje vlastné profily a niektoré ďalšie dodatočné profily sa nachádzajú v balíku apparmor-profiles.
Ak chceme nainštalovať balík apparmor-profiles, do príkazového riadka zadáme:
sudo apt-get install apparmor-profiles
Profily AppArmor majú dva módy spustenia:
Upozorňovací/Učiaci: umožňuje porušiť pravidlá v profile, porušenia sú však zaznamenané. Toto je užitočné pri testovaní a tvorbe nových profilov.
Prinucovací/Zákazový: striktne presadzuje politiku profilu a pokus o jej porušenie zaznamená.
Balík apparmor-utils obsahuje nástroje pre príkazový riadok, ktorými môžeme pre AppArmor zmeniť mód spustenia, nájsť stav profilu, vytvoriť nové profily, atď.
apparmor_status sa používa na zobrazenie aktuálneho stavu profilov AppArmor.
sudo apparmor_status
aa-complain prepne profil do upozorňovacieho módu.
sudo aa-complain /cesta/k/programu
aa-enforce prepne profil do prinucovacieho módu.
sudo aa-enforce /cesta/k/programu
Profily AppArmor sa nachádzajú v priečinku /etc/apparmor.d
. Tento priečinok môžeme použiť na zmenu módu všetkých profilov naraz.
Ak chceme všetky profily naraz prepnúť do upozorňovacieho módu, zadáme:
sudo aa-complain /etc/apparmor.d/*
Keby sme ich chceli prepnúť do prinucovacieho módu, zadáme:
sudo aa-enforce /etc/apparmor.d/*
apparmor_parser sa používa na načítanie profilu do jadra. Môžeme ho použiť aj na obnovenie už načítaných profilov použitím prepínača -r. Profil načítame takto:
cat /etc/apparmor.d/neno.profilu | sudo apparmor_parser -a
Obnovenie profilu urobíme takto:
cat /etc/apparmor.d/meno.profilu | sudo apparmor_parser -r
/etc/init.d/apparmor
môže byť použitý na obnovenie všetkých profilov:
sudo /etc/init.d/apparmor reload
Priečinok /etc/apparmor.d/disable
môže byť použitý pomocou príkazu apparmor_parser -R
na vypnutie profilu.
sudo ln -s /etc/apparmor.d/meno.profilu /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/meno.profilu
Ak chceme znova zapnúť vypnutý profil, odstránime symbolické prepojenie na profil v
/etc/apparmor.d/disable/
. Potom načítame profil spolu s prepínačom -a.
sudo rm /etc/apparmor.d/disable/meno.profilu
cat /etc/apparmor.d/meno.profilu | sudo apparmor_parser -a
AppArmor môžeme vypnúť a zrušiť aj načítanie modulu jadra zadaním príkazu:
sudo /etc/init.d/apparmor stop
sudo update-rc.d -f apparmor remove
Ak chceme znova obnoviť AppArmor, zadáme:
sudo /etc/init.d/apparmor start
sudo update-rc.d apparmor defaults
![]() |
Spojenie meno.profilu nahraďte menom profilu, s ktorým chcete manipulovať. Nahraďte tiež cestu
|
---|---|
Profily AppArmor sú jednoduché textové súbory umiestnené v priečinku /etc/apparmor.d/
. Súbory sú nazvané podľa celej cesty k spustiteľnému súboru pričom znak "/" je nahradený znakom ".". Napríklad /etc/apparmor.d/bin.ping
je AppArmor profil pre príkaz /bin/ping
.
Existujú dva hlavné typy pravidiel použitých v profiloch:
Záznamy ciest: hovoria, ku ktorým súborom aplikácie je možné pristupovať v súborovom systéme.
Capability entries: určujú, aké právomoci budú môcť použiť neoprávnené procesy.
Napríklad sa môžeme pozrieť na profil /etc/apparmor.d/bin.ping
:
#include <tunables/global>
/bin/ping flags=(complain) {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
/bin/ping mixr,
/etc/modules.conf r,
}
#include <tunables/global>: príkaz include znamená začleniť z iných súborov. Tento umožňuje nastaviť chovanie viacerých aplikácií, ktoré nastavíme v spoločnom súbore.
/bin/ping flags=(complain): cesta k profilovanému programu a nastavenie upozorňovacieho módu.
capability net_raw,: umožňuje aplikáciám pristupovať k funkcionalite CAP_NET_RAW Posix.1e.
/bin/ping mixr,: umožňuje aplikáciám čítať a spúšťať súbor.
![]() |
Ak upravíte profil, musíte ho znova načítať. Viac informácii sa dozviete v časti “Použitie AppArmor”. |
---|---|
Návrh testovacieho plánu: Skúsme porozmýšlať, ako by aplikácia mala byť spúšťaná. Testovací plán si rozdelíme na malé testovacie prípady. Každý testovací prípad by mal mať krátky opis a zoznam krokov podobných týmto.
Niektoré štandardné testovacie prípady sú:
Štartovanie programu.
Vypínanie programu.
Obnovenie programu.
Testovanie všetkých príkazov, ktoré podporuje init skript.
Generovanie nového profilu: Na vygenerovanie nového profilu použijem nástroj aa-genprof. Do príkazového riadka zadáme:
sudo aa-genprof program
Napríklad:
sudo aa-genprof slapd
Ak chceme náš nový profil začleniť do balíka apparmor-profiles, súbor odošleme ako chybové hlásenie k balíku AppArmor do systému Launchpad:
Napíšeme testovací plán a testovacie prípady.
Pripojíme nový profil k hláseniu o chybe.
Keď sa program nespráva tak ako by sa mal, odošle sa správa do log súborov. Na hľadanie v súboroch so záznamami AppArmor môžeme použiť nástroj aa-logprof, prezrieť si ich a aktualizovať profily. Do príkazového riadka zadáme:
sudo aa-logprof
Jednou z najčastejších foriem kryptografie je v súčasnosti kryptografia pomocou dvojice kľúčov. Kryptografia dvojice kľúčov je založená na verejnom kľúči a súkromnom kľúči. Systém informáciu zašifruje verejným kľúčom. Táto informácia sa potom dá dešifrovať pomocou súkromného kľúča.
Tento obľúbený spôsob šifrovania sa používa i pri komunikácii cez pripojenia Secure Socket Layer (SSL) alebo Transport Layer Security (TLS). Napríklad môžeme nakonfigurovať systém Apache, aby poskytol HTTPS - HTTP protokol cez SSL. Toto umožňuje zašifrovať komunikáciu pri protokoloch, ktoré samy o sebe neposkytujú šifrovanie.
Certifikát je spôsob, akým sa distribuuje verejný kľúč a ostatné informácie o serveri a organizácii, ktorá je za ne zodpovedná. Certifikáty môžu byť digitálne podpísané Certifikačnými autoritami (CA). CA je dôveryhodná tretia strana, ktorá potvrdzuje, že informácie, ktoré sa nachádzajú v certifikáte sú pravdivé.
Ak chceme nastaviť bezpečný server, ktorý bude používať šifrovanie pomocou dvojice kľúčov, vo väčšine prípadov je potrebné zaslať požiadavku na podpísanie certifikátu (vrátane nášho verejného kľúča), doklad o firemnej identite a poplatok do CA. CA porovná požiadavku na vydanie certifikátu s našou identitou a pošle nám späť certifikát pre náš server. Druhá možnosť je, že si vytvoríme sebou podpísaný certifikát.
![]() |
Upozornenie - sebou podpísané certifikáty sa vo väčšine produkčných prostredí nedajú použiť. |
---|---|
Ak napríklad zoberieme spomínanú HTTPS komunikáciu, certifikáty podpísané CA poskytujú dve významné funkcie, ktoré sebou podpísané certifikáty nemôžu poskytnúť:
Prehliadače (zvyčajne) automaticky rozpoznajú certifikát a povolia šifrované spojenie bez toho, aby si žiadali potvrdenie od používateľa.
Pri certifikátoch podpísaných CA je garantovaná identita organizácie, ktorá poskytuje webové stránky prehliadaču.
Väčšina webových prehliadačov a počítačov, ktoré podporujú SSL, má zoznam certifikovaných autorít, ktorým automaticky dôverujú. Ak prehliadač zistí, že certifikát je podpísaný CA, ktorá nie je v zozname, spýta sa používateľa či má prijať alebo odmietnuť pripojenie. Niektoré aplikácie môžu generovať chybové hlásenie oznamujúce, že certifikát je sebou podpísaný.
Proces získania certifikátu od CA je celkom jednoduchý. Postupuje sa podľa nasledujúcich krokov:
Vytvoríme dvojicu kľúčov - súkromný a verejný.
Vytvoríme požiadavku na podpísanie verejného kľúča. Požiadavka bude obsahovať informácie o serveri a spoločnosti, ktorá server prevádzkuje.
Odošleme požiadavku s dokumentom o našej identite do CA. Vyberieme si niektorú z certifikačných autorít. Náš výber môže byť na základe predchádzajúcich skúseností alebo skúseností od priateľov alebo na základe finančných faktorov.
Keď sme sa rozhodli pre niektorú z CA, je potrebné ďalej sa riadiť jej pokynmi pre získanie certifikátu.
Ak sa CA dôkladne uistí, že sme ten, za ktorého sa vydávame, vydá nám digitálny certifikát.
Nainštalujeme certifikát na náš server a nastavíme aplikácie, aby tento certifikát použili.
Či už chceme získať certifikát od CA alebo vytvoriť sebou podpísaný certifikát, najskôr musíme vygenerovať kľúče.
Ak má byť certifikát využívaný démonmi služieb ako napríklad Apache, Postfix, Dovecot, atď., je potrebné vygenerovať kľúč, ktorý nebude vyžadovať vstupnú frázu (passphrase). Ak nepoužijeme vstupnú frázu, služby sa budú vedieť naštartovať bez manuálneho vstupu, čo je preferovaný spôsob spúšťania démonov.
V tejto časti sa dozvieme, ako vytvoriť kľúče so vstupnou frázou aj bez nej. Kľúče bez vstupnej frázy potom použijeme na vygenerovanie certifikátu a potom ich budeme môcť použiť s rôznymi démonmi služieb.
![]() |
Spúšťanie bezpečných služieb bez vstupnej frázy je bežné, inak by bolo potrebné vstupnú frázu ručne zadať pri každom spustení služby. Je to však menej bezpečné a v prípade, že niekto neoprávnene získa kľúč, získa tiež neobmedzený prístup k službám servera. |
---|---|
Ak chceme vygenerovať kľúče pre požiadavku o podpísanie certifikátu (CSR), spustíme nasledujúci príkaz v príkazovom riadku:
openssl genrsa -des3 -out server.key 1024
Generating RSA private key, 1024 bit long modulus
.....................++++++
.................++++++
unable to write 'random state'
e is 65537 (0x10001)
Enter pass phrase for server.key:
Teraz môžeme zadať vstupnú frázu. Pre najlepšiu bezpečnosť by mala obsahovať aspoň osem znakov. Minimálna dĺžka pri použití -des3 je štyri znaky. Môže obsahovať čísla aj interpunkciu a nemala by byť slovom zo slovníka. Nezabudnite tiež, že vo vstupnej fráze sa rozlišuje veľkosť písmen.
Vstupnú frázu je potrebné kvôli kontrole zadať dvakrát. Ak ju po druhýkrát zadáte rovnako, vygeneruje sa kľúč a uloží sa do súboru
server.key
.
Teraz vytvoríme nezabezpečený kľúč a zmeníme mená kľúčov:
openssl rsa -in server.key -out server.key.nezabezpeceny
mv server.key server.key.zabezpeceny
mv server.key.nezabezpeceny server.key
Nezabezpečený kľúč sa teraz volá server.key
a môžeme ho použiť na vygenerovanie CSR bez vstupnej frázy.
Ak chceme vytvoriť CSR, spustíme nasledujúci príkaz v príkazovom riadku:
openssl req -new -key server.key -out server.csr
Po zadaní príkazu bude potrebné zadať vstupnú frázu. Ak zadáme správnu vstupnú frázu, môžeme zadať meno organizácie (Company Name) a ďalšie údaje, ako názov webu (Site Name), Email Id, atď. Po zadaní všetkých detailov sa vygeneruje CSR súbor s názvom
server.csr
.
Tento CSR súbor môžeme poskytnúť CA na spracovanie. CA použije tento CSR súbor a vydá nám certifikát. Pomocou tohto CSR súboru však môžeme vytvoriť aj sebou podpísaný certifikát.
Ak chceme vytvoriť sebou podpísaný certifikát, spustíme nasledujúci príkaz v príkazovom riadku:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Po zadaní príkazu bude potrebné zadať vstupnú frázu. Po zadaní správnej vstupnej frázy sa vygeneruje certifikát, ktorý sa uloží do súboru
server.crt
.
![]() |
Ak má byť zabezpečený server verejne dostupný, budete potrebovať certifikát podpísaný CA. Neodporúčame použiť sebou podpísaný certifikát. |
---|---|
Súbor s kľúčom server.key
a súbor s certifikátom
server.crt
(alebo iným dodaným od CA) nainštalujeme spustením nasledujúcich príkazov v príkazovom riadku:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
Teraz môžeme nakonfigurovať aplikácie, ktoré sú schopné šifrovať na báze dvojice kľúčov, aby použili súbory s certifikátom a kľúčom. Napríklad Apache môže poskytnúť HTTPS, Dovecot môže poskytnúť IMAPS a POP3S, atď.
Ak služby v našej sieti vyžadujú viac ako sebou podpísané certifikáty, môže byť užitočné nastaviť svoju vlastnú súkromnú Certifikačnú Autoritu (CA). Použitím certifikátu podpísaného vlastnou CA, umožníte rôznym službám použiť certifikáty, ktoré umožnia službám navzájom si dôverovať, lebo budú používať certifikáty od rovnakej CA.
Najskôr vytvoríme priečinky, ktoré budú obsahovať potrebné súbory:
sudo mkdir /etc/ssl/CA
sudo mkdir /etc/ssl/newcerts
CA vyžaduje pre svoju funkciu niekoľko ďalších súborov. Prvý bude sledovať posledné sériové číslo použité CA - každý certifikát musí mať jedinečné sériové číslo. Druhý súbor, ktorý bude zaznamenávať, aké certifikáty boli vydané:
sudo sh -c "echo '01' > /etc/ssl/CA/serial"
sudo touch /etc/ssl/CA/index.txt
Tretí súbor je konfiguračný súbor CA. Hoci nie je povinný, je veľmi užitočný pri vydávaní viacerých certifikátov. Otovoríme súbor /etc/ssl/openssl.cnf
a v
[ CA_default ] zmeníme:
dir = /etc/ssl/ # Where everything is kept
database = $dir/CA/index.txt # database index file.
certificate = $dir/certs/cacert.pem # The CA certificate
serial = $dir/CA/serial # The current serial number
private_key = $dir/private/cakey.pem# The private key
Ďalej vytvoríme sebou podpísaný certifikát:
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
Po spustení zadáme informácie pre certifikát.
Teraz nainštalujeme koreňový certifikát a kľúč:
sudo mv cakey.pem /etc/ssl/private/
sudo mv cacert.pem /etc/ssl/certs/
Odteraz môžeme začať podpisovať certifikáty. Prvá potrebná položka je CSR (pozrite Generovanie požiadavky na podpísanie certifikátu - Certificate Signing Request (CSR) ). Ak máme CSR, zadáme nasledujúci príkaz, ktorý vygeneruje certifikát podpísaný našou CA:
sudo openssl ca -in server.csr -config /etc/ssl/openssl.cnf
Po zadaní hesla pre kľúč CA bude potrebné podpísať certifikát a potom znova, aby sme potvrdili nový certifikát. Potom by sme mali vidieť množstvo výstupov, ktoré súvisia s vytváraním certifikátu.
Mali by sme získať nový súbor /etc/ssl/newcerts/01.pem
obsahujúci rovnaký výstup.
Skopírujeme všetky riadky medzi textami -----BEGIN CERTIFICATE----- a
----END CERTIFICATE----- a prilepíme ich do súboru s názvom mena servera, na ktorom bude certifikát nainštalovaný. Napríklad mail.nieco.sk.crt
je pekné veľavravné meno.
Ďalšie certifikáty budú pomenované 02.pem
, 03.pem
, atď.
![]() |
Meno súboru mail.nieco.sk.crt nahraďte vlastným názvom. |
---|---|
Nakoniec skopírujeme nový certifikát na počítač, na ktorom ho potrebujeme použiť.
Predvolené umiestnenie pre inštaláciu certifikátov je /etc/ssl/certs
. Týmto umožníme viacerým službám
použiť rovnaký certifikát bez potreby komplikovaného nastavovania oprávnení.
Kvôli aplikáciám, ktoré chceme nakonfigurovať tak, aby používali certifikát podpísaný našou CA, by sme mali ešte skopírovať súbor
/etc/ssl/certs/cacert.pem
do priečinka /etc/ssl/certs/
na každom počítači.
Detailnejšie inštrukcie o kryptografii sa nachádzajú na stránke SSL Certificates HOWTO webu tlpd.org
Stránka The PKI Page obsahuje zoznam Certifikačných autorít.
Na stránke Wikipédie HTTPS sa nachádzajú informácie o HTTPS.
Viac informácií o OpenSSL sa nachádza na stránke OpenSSL Home Page.
Vhodnou príručkou je tiež O'Reillyho Network Security with OpenSSL.
eCryptfs je prídavný šifrovaný súborový systém pre Linux kompatibilný s POSIX. Vrstva eCryptfs sa nachádza nad vrstvou súborového systému a chráni súbory bez ohľadu na to, aký je podkladový súborový systém, typ diskových oddielov atď.
Počas inštalácie je možnosť zašifrovať diskový oddiel pre priečinok /home
. Táto možnosť automaticky nakonfiguruje všetko potrebné pre zašifrovanie a pripojenie diskového oddielu.
V tejto časti ako príklad nastavíme priečinok /srv
tak, aby bol zašifrovaný pomocou eCryptfs.
Najskôr nainštalujeme potrebné balíky. V príkazovom riadku zadáme:
sudo apt-get install ecryptfs-utils
Teraz pripojíme diskový oddiel, ktorý chceme zašifrovať:
sudo mount -t ecryptfs /srv /srv
Po zadaní príkazu bude potrebné zadať niekoľko informácií o tom, ako má ecryptfs zašifrovať dáta.
Ak chceme otestovať súbory umiestnené v priečinku /srv
, či sú skutočne zašifrované, skopírujeme priečinok /etc/default
do /srv
:
sudo cp -r /etc/default /srv
Odpojíme /srv
, a pokúsime sa zobraziť súbor:
sudo umount /srv
cat /srv/default/cron
Ak znova pripojíme priečinok /srv
pomocou ecryptfs všetky dáta budú opäť viditeľné.
Existuje niekoľko spôsobov, ako automaticky pripojiť súborový systém ecryptfs počas zavádzania systému. V tomto príklade použijeme súbor /root/.ecryptfsrc
, ktorý obsahuje možnosti pripojenia spolu so vstupnou frázou umiestnenou na USB kľúči.
Najskôr vytvoríme súbor /root/.ecryptfsrc
, ktorý bude obsahovať:
key=passphrase:passphrase_passwd_file=/mnt/usb/passwd_file.txt
ecryptfs_sig=5826dd62cf81c615
ecryptfs_cipher=aes
ecryptfs_key_bytes=16
ecryptfs_passthrough=n
ecryptfs_enable_filename_crypto=n
![]() |
Zmeňte signatúru ecryptfs_sig na signatúru, ktorá sa nachádza v súbore |
---|---|
Potom vytvoríme súbor so vstupnou frázou /mnt/usb/passwd_file.txt
:
passphrase_passwd=[secrets]
Teraz pridáme nevyhnutné riadky do súboru /etc/fstab
:
/dev/sdb1 /mnt/usb ext3 ro 0 0
/srv /srv ecryptfs defaults 0 0
Vždy je potrebné sa uistiť, či je USB disk pripojený, skôr, ako sa bude pripájať zašifrovaný diskový oddiel.
Nakoniec reštartujeme systém a priečinok /srv
by sa mal pripojiť pomocou ecryptfs.
Balík ecryptfs-utils obsahuje niekoľko ďalších užitočných nástrojov:
ecryptfs-setup-private: vytvorí priečinok ~/Private
, ktorý má slúžiť na uchovávanie zašifrovaných informácií. Tento nástroj sa dá spustiť aj bežnými používateľmi bez oprávnení, ktorí takto môžu ochrániť svoje údaje pred ostatnými používateľmi.
ecryptfs-mount-private a ecryptfs-umount-private: nástroje slúžia na pripojenie a odpojenie používateľského priečinka ~/Private
.
ecryptfs-add-passphrase: pridá novú vstupnú frázu do úložiska hesiel kernel keyring.
ecryptfs-manager: spravuje eCryptfs objekty, ako napríklad kľúče.
ecryptfs-stat: umožňuje zobraziť ecryptfs meta informácie súboru.
Viac informácií o eCryptfs sa nachádza na stránke Launch Pad project page
Článok o eCryptfs sa nachádza aj v Linux Journal.
Viac informácií o možnostiach ecryptfs sa tiež nachádza na ecryptfs man page.
Viac podrobností sa dá nájsť aj na stránke eCryptfs Ubuntu Wiki.
Monitorovanie jednotlivých serverov a služieb je dôležitou súčasťou administrácie systému. Väčšina sieťových služieb sa monitoruje kvôli zisteniu výkonu, zisteniu dostupnosti, alebo kvôli zisteniu oboch týchto parametrov. Táto časť hovorí o inštalácii a konfigurácii systému Nagios, ktorý monitoruje dostupnosť a systému Munin, ktorý monitoruje výkon.
Príklady v teto časti používajú dve stanice s mennými adresami server01 a server02. Server01 nakonfigurujeme tak, aby pomocou systému Nagios monitoroval sám seba a server02. Na server01 nainštalujeme aj munin, ktorý bude získavať informácie zo siete. Pomocou balíka munin-node, nastavíme server02 tak, aby posielal informácie na server01.
Dúfame, že vám tieto jednoduché príklady poslúžia ako návod pre monitorovanie ďalších staníc a služieb vo vašej sieti.
Najskor na počítači s názvom server01 nainštalujeme balík nagios. Do príkazového riadka zadáme:
sudo apt-get install nagios3 nagios-nrpe-plugin
Po zadaní príkazu zadáme heslo pre správcu - používateľa nagiosadmin. Prihlasovacie údaje používateľov sa uložia do súboru /etc/nagios3/htpasswd.users
. Ak budeme chcieť zmeniť heslo používateľa nagiosadmin alebo pridať ďalších používateľov do Nagios CGI skriptov, použijeme nástroj htpasswd, ktorý je súčasťou balíka
apache2-utils.
Ak chceme napríklad zmeniť heslo používateľa nagiosadmin zadáme:
sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin
Ak chceme pridať nového používateľa, zadáme:
sudo htpasswd /etc/nagios3/htpasswd.users stefan
Teraz nainštalujeme na stanicu s názvom server02 balík nagios-nrpe-server. Do príkazového riadka na počítači server02 zadáme:
sudo apt-get install nagios-nrpe-server
![]() |
NRPE umožňuje spúšťať lokálne kontroly na vzdialených staniciach. Existujú aj iné rozšírenia systému Nagios, pomocou ktorých sa dajú kontroly spustiť vzdialene. Rovnako existujú iné spôsoby kontroly. |
---|---|
Existuje niekoľko priečinkov, ktoré obsahujú konfiguráciu systému Nagios a kontrolné súbory.
/etc/nagios3
: obsahuje konfiguračné súbory, ktoré riadia správanie démona nagios, CGI súborov, zoznamu staníc - hosts, atď.
/etc/nagios-plugins
: obsahuje konfiguračné súbory pre kontrolu služieb.
/etc/nagios
: na vzdialenej stanica obsahuje konfiguračné súbory pre nagios-nrpe-server.
/usr/lib/nagios/plugins/
: tu sú uložené spustiteľné kontrolné nástroje. Ak chceme zobraziť možnosti nástroja, použijeme prepínač -h.
Napríklad: /usr/lib/nagios/plugins/check_dhcp -h
Existuje veľké množstvo najrôznejších kontrol pomocou systému Nagios, ktoré môžeme spustiť na zadanom vzdialenom počítači. V tomto príklade Nagios nastavíme tak, aby skontroloval voľné miesto na disku, DNS a MySQL hostgroup. Kontrolu DNS vykonáme na počítači server02 a kontrolu MySQL hostgroup vykonáme na oboch počítačoch server01 aj server02.
![]() |
Pozrite si časť HTTPD - webový server Apache2 hovoriacu o nastavení systému Apache, časť Služba prekladu doménových mien (DNS) o DNS a časť MySQL o MySQL. |
---|---|
Pred tým, ako budeme pokračovať, si vysvetlíme ešte niekoľko termínov, ktoré nám umožnia ľahšie porozumieť konfigurácii systému Nagios:
Host: server, pracovná stanica, sieťové zariadenie, atď., ktoré bude monitorované.
Host Group: zoskupenie podobných staníc. Napríklad môžeme zoskupiť webové servery, súborové servery.atď.
Service: služba ktorá bude monitorovaná na danej stanici. Napríklad HTTP, DNS, NFS, atď.
Service Group: umožňuje zoskupiť viacero služieb. Je to užitočné napríklad pri viacerých HTTP službách.
Contact: osoba, ktorej má byť oznámené, že nastala sledovaná udalosť. Nagios môže poslať email, SMS správu, atď.
V predvolenom stave je Nagios nastavený tak, aby sledoval HTTP miesto na disku, SSH, aktuálnych používateľov, procesy a zaťaženie na stanici localhost (stanica, na ktorej je spustený). Nagios tiež pomocou nástroja ping preverí dostupnosť sieťovej brány (gateway).
Rozsiahlu inštaláciu systému Nagios môže byť ťažké nakonfigurovať . Preto je najlepšie začať malou inštaláciou - s jedným alebo dvoma počítačmi, nastaviť ich tak, aby monitorovanie fungovalo a potom Nagios nainštalovať na ďalšie stanice.
Najskôr vytvoríme konfiguračný súbor host pre stanicu server02. Do príkazového riadka zadáme:
sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg /etc/nagios3/conf.d/server02.cfg
![]() |
V predchádzajúcich a nasledujúcich krokoch zmeňte"server01", "server02" 172.18.100.100 a 172.18.100.101 za menné a číselné IP adresy vašich staníc. |
---|---|
Potom upravíme súbor /etc/nagios3/conf.d/server02.cfg
:
define host{
use generic-host ; Name of host template to use
host_name server02
alias Server 02
address 172.18.100.101
}
# check DNS service.
define service {
use generic-service
host_name server02
service_description DNS
check_command check_dns!172.18.100.101
}
Reštartujeme démon systému nagios, aby sa konfigurácia prejavila:
sudo /etc/init.d/nagios3 restart
Teraz pridáme definíciu pre kontrolu služby MySQL pridaním nasledujúcich riadkov do súboru /etc/nagios3/conf.d/services_nagios2.cfg
:
# check MySQL servers.
define service {
hostgroup_name mysql-servers
service_description MySQL
check_command check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
Teraz je potrebné zadefinovať hostgroup
mysqsl-servers. Otvoríme súbor
/etc/nagios3/conf.d/hostgroups_nagios2.cfg
a pridáme:
# MySQL hostgroup.
define hostgroup {
hostgroup_name mysql-servers
alias MySQL servers
members localhost, server02
}
Kontrola systému Nagios sa musí vedieť prihlásiť do MySQL. Pridáme používateľa nagios do systému MySQL:
mysql -u root -p -e "create user nagios identified by 'tajne';"
![]() |
Používateľa nagios je potrebné pridať na všetkých staniciach, ktoré sú definované v skupine mysql-servers hostgroup. |
---|---|
Reštartovaním systému nagios sa zapne kontrolovanie MySQL serverov.
sudo /etc/init.d/nagios3 restart
Nakoniec nastavíme NRPE aby kontroloval voľné miesto na disku na stanici server02.
Na stanici
server01 pridáme nastavenie kontroly služby do súboru /etc/nagios3/conf.d/server02.cfg
:
# NRPE disk check.
define service {
use generic-service
host_name server02
service_description nrpe-disk
check_command check_nrpe_1arg!check_all_disks!172.18.100.101
}
Teraz na stanici server02 otvoríme súbor /etc/nagios/nrpe.cfg
a zmeníme:
allowed_hosts=172.18.100.100
a nižšie do časti command pridáme:
command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e
Nakoniec reštartujeme nagios-nrpe-server:
sudo /etc/init.d/nagios-nrpe-server restart
A tiež na stanici server01 reštartujeme nagios:
sudo /etc/init.d/nagios3 restart
Teraz by sme mali vidieť kontrolované stanice a služby v Nagios CGI súboroch. Dostaneme sa ku nim pomocou prehliadača, zadaním adresy http://server01/nagios3. Po načítaní stránky bude potrebné zadať nagiosadmin ako meno používateľa a heslo, ktoré sme mu nastavili pri inštalácii.
Táto časť obsahuje iba základné predstavenie funkcií systému Nagios. Rozšírenia nagios-plugins-extra a nagios-snmp-plugins obsahujú omnoho viac nástrojov na kontrolu služieb.
Viac informácii sa nachádza na domovskej stránke systému Nagios.
Najmä stránka Online Documentation.
Existuje tiež zoznam kníh súvisiacich so systémom Nagios a monitorovaním siete:
Viac podrobností sa nachádza aj na stránke Nagios Ubuntu Wiki.
Pred nainštalovaním systému Munin na server01 musí byť nainštalovaný webový server apache2. Predvolená konfigurácia webového servera vyhovuje systému munin. Viac informácii sa nachádza v časti HTTPD - webový server Apache2.
Najskôr na stanicu server01 nainštalujeme munin. Do príkazového riadka zadáme:
sudo apt-get install munin
Teraz na stanicu server02 nainštalujeme balík munin-node:
sudo apt-get install munin-node
Na stanici server01 otvoríme súbor /etc/munin/munin.conf
a pridáme IP adresu stanice server02:
## First our "normal" host.
[server02]
address 172.18.100.101
![]() |
Položky server02 a 172.18.100.101 nahraďte názvom a IP adresou vášho servera. |
---|---|
Potom nastavíme munin-node na stanici server02. Otvoríme súbor
/etc/munin/munin-node.conf
a povolíme prístup zo stanice server01:
allow ^172\.18\.100\.100$
![]() |
Položku ^172\.18\.100\.100$ nahraďte IP adresou stanice, na ktorej je nainštalovaný munin. |
---|---|
Teraz reštartujeme munin-node na stanici server02, aby sa zmeny prejavili:
sudo /etc/init.d/munin-node restart
Nakoniec v prehliadači zadáme adresu http://server01/munin a mali by sme vidieť odkazy na pekne graficky spracované informácie zo štandardnej sady rozšírení munin-plugins, zobrazujúce stav disku, siete, procesov a systému.
![]() |
Vzhľadom na to, že ide o čerstvú inštaláciu, môže chvíľu trvať kým sa na grafoch zjaví niečo užitočné. |
---|---|
Balík munin-plugins-extra obsahuje ďalšie nástroje na sledovanie výkonu služieb akými sú napríklad DNS, DHCP, Samba, atď.. Ak chceme tento balík nainštalovať, do príkazového riadka zadáme:
sudo apt-get install munin-plugins-extra
Tento balík je potrebné nainštalovať na oboch počítačoch.
Viac informácií sa dozviete na domovskej stránke systému Munin.
Najmä na stránke Munin Documentation, ktorá obsahuje aj informácie ďalších rozšíreniach.
Existuje aj kniha v nemeckom jazyku vydaná Open Source Press: Munin Graphisches Netzwerk- und System-Monitoring.
Ďalším zdrojom je stránka Munin Ubuntu Wiki.
Web server je softvér zodpovedný za prijímanie HTTP požiadaviek od klientov, ktoré sú známe pod menom webové prehliadače, tieto požiadavky spracuje a pošle HTTP odpovede obsahujúce dáta, ktorými sú zvyčajne webové stránky v tvare HTML dokumentov spolu s pripojenými objektami (obrázky, atď.).
Apache je najčastejšie používaný webový server v systéme Linux. Webové servery sa používajú na spracovanie webových stránok, ktoré si vyžiadajú klientské počítače. Klienti, ktorí odosielajú typické požiadavky a zobrazujú webové stránky, sú webové prehliadače ako Firefox, Opera alebo Mozilla.
Používateľ zadá URL adresú (Uniform Resource Locator), ktorá smeruje na webový server podľa FQDN mena domény (Fully Qualified Domain Name) a cesty k žiadanému zdroju. Napríklad, ak chceme zobraziť domovskú stránku Ubuntu, stačí zadať iba názov domény FQDN. Ak by sme chceli konkrétne informácie o platenej podpore, je potrebné zadať názov domény FQDN a za ním cestu.
Najčastejšie využívaný protokol na prenos webových stránok je Hyper Text Transfer Protocol (HTTP). Podporované sú tiež protokoly ako Hyper Text Transfer Protocol cez Secure Sockets Layer (HTTPS) a File Transfer Protocol (FTP) - protokol na nahrávanie a sťahovanie súborov.
Webový server Apache sa často používa v kombinácií s databázou MySQL a skriptovacím jazykom Hypertextový preprocesor (PHP) a inými populárnymi skriptovacími jazykmi ako Python a Perl. Takáto konfigurácia sa nazýva LAMP (Linux, Apache, MySQL a Perl/Python/PHP) a je mocnou a robustnou platformou slúžiacou na vývoj a nasadenie webových aplikácií.
V systéme Ubuntu Linux je dostupný Webový server Apache2. Apache2 nainštalujeme takto:
V príkazovom riadku zadáme nasledujúci príkaz:
sudo apt-get install apache2
Apache2 sa konfiguruje pomocou direktív v textových konfiguračných súboroch. Konfiguračné súbory sú rozdelené do nasledujúcich súborov a priečinkov:
apache2.conf: hlavný konfiguračný súbor Apache2. Obsahuje globálne nastavenia pre Apache2.
conf.d: obsahuje konfiguračné súbory, ktoré sa aplikujú globálne pre Apache. Ostatné balíky, ktoré používajú Apache2 na spracovanie obsahu, sem môžu pridať súbory alebo symbolické odkazy na svoje priečinky.
envvars: súbor, v ktorom sú nastavené premenné prostredia Apache2.
httpd.conf: predošlý hlavný konfiguračný súbor Apache2 pomenovaný podľa démona httpd. Súbor sa dá využiť na nastavenie používateľsky závislých nastavení, ktoré majú globálny efekt na Apache2.
mods-available: (dostupné moduly) tento priečinok obsahuje moduly, ktoré je možné načítať a obsahuje aj ich konfiguračné súbory. Všetky moduly však nemajú svoj konfiguračný súbor.
mods-enabled: (povolené moduly) uchováva symbolické odkazy na súbory v priečinku /etc/apache2/mods-available
. Ak pridáme do tohto priečinka symbolický odkaz na konfiguračný súbor modulu, ten sa zapne pri ďalšom štarte apache2.
ports.conf: obsahuje direktívy určujúce, na ktorých TCP portoch bude Apache2 načúvať.
sites-available: (dostupné weby) tento priečinok obsahuje konfiguračné súbory pre tz. Virtual Hosts - Virtuálne stanice. Virtuálne stanice umožňujú nakonfigurovať Apache2 tak, aby poskytoval viacero stránok s osobitnou konfiguráciou.
sites-enabled: (povolené weby) podobne ako pri mods-enabled, sites-enabled
obsahuje symbolické odkazy do priečinka /etc/apache2/sites-available
. Ak je do tohto priečinka pridaný odkaz na konfiguračný súbor v
sites-available, aktivuje sa pri najbližšom štarte servera Apache.
Okrem týchto konfiguračných súborov môžeme začleniť aj ďalšie pomocou direktívy Include. Dá sa pridať i viacero súborov naraz zadaním masky súborov. Do takýchto súborov môžeme umiestniť akúkoľvek direktívu. Zmeny v hlavných konfiguračných súboroch sa prejavia iba pri štarte alebo reštarte servera Apache.
Server tiež číta súbor obsahujúci mime typy dokumentov;
meno súboru sa nastavuje pomocou direktívy TypesConfig a v predvolenom stave je v
/etc/mime.types
.
Táto časť hovorí o základných konfiguračných parametroch servera Apache2. Detailnejší popis sa nachádza na stránke Apache2 Documentation.
Apache2 sa dodáva s konfiguráciou vhodnou pre vytvorenie virtuálnych staníc.
To znamená, že je nakonfigurovaný ako jedna predvolená virtuálna stanica (pomocou direktívy VirtualHost), ktorú môžeme upraviť, použiť ju ako je, ak chceme len jednu stránku alebo ju použiť ako šablónu pre vytvorenie ďalších webov. Ak konfiguráciu nezmeníme, predvolená virtuálna stanica bude slúžiť aj ako predvolená stránka - čiže stránka, ktorú používatelia uvidia, ak zadajú URL adresu, ktorá sa nezhoduje s direktívou ServerName žiadnej našej stránky. Ak chceme upraviť virtuálnu stanicu, môžeme to urobiť v súbore
/etc/apache2/sites-available/default
.
![]() |
Direktívy nastavené pre virtuálnu stanicu sa vzťahujú iba na konkrétnu virtuálnu stanicu. Ak je direktíva nastavená pre celý server a nie je definovaná v nastaveniach virtuálnej stanice, použijú sa predvolené nastavenia. Napríklad, ak definujeme emailovú adresu Webmastera a nedefinujeme individuálne emailové adresy pre každú virtuálnu stanicu. |
---|---|
Ak chceme nakonfigurovať nový web alebo virtuálnu stanicu, skopírujeme nasledujúci súbor do toho istého priečinka pod iným názvom. Napríklad:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mojastranka
Otvoríme nový súbor a nakonfigurujeme novú stránku pomocou nižšie opísaných direktív.
Direktíva ServerAdmin definuje emailovú adresu administrátora servera. Predvolená hodnota je webmaster@localhost. Túto hodnotu môžeme nahradiť našou emailovou adresou (ak sme administrátor servera). Ak sa na webe vyskytne problém, Apache2 zobrazí chybové hlásenie, ktorého súčasťou bude aj emailová adresa, na ktorú sa má problém nahlásiť. Túto direktívu nájdeme v konfiguračnom súbore stránky v priečinku /etc/apache2/sites-available.
Direktíva Listen určuje port a voliteľne aj IP adresy, na ktorých by mal Apache2 načúvať. Ak IP adresa nie je zadaná, bude Apache2 načúvať na všetkých IP adresách priradených počítaču.
Predvolená hodnota direktívy Listen je 80. Zmenou tejto hodnoty na
127.0.0.1:80 spôsobíme, že Apache2 bude načúvať iba na rozhraní spätnej väzby a nebude dostupný z Internetu. Pri zmene (napríklad) na 81, môžeme zmeniť port, na ktorom načúva alebo toto nastavenie ponecháme nezmenené, čo zaistí normálnu prevádzku. Túto direktívu môžeme nájsť a zmeniť v jej vlastnom súbore
/etc/apache2/ports.conf
Direktíva ServerName je voliteľná a určuje, na aké mená domén FQDN bude server reagovať. Predvolená virtuálna stanica nemá direktívu ServerName
určenú, preto reaguje na všetky požiadavky, ktoré sa nezhodujú so žiadnou direktívou ServerName v ostatných virtuálnych staniciach. Ak máme prenajatú doménu ubunturocks.com a chceme ju poskytovať z nášho Ubuntu servera, hodnota direktívy ServerName v konfigurácii našej virtualnej stanici by mala byť ubunturocks.com. Túto direktívu pridám do súboru novej virtualnej stanice, ktorú sme si vytvorili
(/etc/apache2/sites-available/mojastranka
).
Pravdepodobne budeme chcieť, aby stránka reagovala aj na www.ubunturocks.com, pretože veľa používateľov automaticky zapisuje adresu s predponou www. Na tento účel môžeme použiť direktívu ServerAlias. V direktíve ServerAlias je možné použiť aj masku.
Napríklad nasledujúca konfigurácia spôsobí, že server bude reagovať na akúkoľvek doménu končiacu .ubunturocks.com.
ServerAlias *.ubunturocks.com
Direktíva DocumentRoot určuje, kde má Apache hľadať súbory tvoriace webovú stránku. Predvolená hodnota je /var/www. Na tomto mieste nie je síce nahraná žiadna stránka, ale ak odkomentujeme direktívu RedirectMatch v súbore /etc/apache2/apache2.conf
, požiadavky budú presmerované do priečinka /var/www/apache2-default, v ktorom sa nachádza predvolená stránka Apache2. Pri tvorbe nového webu zmeníme túto hodnotu v súbore virtuálnej stanice a ak to bude potrebné, vytvoríme aj nový priečinok, do ktorého umiestnime súbory tvoriace webovú stránku.
Priečinok /etc/apache2/sites-available (priečinok s dostupnými webmi) Apache2 nespracováva. Aby sa konfigurácia spracovala, je potrebné vytvoriť symbolický odkaz v priečinku /etc/apache2/sites-enabled (priečinok s povolenými webmi) na konfiguračný súbor v priečinku "dostupných" webov.
Novú virtuálnu stanicu - VirtualHost povolíme pomocou nástroja a2ensite a reštartujeme Apache:
sudo a2ensite mojastranka
sudo /etc/init.d/apache2 restart
![]() |
Slovné spojenie mojastranka môžete nahradiť príznačnejším menom virtuálnej stanice. Jednou z metód je pomenovať súbor rovnakým menom aké zadefinujete v direktíve ServerName. |
---|---|
Podobne môžeme pomocou nástroja a2dissite webovú stránku vypnúť. Toto môže byť užitočné pri riešení problémov s konfiguráciami viacerých virtuálnych staníc:
sudo a2dissite mojastranka
sudo /etc/init.d/apache2 restart
Táto časť hovorí o konfigurácii predvolených nastavení servera Apache2. Napríklad, ak pridáme virtuálnu stanicu, nastavenia, ktoré pre ňu nakonfigurujeme, majú pre danú virtuálnu stanicu prednosť. Ak niektorú direktívu v nastaveniach virtuálnej stanice nedefinujeme, použije sa predvolená hodnota.
DirectoryIndex je predvolená stránka spracovávaná serverom, keď používateľ požiada o zoznam priečinkov tým, že adresu ukončí lomítkom (/).
Napríklad ak používateľ požiada o stránku
http://www.nieco.sk/tento_priecinok/, zobrazí sa mu stránka definovaná v DirectoryIndex, ak existuje. Ak neexistuje a je nastavená možnosť Indexes, zobrazí sa zoznam priečinkov.V prípade, že ani táto možnosť nie je nastavená, zobrazí sa stránka Permission Denied (prísup zakázaný). Server sa pokúsi nájsť jeden zo súborov definovaných direktívou DirectoryIndex a vráti prvý, ktorý nájde. Ak žiadny nenájde a je nastavené Options Indexes pre tento priečinok, server vygeneruje a vráti zoznam podpriečinkov a súborov v HTML formáte. Predvolená hodnota v súbore
/etc/apache2/mods-available/dir.conf
je "
index.html, index.cgi, index.pl, index.php, index.xhtml".
Takže ak Apache2 vo vyžiadanom priečinku nájde súbor, ktorý súhlasí s jedným z týchto mien, zobrazí ten.
Direktíva ErrorDocument umožňuje určiť súbor, ktorý Apache použije v prípade, že nastane určitá chyba. Napríklad, ak používateľ požiada o zdroj, ktorý neexistuje, nastane chyba 404 a pri predvolenej konfigurácii server Apache2 zobrazí súbor /usr/share/apache2/error/HTTP_NOT_FOUND.html.var
. Tento súbor sa nenachádza na mieste definovanom v DocumentRoot, ale pomocou direktívy Alias v súbore
/etc/apache2/apache2.conf
je priečinok /usr/share/apache2/error/
presmerovaný do priečinka /error.
Ak chceme zobraziť predvolené direktívy ErrorDocument použijeme tento príkaz:
grep ErrorDocument /etc/apache2/apache2.conf
V predvolenom stave server zaznamenáva údaje o prenose do súboru
/var/log/apache2/access.log
. Túto možnosť môžeme zmeniť pre každý web osobitne v konfigurácii virtuálnej stanice pomocou direktívy CustomLog alebo pri jej vynechaní použiť predvolenú cestu definovanú v súbore /etc/apache2/apache2.conf
. Prostredníctvom direktívy ErrorLog môžeme určiť tiež súbor, do ktorého sa budú zaznamenávať chyby. Predvolená hodnota tejto direktívy je /var/log/apache2/error.log
. Takéto nastavenie nám umožní oddeliť informácie o prenosoch od záznamov potrebných na riešenie problémov so serverom Apache2. Môžeme tiež určiť podrobnosť výpisov pomocou LogLevel (predvolená hodnota je "warn" (varovanie)) a formát záznamov pomocou LogFormat (predvolená hodnota je nastavená v súbore /etc/apache2/apache2.conf
).
Niektoré možnosti sú miesto webov definované pre konkrétne priečinky. Jednou z takýchto direktív je Options. Nastavenia konkrétnych priečinkov sú uzatvorené do značiek Directory podobných značkám XML:
<Directory /var/www/mojastranka>
...
</Directory>
V direktíve Options uzavretej v značkách Directory môžeme použiť jednu alebo viacero z nasledujúcich hodnôt (okrem ďalších), oddelených medzerou:
ExecCGI - povoľuje spúšťanie CGI skriptov. CGI skripty sa nebudú spúšťať, ak táto možnosť nie je zadaná.
![]() |
Vo väčšine súborov by nemalo byť povolené spúšťanie CGI skriptov. Toto nastavenie môže byť veľmi nebezpečné. CGI skripty by sa mali nachádzať v samostatnom priečinku, mimo priečinka definovaného ako DocumentRoot a iba tento priečinok by mal mať nastavenú možnosť ExecCGI. Štandardné umiestnenie priečinka pre CGI skripty je |
---|---|
Includes - Povoľuje začleňovanie na strane servera. Začleňovanie na strane servera umožňuje do HTML súboru začleniť iné súbory. Toto nie je bežná voľba. Viac informácii sa nachádza na stránke the Apache2 SSI HOWTO.
IncludesNOEXEC - Povoľuje začleňovanie na strane servera, ale vypína príkazy #exec #include v CGI skriptoch.
Indexes - Zobrazí formátovaný zoznam priečinkov a súborov v prípade, ak nie sú v priečinku súbory definované direktívou DirectoryIndex (ako napríklad index.html).
![]() |
Z bezpečnostného hľadiska by táto možnosť nemala byť nastavená a rozhodne by nemala byť použitá v priečinku nastavenom ako DocumentRoot (hlavný priečinok webu). Túto možnosť nastavte iba v priečinkoch, v ktorých chcete používateľovi povoliť vidieť obsah priečinka. |
---|---|
Multiview - Podporuje súčasné zobrazenie súvisiaceho obsahu. Táto možnosť je v predvolenom stave kvôli bezpečnosti vypnutá. Viac informácií je na stránke Apache2 documentation on this option.
SymLinksIfOwnerMatch - Prechádza symbolické odkazy, iba ak má cieľový priečinok nastaveného rovnakého vlastníka ako odkaz.
Táto časť hovorí o niektorých základných nastaveniach démona httpd.
LockFile - Direktíva LockFile nastavuje cestu uzamykaciemu súboru lockfile, ktorý sa používa, ak bol server zostavený buď s voľbou USE_FCNTL_SERIALIZED_ACCEPT alebo USE_FLOCK_SERIALIZED_ACCEPT. Musí byť uložený na lokálnom disku. Tu by sme mali ponechať predvolenú hodnotu, ak cesta k priečinku so záznamami nesmeruje na zdieľaný NFS disk. Ak smeruje, mali by sme hodnotu zmeniť tak, aby umiestnenie na disku mohol čítať iba používateľ root.
PidFile - Direktíva PidFile nastavuje súbor, do ktorého server zaznamenáva čísla svojich procesov - process ID (pid). Tento súbor by mal byť čitateľný iba používateľom root. Vo väčšine prípadov by sme mali ponechať predvolenú hodnotu.
User - Direktíva User nastavuje číslo používateľa - userid, ktorý sa použije pri odpovediach na požiadavky. Toto nastavenie určuje prístup k serveru. Akékoľvek súbory, ktoré nie sú dostupné pre tohto používateľa, nebudú dostupné ani pre návštevníkov webu. Predvolená hodnota je pre direktívu User je www-data.
![]() |
Bez toho, aby ste presne vedeli čo robíte, nenastavujte direktívu User na root. Ak použijeme používateľa root ako hodnotu pre User, vytvoríme tým veľké bezpečnostné diery vo webovom serveri. |
---|---|
Direktíva Group je podobná ako direktíva User. Group (skupina) nastavuje skupinu, pod ktorou server odpovedá na požiadavky. Predvolená skupina je rovnako www-data.
Apache je modulárny server. To znamená, že do jadra servera sú zabudované iba tie najzákladnejšie funkcionality. Ďalšie funkcie sú dostupné prostredníctvom modulov, ktoré sa do servera Apache dajú nahrať. V predvolenom stave je počas kompilovania začlenená základná sada modulov. Ak je server skompilovaný tak, aby používal dynamicky nahrávané moduly, potom moduly môžu byť skompilované samostatne a kedykoľvek pridané prostredníctvom direktívy LoadModule. V opačnom prípade je potrebné pri pridávaní a odoberaní modulov Apache znova prekompilovať.
Ubuntu používa Apache2, ktorý umožňuje dynamické nahrávanie modulov. Konfiguračné direktívy môžu byť podmienené prítomnosťou konkrétnych modulov uzavretím do bloku <IfModule>.
Môžeme nainštalovať dodatočné moduly Apache2 a použiť ich s naším webovým serverom. Napríklad, ak by sme chceli nainštalovať modul na autentifikáciu do MySQL - MySQL Authentication, zadáme príkaz:
sudo apt-get install libapache2-mod-auth-mysql
Nainštalované moduly môžeme nájsť v priečinku /etc/apache2/mods-available
.
Ak chceme modul zapnúť, použijeme nástroj a2enmod:
sudo a2enmod auth_mysql
sudo /etc/init.d/apache2 restart
Podobne ich pomocou nástroja a2dismod môžeme vypnúť:
sudo a2dismod auth_mysql
sudo /etc/init.d/apache2 restart
Modul mod_ssl pridá do servera Apache2 dôležitú funkciu - schopnosť šifrovať komunikáciu. Vďaka tomu s ním prehliadač môže komunikovať cez SSL, použitím predpony https:// na začiatku URL adresy (Uniform Resource Locator) v navigačnej lište prehliadača.
Modul mod_ssl je dostupný v balíku apache2-common. Modul mod_ssl zapneme tak, že do príkazového riadku napíšeme:
sudo a2enmod ssl
Predvolená konfigurácia HTTPS sa nachádza v súbore /etc/apache2/sites-available/default-ssl
.
Aby server Apache mohol poskytovať HTTPS,
je potrebné mať ešte súbory s certifikátom a kľúčom. Predvolená HTTPS
konfigurácia použije certifikát a kľúč vygenerovaný balíkom ssl-cert. Ten je vhodný pre testovanie, ale automaticky vygenerovaný certifikát a kľúč by mali byť nahradené certifikátom a kľúčom pre konkrétny web alebo server. Viac informácií o generovaní kľúča a získaní certifikátu sa nachádza v časti “Certifikáty”.
Ak chceme nakonfigurovať Apache tak, aby používal HTTPS, zadáme :
sudo a2ensite default-ssl
![]() |
Za predvolené umiestnenia súborov s certifikátom a kľúčom sa považujú priečinky |
---|---|
Apache, ktorý je teraz nakonfigurovaný pre použitie HTTPS, je potrebné reštartovať, aby sa nová konfigurácia prejavila:
sudo /etc/init.d/apache2 restart
![]() |
V závislosti od toho, ako ste získali certifikát, bude potrebné zadať vstupnú frázu pri štartovaní servera Apache. |
---|---|
Teraz môžeme otestovať správne nastavenie zadaním adresy https://nazov_stanice/url/ v prehliadači.
Stránka Apache2 Documentation obsahuje podrobné informácie o konfiguračných direktívach Apache2. Oficiálna dokumentácia k serveru Apache sa nachádza aj v balíku apache2-doc.
Viac informácií o SSL sa nachádza na stránke Mod SSL Documentation.
Dobrým zdrojom o konkrétnych spôsoboch nastavenia servera je aj O'Reillyho Apache Cookbook.
Otázky súvisiace s nastavením servera Apache2 v Ubuntu môžete položiť v IRC kanále #ubuntu-server IRC na freenode.net.
Dobrým zdrojom je i stránka Apache MySQL PHP Ubuntu Wiki, ktorá popisuje často používanú integráciu so systémami PHP a MySQL.
PHP je všeobecný skriptovací jazyk zameraný na vytváranie webových aplikácií. PHP skript sa dá začleniť do HTML. Táto časť vysvetľuje, ako nainštalovať a nakonfigurovať PHP5 v systéme Ubuntu so systémami Apache2 a MySQL.
Táto časť predpokladá, že už máme nainštalovaný a nakonfigurovaný webový server Apache 2 a databázový server MySQL. Návod, ako tieto systémy nainštalovať a nakonfigurovať, nájdeme v častiach Apache2 a MySQL tejto príručky.
Systém PHP5 je dostupný aj v systéme Ubuntu Linux.
Ak chceme nainštalovať PHP5, môžeme zadať nasledujúci príkaz do príkazového riadka:
sudo apt-get install php5 libapache2-mod-php5
PHP5 skripty môžeme spustiť aj v príkazovom riedku. Aby sme mohli spúšťať PHP5 skripty v príkazovom riadku, je potrebné nainštalovať balík php5-cli. Balík php5-cli nainštalujeme pomocou nasledujúceho príkazu:
sudo apt-get install php5-cli
PHP5 skripty môžeme spúšťať aj bez nainštalovaného modulu PHP5 pre Apache. Aby to bolo možné, je potrebné nainštalovať balík php5-cgi. Balík php5-cgi nainštalujeme nasledujúcim príkazom:
sudo apt-get install php5-cgi
Aby bolo možné prepojiť databázu MySQL s PHP5, je potrebné nainštalovať balík php5-mysql. Balík php5-mysql môžeme nainštalovať zadaním tohto príkazu:
sudo apt-get install php5-mysql
Rovnako môžeme prepojiť databázu PostgreSQL s PHP5 tak, že nainštalujeme balík php5-pgsql. Balík php5-pgsql nainštalujeme zadaním príkazu:
sudo apt-get install php5-pgsql
Po nainštalovaní PHP5 môžeme spúšťať PHP5 skripty z webového prehliadača. Ak sme nainštalovali balík php5-cli, môžeme PHP5 skripty spúšťať aj v príkazovom riadku.
V predvolenom stave je webový server Apache 2 nakonfigurovaný tak, aby spúšťal PHP5
skripty. Inak povedané, modul PHP5 sa vo webovom serveri Apache2
automaticky zapne po nainštalovaní modulu. Stačí overiť, či existujú súbory /etc/apache2/mods-enabled/php5.conf
a
/etc/apache2/mods-enabled/php5.load
. Ak neexistujú, môžeme modul zapnúť pomocou príkazu
a2enmod.
Po nainštalovaní balíkov súvisiacich s PHP5 a po zapnutí modulu PHP5 pre Apache 2 by sme mali webový server reštartovať, aby bol schopný spúšťať PHP5 skripty. Webový server reštartujeme tak, že spustíme nasledujúci príkaz:
sudo /etc/init.d/apache2 restart
Aby sme overili funkčnosť inštalácie, môžeme spustiť PHP5 skript s funkciou phpinfo:
<?php
print_r (phpinfo());
?>
Tento text uložíme do súboru phpinfo.php
a umiestnime do priečinka DocumentRoot (hlavný priečinok webu) webového servera Apache2. Ak do prehliadača zadáme adresu
http://nazovstanice/phpinfo.php
, mali by sa zobraziť hodnoty rôznych konfiguračných nastavení PHP5.
Viac detailnejších informácií sa nachádza v dokumentácii na stránke php.net.
Existuje nespočetné množstvo kníh o PHP. Dve veľmi dobré knihy od O'Reillyho sú Learning PHP 5 a PHP Cook Book.
Viac informácií sa môžeme dozvedieť aj na stránke Apache MySQL PHP Ubuntu Wiki.
Squid je funkciami nabitý webový sprostredkovateľský (proxy) server s vyrovnávacou pamäťou, ktorý poskytuje službu sprostredkovania služieb (proxy) a službu dočasného ukladania súborov do vyrovnávacej pamäte (cache) pre protokoly Hyper Text Transport Protocol (HTTP), File Transfer Protocol (FTP) a iné populárne sieťové protokoly. Squid vie služby poskytovať aj prostredníctvom šifrovaného spojenia cez Secure Sockets Layer (SSL) a može dočasne ukladať aj Domain Name Server (DNS) záznamy a vykonávať tzv. transparentné ukladanie do vyrovnávacej pamäte. Squid tiež podporuje najrôznejšie protokoly pre riadenie ukladania do vyrovnávacej pamäte ako napríklad Internet Cache Protocol (ICP), Hyper Text Caching Protocol (HTCP), Cache Array Routing Protocol (CARP) a Web Cache Coordination Protocol (WCCP).
Sprostredkovateľský server Squid s vyrovnávacou pamäťou je excelentné riešenie pri potrebe nasadenia najrôznejších typov sprostredkujúcich serverov a serverov s vyrovnávacou pamäťou, ktoré sa hodí pre menšie kancelárie ale aj komplikované siete veľkých podnikov, pretože poskytuje granulárny mechanizmus riadenia pristupu a monitorovanie kritických parametrov cez Simple Network Management Protocol (SNMP). Pri výbere počítačového systému, ktorý má slúžiť pre účely servera Squid je dôležité vybrať systém s veľkou kapacitou fyzickej pamäte (RAM), pretože Squid udrživa vyrovnávaciu pamäť vo fyzickej pamäti, aby zvýšil výkon.
Ak chceme nainštalovať server Squid, v príkazovom riadku zadáme:
sudo apt-get install squid
Squid sa konfiguruje pomocou direktív, ktoré sa nachádzajú v konfiguračnom súbore /etc/squid/squid.conf
. Nasledujúce príklady ilustrujú ako jednotlivé direktívy môžu ovplyvniť správanie servera Squid. Viac informácií o konfigurácii servera Squid sa nachádza na stránke Squid Website.
![]() |
Pred úpravou akéhokoľvek konfiguračného súboru by ste si mali vytvoriť kópiu originálneho súboru a nastaviť ho iba na čítanie, aby ste mohli nastavenia porovnať s pôvodnými hodnotami a v prípade potreby ich vrátiť späť. Vytvorte kópiu súboru |
---|---|
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.original
sudo chmod a-w /etc/squid/squid.conf.original
Ak chceme nastaviť Squid server tak, aby načúval na TCP porte 8888 miesto predvoleného TCP portu 3128, zmeníme direktívu http_port:
http_port 8888
Zmenou direktívy visible_hostname priradíme serveru Squid určitý názov stanice. Tento názov sa nemusí nevyhnutne zhodovať s menom počítača. V tomto príklade sme nastavili weezie
visible_hostname weezie
Použitím funkcie servera Squid na riadenie prístupu, môžeme nastaviť sprostredkovanie internetových služieb serverom Squid tak, aby boli dostupné iba používateľom s určitou IP adresou. Môžeme si to ukázať na príklade používateľov z podsiete 192.168.42.0/24:
Nasledujúci riadok pridáme na koniec časti označenej ako ACL v súbore /etc/squid/squid.conf
:
acl styridsatdvojkova_siet src 192.168.42.0/24
Potom pridáme nasledujúci riadok na začiatok časti označenej ako http_access v súbore
/etc/squid/squid.conf
:
http_access allow styridsatdvojkova_siet
Použitím výnimočných funkcií servera Squid na riadenie prístupu môžeme nastaviť sprostredkovanie internetových služieb serverom Squid tak, aby boli dostupné iba počas pracovnej doby. Ukážeme si to na zamestnancoch, ktorí sú v práci od 7:00 do 15:00PM, v pracovných dňoch týždňa, ktorých počítače patria do podsiete 10.1.42.0/42:
Nasledujúce riadky pridáme na koniec časti označenej ako ACL v súbore /etc/squid/squid.conf
:
acl podsiet_firmy src 10.1.42.0/24
acl pracovny_cas time M T W T F 9:00-17:00
Potom pridáme nasledujúci riadok na začiatok časti označenej ako http_access v súbore
/etc/squid/squid.conf
:
http_access allow podsiet_firmy pracovny_cas
![]() |
Po vykonaní zmien v súbore |
---|---|
sudo /etc/init.d/squid restart
Ruby on Rails je otvorená webová sada nástrojov na vývoj webových aplikácií s databázovým pozadím. Je optimalizovaná pre udržanie produktivity programátora, pretože programátorovi umožňuje písať kód uprednostňovaním konvencií pred prácnym konfigurovaním.
Pred nainštalovaním Rails by sme mali mať už nainštalované servery Apache a MySQL. Návod na inštaláciu servera Apache sa nachádza v časti HTTPD - webový server Apache2. Pokyny na inštaláciu MySQL sa zasa nachádzajú v časti MySQL.
Po nainštalovaní servera Apache a MySQL, môžeme nainštalovať balík Ruby on Rails.
Ak chceme nainštalovať základné Ruby balíky a Ruby on Rails, môžeme to urobiť zadaním nasledujúceho príkazu do príkazového riadka:
sudo apt-get install rails
Otvoríme súbor /etc/apache2/sites-available/default
, v ktorom upravíme nastavenie domén.
Najprv upravíme direktívu DocumentRoot:
DocumentRoot /cesta/k/rails/aplikacii/public
Potom zmeníme direktívu <Directory "/cesta/k/rails/aplikacii/public">:
<Directory "/cesta/k/rails/aplikacii/public">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
allow from all
AddHandler cgi-script .cgi
</Directory>
Mali by sme tiež zapnúť modul mod_rewrite pre Apache. Modul mod_rewrite zapneme tak, že zadáme nasledujúci príkaz:
sudo a2enmod rewrite
Nakoniec je potrebné zmeniť vlastníctvo priečinkov /cesta/k/rails/aplikacii/public
a /cesta/k/rails/aplikacii/tmp
na používateľa, pod ktorým je spustená služba
Apache:
sudo chown -R www-data:www-data /cesta/k/rails/aplikacii/public
sudo chown -R www-data:www-data /cesta/k/rails/aplikacii/tmp
To je všetko! Teraz je server pripravený na spúšťanie Ruby on Rails aplikácií.
Viac informácií sa nachádza na stránke Ruby on Rails.
Výborným zdrojom je tiež Agile Development with Rails.
Ďalším miestom, kde môžeme získať ďalšie informácie, je stránka Ruby on Rails Ubuntu Wiki.
Apache Tomcat je webový kontajner, ktorý umožňuje spracovať webové aplikácie vo forme Java Servlets a JSP (Java Server Pages).
Balíky systému Tomcat 6.0 v Ubuntu podporujú dva rôzne spôsoby spustenia systému Tomcat. Môžeme ho nainštalovať ako bežnú samostatnú inštanciu systému, ktorá sa spustí pri štarte systému pod obmedzeným používateľom tomcat6. Ale môžeme ho zaviesť aj ako súkromnú inštanciu s vlastnými používateľskými právami, a spúšťať a zastavovať ho ručne. Tento druhý spôsob je vhodný ako server pre vývojárov, na ktorom si viacero používateľov potrebuje otestovať aplikáciu v súkromnej inštancii systému Tomcat.
Ak chceme nainštalovať server Tomcat, stačí zadať nasledujúci príkaz do príkazového riadka:
sudo apt-get install tomcat6
Tento príkaz nainštaluje server Tomcat s predvolenou webovou aplikáciou ROOT, ktorá iba zobrazí stránku s textom "It works" (funguje to).
Konfiguračné súbory systému Tomcat môžeme nájsť v priečinku
/etc/tomcat6
. V tejto časti povieme iba o najzákladnejších voľbách konfigurácie, viac informácii sa nahádza na stránke
Tomcat
6.0 documentation.
V predvolenom stave Tomcat 6.0 beží s HTTP konektorom, ktorý načúva na porte 8080 a s AJP konektorom, ktorý načúva na porte 8009. Toto predvolené nastavenie portov môžeme zmeniť, aby sme predišli konfliktu s iným serverom v systéme. Urobíme to zmenou nasledujúcich riadkov v súbore
/etc/tomcat6/server.xml
:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
V predvolenom stave Tomcat bude pre spúšťanie Java aplikácií preferovať virtuálny stroj OpenJDK-6, potom skúsi JVM od spoločnosti Sun, a potom skúsi ostatné JVM. Ak máte nainštalovaná viaceré virtuálne stroje JVM, môžete nastaviť, ktorý z nich má byť použitý pomocou nastavenia JAVA_HOME v súbore
/etc/default/tomcat6
:
JAVA_HOME=/usr/lib/jvm/java-6-sun
Meno používateľa, heslo a rolu (skupinu) môžete zadefinovať centrálne v kontaineri pre tzv. Servlety. V systéme Tomcat 6.0 sa to robí v súbore
/etc/tomcat6/tomcat-users.xml
:
<role rolename="admin"/>
<user username="tomcat" password="s3cret" roles="admin"/>
Tomcat sa dodáva s webovými aplikáciami, ktoré môžeme nainštalovať kvôli dokumentácii, administrácii alebo demo ukážkam.
Balík tomcat6-docs obsahuje dokumentáciu Tomcat 6.0 v tvare webovej aplikácie, ku ktorej sa dostaneme zadaním adresy http://nasserver:8080/docs. Môžeme ju nainštalovať zadaním nasledujúceho príkazu do príkazového riadka:
sudo apt-get install tomcat6-docs
Balík tomcat6-admin obsahuje dve webové aplikácie, ktoré môžeme použiť na administráciu servera Tomcat pomocou webového rozhrania. Môžeme ich nainštalovať tak, že zadáme nasledujúci príkaz:
sudo apt-get install tomcat6-admin
Prvou aplikáciou je manager, ku ktorému sa môžeme dostať zadaním adresy http://nasserver:8080/manager/html. Využíva sa najmä na získanie informácii o stave servera a reštartovanie webových aplikácií.
![]() |
Prístup do aplikácie manager je v predvolenom stave chránený: pred tým, ako sa ho pokúsite otvoriť, je potrebné zadefinovať používateľa s rolou "manager" v súbore |
---|---|
Druhou aplikáciou je host-manager, ktorý otvoríme zadaním adresy http://nasserver:8080/host-manager/html. Používa sa na dynamické vytváranie virtuálnych staníc.
![]() |
Prístup k aplikácii host-manager je tiež chránený: pred tým ako sa ho pokúsite otvoriť, je potrebné definovať používateľa s rolou "admin" v súbore
|
---|---|
Kvôli bezpečnosti používateľ tomcat6 v predvolenom stave nemôže zapisovať do priečinka /etc/tomcat6
. Niektoré funkcie týchto administrátorských aplikácií (application deployment, virtual host creation)
potrebujú zapisovať do tohto priečinka. Ak potrebujeme tieto funkcie spustiť, pridáme skupine tomcat6 potrebné práva:
sudo chgrp -R tomcat6 /etc/tomcat6
sudo chmod -R g+w /etc/tomcat6
Balík tomcat6-examples obsahuje dve webové aplikácie, ktoré sa dajú použiť na otestovanie a demonštrovanie funkcií Servletov a JSP, ktoré môžeme otvoriť zadaním adresy http://nasserver:8080/examples. Môžeme ich nainštalovať zadaním tohto príkazu:
sudo apt-get install tomcat6-examples
Tomcat sa často používa na vývoj a testovanie aplikácií, kde bežná inštalácia nepostačuje pre potreby viacerých používateľov. Balíky Tomcat 6.0 v Ubuntu obsahujú nástroj, ktorý každému používateľovi umožňuje spustiť svoju vlastnú inštanciu (bez oprávnenia používateľa root), pričom bude používať knižnice nainštalované v systéme.
![]() |
Je možné naraz spúšťať inštancie v bežnom režime aj v súkromnom režime, ak nepoužívajú rovnaké TCP porty. |
---|---|
Všetko potrebné na spusťanie súkromných inštancií nainštalujeme pomocou nasledujúceho príkazu:
sudo apt-get install tomcat6-user
Priečinok pre súkromnú inštanciu môžeme vytvoriť zadaním nasledujúceho príkazu do príkazového riadka:
tomcat6-instance-create moja-instancia
Príkaz vytvorí nový priečinok s názvom moja-instancia
so všetkými potrebnými podpriečinkami a skriptami.
Teraz môžeme napríklad nainštalovať potrebné knižnice do podpriečinka
lib/
a webové aplikácie umiestniť do podpriečinka
webapps/
. V predvolenom stave tam žiadna aplikácia nie je.
Privátna inštancia má bežné konfiguračné súbory pre Tomcat umiestnené v podpriečinku conf/
. Napríklad môžeme otvoriť súbor conf/server.xml
a zmeniť predvolené porty, ktoré bude súkromná inštancia systému Tomcat používať, aby sme sa vyhli konfliktu s ostatnými bežiacimi inštanciami.
Súkromnú inštanciu môžeme spustiť zadaním nasledujúceho príkazu do príkazového riadka (za predpokladu, že je umiestnená v priečinku moja-instancia
):
moja-instancia/bin/startup.sh
![]() |
Chybové hlásenia sa nachádzajú v podpriečinku |
---|---|
Inštanciu môžeme zastaviť zadaním nasledujúceho príkazu do príkazového riadka (za predpokladu, že je umiestnená v priečinku moja-instancia
):
moja-instancia/bin/shutdown.sh
Viac informácií je na stránke Apache Tomcat.
Tomcat: The Definitive Guide je dobrým zdrojom informácií o vytváraní webových aplikácií pomocou systému Tomcat.
Zoznam kníh s touto tematikou sa nachádza na stránke Tomcat Books.
Pozrieť si tiež môžeme stránku Ubuntu Wiki Apache Tomcat.
Ubuntu poskytuje dva populárne databázové servery:
MySQL™
PostgreSQL
Oba sú dostupné v hlavnom úložisku - zdroji softvéru. Táto časť hovorí o tom, ako nainštalovať a nakonfigurovať databázové servery.
MySQL je rýchly, viacvláknový, viacpoužívateľský a robustný SQL databázový server. Je určený pre úlohovo zamerané, vysoko vyťažené systémy ale je ho možné začleniť aj do masovo používaného softvéru.
Ak chceme nainštalovať MySQL, spustíme nasledujúci príkaz:
sudo apt-get install mysql-server
Počas inštalácie bude potrebné zadať heslo pre hlavného - root používateľa MySQL.
Po dokončení inštalácie by sa mal server MySQL spustiť automaticky. Ak chceme overiť, či je MySQL server spustený, zadáme:
sudo netstat -tap | grep mysql
Po spustení príkazu by sme mali vidieť výpis podobný tomuto:
tcp 0 0 localhost:mysql *:* LISTEN 2556/mysqld
Ak server nie je spustený správne, môžeme použiť nasledujúci príkaz, ktorým ho spustíme:
sudo /etc/init.d/mysql restart
Základné nastavenia môžeme zmeniť v súbore /etc/mysql/my.cnf
-- súbor so záznamom, číslo portu, atď. Ak napríklad chceme, aby MySQL
načúvalo spojeniu z vonkajších staníc, zmeníme nastavenie direktívy bind_address na IP adresu servera:
bind-address = 192.168.0.5
![]() |
Adresu 192.168.0.5 zmeňte na požadovanú adresu. |
---|---|
Po vykonaní zmeny v súbore /etc/mysql/my.cnf
je potrebné reštartovať mysql démon:
sudo /etc/init.d/mysql restart
Ak budeme chcieť v MySQL zmeniť heslo pre používateľa root, v príkazovom riadku zadáme:
sudo dpkg-reconfigure mysql-server-5.1
Démon mysql sa zastaví a potom sa objaví výzva na zadanie nového hesla.
Viac informácií sa dozviete na stránke MySQL Home Page.
Príručka MySQL Handbook je dostupná prostredníctvom balíka mysql-doc-5.0. Ak chceme nainštalovať tento balík, do príkazového riadka zadáme:
sudo apt-get install mysql-doc-5.0
Dokumentácia je vo formáte HTML, a ak ju chceme zobraziť, do prehliadača zadáme adresu file:///usr/share/doc/mysql-doc-5.0/refman-5.0-en.html-chapter/index.html.
Všeobecné informácie o SQL sa nachádzajú v knihe Using SQL Special Edition od Rafe Colburna.
Užitočné informácie sa nachádzajú aj na stránke Apache MySQL PHP Ubuntu Wiki.
PostgreSQL je objektovo-relačný databázový systém, ktorý má funkcie tradičných komerčných databázových systémov s vylepšeniami DBMS systémov ďalšej generácie.
Ak chceme nainštalovať PostgreSQL, spustíme nasledujúci príkaz v príkazovom riadku:
sudo apt-get install postgresql
Po dokončení inštalácie by sme mali prispôsobiť konfiguráciu servera PostgreSQL podľa našich potrieb, aj keď je predvolená konfigurácia plne funkčná.
V predvolenom stave je pripojenie cez TCP/IP zablokované. PostgreSQL podporuje viacero autentifikačných metód. Predvolená autentifikačná metóda IDENT sa používa na autentifikáciu používateľa postgres a lokálnych používateľov. Viac informácií sa nachádza na stránke the PostgreSQL Administrator's Guide.
V nasledujúcom zvyšku tejto časti budeme predpokladať, že chceme povoliť TCP/IP pripojenia a použiť metódu MD5 na autentifikáciu. Konfiguračné súbory PostgreSQL sú uložené v priečinku /etc/postgresql/<verzia>/main
. Napríklad ak nainštalujeme PostgreSQL 8.4, konfiguračné súbory budú uložené v priečinku
/etc/postgresql/8.4/main
.
![]() |
Konfiguráciu autentifikácie ident
môžete zmeniť pridaním záznamov do súboru |
---|
Ak chceme povoliť TCP/IP pripojenia, najskôr otvoríme súbor /etc/postgresql/8.4/main/postgresql.conf.
Potom
nájdeme riadok #listen_addresses = 'localhost' a odpoznámkujeme ho:
listen_addresses = 'localhost'
![]() |
Ak chcete povoliť ostatným počítačom pripojiť sa k serveru PostgreSQL nahraďte 'localhost' IP Adresou servera. |
---|
V tomto súbore môžeme upraviť aj ďalšie parametre, ak vieme čo robíme! Detaily sú uvedené v konfiguračnom súbore alebo v dokumentácii PostgreSQL.
Teraz, keď sa už môžeme pripojiť k nášmu PostgreSQL serveru, ďalším krokom bude nastavenie hesla pre používateľa postgres. Spustíme nasledujúci príkaz v príkazovom riadku a pripojíme sa k predvolenej PostgreSQL databáze template:
sudo -u postgres psql template1
Predchádzajúci príkaz sa pripojí k PostgreSQL databáze template1 ako používateľ postgres. Po pripojení k PostgreSQL serveru sa zobrazí príkazový riadok SQL. V tomto príkazovom riadku psql môžeme spustiť nasledujúci SQL príkaz na zmenu hesla pre používateľa.
ALTER USER postgres with encrypted password 'nase_heslo';
Po nastavení hesla otvoríme súbor /etc/postgresql/8.4/main/pg_hba.conf
a nastavíme použitie
MD5 autentifikácie pre používateľa postgres:
local all postgres md5 sameuser
Nakoniec reštartujeme službu PostgreSQL, aby sa nová konfigurácia inicializovala. Aby sa služba PostgreSQL reštartovala, v príkazovom riadku zadáme príkaz:
sudo /etc/init.d/postgresql-8.3 restart
![]() |
Vykonaná konfigurácia v žiadnom prípade ešte nie je hotová. O ďalších konfiguračných parametroch sa dozviete na stránke the PostgreSQL Administrator's Guide. |
---|
Výborným zdrojom, ako sme sa už zmienili, je stránka Administrator's Guide. Táto príručka je tiež dostupná v balíku postgresql-doc-8.4. Ak tento balík chceme nainštalovať, zadáme do príkazového riadka nasledujúci príkaz:
sudo apt-get install postgresql-doc-8.4
Príručku zobrazíme zadaním adresy file:///usr/share/doc/postgresql-doc-8.4/html/index.html do prehliadača.
Všeobecné informácie o SQL sa nachádzajú v knihe Using SQL Special Edition od Rafe Colburna.
LAMP inštalácie (Linux + Apache + MySQL + PHP) sú populárnym nastavením serverových aplikácií na serveroch Ubuntu. Existuje nespočetné množstvo otvorených aplikácií, ktoré používajú zostavu serverov LAMP. Medzi populárne LAMP aplikácie patria napríklad Wiki stránky, Redakčné systémy, a webové administračné rozhrania ako napríklad phpMyAdmin.
Jednou z výhod LAMP je možnosť nahradenia databázy, webového servera a skriptovacích jazykov inými systémami. Populárnou náhradou za MySQL sú databázy Posgresql a SQLite. Miesto PHP sa zasa často používajú jazyky Python, Perl a Ruby.
Tradičný spôsob, ako nainštalovať väčšinu LAMP aplikácií je takýto:
Stiahneme archív obsahujúci zdrojové súbory aplikácie.
Rozbalíme archív (zvyčajne do priečinka, ktorý je dostupný pre webový server).
V závislosti od toho, kam sme rozbalili zdrojové súbory, zadáme do webového prehliadača adresu.
Nastavíme aplikáciu tak, aby sa pripojila do databázy.
Spustíme skript alebo otvoríme stránku aplikácie, ktorá nainštaluje databázu, ktorú bude aplikácia potrebovať.
Po vykonaní týchto krokov (alebo podobných), môžeme začať používať aplikáciu.
Nevýhodou tohto prístupu je to, že aplikácia nie je umiestnená na štandardné miesto do súborového systému, čo môže spôsobiť zmätok. Ďalšia nevýhoda je aktualizácia aplikácie. Ak je uvolnená nová verzia aplikácie, je potrebné vykonať proces inštalácie odznova aby sa aktualizácie aplikovali.
Našťastie dosť veľký počet takýchto LAMP aplikácií je súčasťou balíkov Ubuntu a dajú sa nainštalovať rovnakým spôsobom ako bežné aplikácie. V závislosti od aplikácie je však niekedy potrebné vykonať dodatočné nastavenia.
Táto časť obsahuje návody, ako nainštalovať a nakonfigurovať Wiki aplikácie MoinMoin, MediaWiki a ako spravovať MySQL pomocou phpMyAdmin.
![]() |
Wiki stránky umožňujú návštevníkom jednoducho pridávať, odstraňovať a upravovať obsah webových stránok. Jednoduchá interakcia a manipulácia robí z Wiki systému efektívny nástroj, ktorý umožňuje viacerým autorom spolupracovať. Termín Wiki je tiež označovaný ako softvér na spoluprácu. |
---|---|
MoinMoin je Wiki systém implementovaný v jazyku Python, založený na systéme PikiPiki Wiki a vydaný pod licenciou GNU GPL.
Ak chceme MoinMoin nainštalovať, stačí zadať nasledujúci príkaz do príkazového riadka:
sudo apt-get install python-moinmoin
Potrebné je tiež nainštalovať webový server apache2. Inštalácia webového servera apache2 je popísaná v časti “Inštalácia” podkapitoly “HTTPD - Apache2 Web Server”.
Pre vytvorenie prvej Wiki aplikácie je potrebné spustiť nasledujúce príkazy. Systém predpokladá, že sa prvá Wiki aplikácia bude volať mywiki, pre jednoduchosť ponecháme toto meno:
cd /usr/share/moin
sudo mkdir mywiki
sudo cp -R data mywiki
sudo cp -R underlay mywiki
sudo cp server/moin.cgi mywiki
sudo chown -R www-data.www-data mywiki
sudo chmod -R ug+rwX mywiki
sudo chmod -R o-rwx mywiki
Teraz by sme mali nakonfigurovať systém MoinMoin, aby vedel nájsť našu novú Wiki aplikáciu nasawiki. Konfiguráciu
MoinMoin upravíme tak, že otvoríme súbor
/etc/moin/mywiki.py
a zmeníme nasledujúci riadok:
data_dir = '/org/mywiki/data'
na
data_dir = '/usr/share/moin/nasawiki/data'
Pod nastavenie data_dir pridáme ešte jedno s názvom data_underlay_dir:
data_underlay_dir='/usr/share/moin/mywiki/underlay'
![]() |
Ak súbor |
---|---|
![]() |
Ak chcete pomenovať Wiki napríklad moja_wiki môžete vložiť riadok “("moja_wiki", r".*")” do súboru
|
---|---|
Ak sme nastavili MoinMoin, aby našiel našu prvú Wiki aplikáciu mywiki, je potrebné nastaviť apache2, aby správne zobrazoval našu Wiki aplikáciu.
Do značky “<VirtualHost *>” v súbore
/etc/apache2/sites-available/default
zapíšeme nasledujúce riadky:
### moin
ScriptAlias /mywiki "/usr/share/moin/mywiki/moin.cgi"
alias /moin_static181 "/usr/share/moin/htdocs"
<Directory /usr/share/moin/htdocs>
Order allow,deny
allow from all
</Directory>
### end moin
![]() |
Upravte "moin_static184" v riadku alias na nainštalovanú verziu moinmoin. |
---|---|
Po skončení konfigurácie webového servera apache2 je potrebné ho reštartovať. Webový server apache2 reštartujeme príkazom:
sudo /etc/init.d/apache2 restart
Funkčnosť Wiki aplikácie môžem otestovať zadaním nasledujúcej URL adresy do prehliadača:
http://nazovstanice/mywiki
Môžeme tiež spustiť testovací príkaz vložením nasledujúcej URL adresy do prehliadača:
http://nazovstanice/mywiki?action=test
Viac informácií sa nachádza na domovskej stránke MoinMoin.
Viac informácií sa nachádza na stránke moinmoin Wiki.
Viac informácií sa nachádza aj na stránke moinmoin Wiki.
Za pozretie stojí aj stránka Ubuntu Wiki MoinMoin.
MediaWiki je web založený na Wiki softvéri vytvorený v jazyku PHP. Môže používať databázový systém MySQL alebo PostgreSQL.
Pred nainštalovaním MediaWiki by sme už mali mať nainštalovaný server Apache2, skriptovací jazyk PHP5 a databázový systém. Najbežnejšími databázovými systémami sú MySQL a PostgreSQL, vyberieme si ten, ktorý viac potrebujeme. Inforácie, ako systémy nainštalovať, sa nachádzajú v tejto príručke.
Systém MediaWiki nainštalujeme zadaním nasledujúceho príkazu do príkazového riadka:
sudo apt-get install mediawiki php5-gd
Dodatočné funkcie pre MediaWiki môžeme pridať nainštalovaním balíka mediawiki-extensions.
Konfiguračný súbor systému Apache mediawiki.conf
pre MediaWiki je nainštalovaný v priečinku /etc/apache2/conf.d/
. Aby sa dalo pristupovať k aplikácii MediaWiki, v tomto súbore odpoznámkujeme nasledujúce riadok.
# Alias /mediawiki /var/lib/mediawiki
Ak chceme spustiť konfiguračný program systému MediaWiki, do prehliadača zadáme nasledujúcu URL adresu:
http://nazovstanice/mediawiki/config/index.php
![]() |
Na stránke, ktorá sa vám zobrazí, si prečítajte časť “Checking environment...”. Po pozornom prečítaní uvedenej časti budete vedieť opraviť rôzne problémy. |
---|---|
Po dokončení konfigurácie môžeme skopírovať súbor LocalSettings.php
do priečinka
/etc/mediawiki
.
sudo mv /var/lib/mediawiki/config/LocalSettings.php /etc/mediawiki/
Súbor /etc/mediawiki/LocalSettings.php
teraz môžeme upraviť:
ini_set( 'memory_limit', '64M' );
Rozšírenia dávajú wiki administrátorom a koncovým používateľom možnosť na prispôsobenie systému MediaWiki podľa svojich potrieb.
Rozšírenia pre MediaWiki sa dajú stiahnuť ako súbory archívov alebo priamo z úložiska systému Subversion. Stačí ich nakopírovať do priečinka /var/lib/mediawiki/extensions
a do súboru /etc/mediawiki/LocalSettings.php
riadky v takomto tvare:
require_once "$IP/extensions/ExtentionName/NazovRozsirenia.php";
Viac informácii sa nachádza na domovskej stránke MediaWiki.
O administrácii systému MediaWiki sa môžeme dozvedieť na stránke MediaWiki Administrators’ Tutorial Guide.
Dobrým zdrojom je aj stránka Ubuntu Wiki MediaWiki.
phpMyAdmin je LAMP aplikácia určená na administráciu MySQL serverov. Je vytvorená v PHP, otvára sa cez webový prehliadač a poskytne grafické rozhranie pre administráciu databáz.
Pred inštaláciou phpMyAdmin je potrebné, aby ste mali prístup do MySQL buď na rovnakom počítači ako je ten, na ktorý sa chystáte nainštalovať phpMyAdmin alebo na počítači, na ktorý máte prístup cez sieť. Viac informácií sa nachádza v časti “MySQL”. Program phpMyAdmin nainštalujeme zadaním príkazu:
sudo apt-get install phpmyadmin
Po spustení sa zobrazí výber webového servera, ktorý sa pre phpMyAdmin má použiť. Vo zvyšku tejto časti budeme predpokladať, že sme vybrali webový server Apache2.
Do prehliadača zadáme http://menoservera/phpmyadmin, pričom menoservera nahradíme menom nášho servera. Na stránke s prihlásením zadáme do poľa Používateľ root (alebo iné meno hlavného používateľa MySQL ak sme ho zmenili) a zadáme heslo tohto MySQL používateľa.
Po prihlásení môžeme v prípade potreby heslo pre používateľa root zmeniť, vytvoriť ďalších používateľov, vytvoriť/odstrániť databázy a tabuľky, atď.
Konfiguračné súbory phpMyAdmin sú umiestnené v priečinku /etc/phpmyadmin
. Hlavný konfiguračný súbor je /etc/phpmyadmin/config.inc.php
. Tento súbor obsahuje voľby, ktoré sa aplikujú v phpMyAdmin globálne.
Ak chceme phpMyAdmin použiť na administráciu databázy MySQL na inom serveri, upravíme nasledujúce nastavenie v súbore /etc/phpmyadmin/config.inc.php
:
$cfg['Servers'][$i]['host'] = 'db_server';
![]() |
Hodnotu db_server nahraďte menom alebo IP adresou vzdialeného počítača, na ktorom sa nachádza databázový server. Preverte tiež, či počítač na ktorom je phpMyAdmin má právo pristupovať k vzdialenej databáze. |
---|---|
Po zmene konfigurácie sa odhlásime a znova prihlásime do phpMyAdmin a mali by sme byť na novom serveri.
Súbory config.header.inc.php
a config.footer.inc.php
sa používajú na pridanie HTML hlavičky a päty do phpMyAdmin.
Ďalší dôležitý konfiguračný súbor je /etc/phpmyadmin/apache.conf
, symbolický odkaz na tento súbor je vytvorený aj v
/etc/apache2/conf.d/phpmyadmin.conf
a používa sa na konfiguráciu servera Apache2, aby spracovával stránky phpMyAdmin. Súbor obsahuje direktívy pre načítanie
PHP, oprávnenia k priečinkom, atď. Viac informácii o konfigurácii webového servera
Apache2 sa nachádza v časti "HTTPD - webový server Apache2".
Dokumentácia k phpMyAdmin sa nainštaluje spolu s aplikáciou a môžeme ju zobraziť kliknutím na odkaz phpMyAdmin Dokumentácia (pred odkazom je malý obrázok s otáznikom). Oficiálna dokumentácia sa nachádza aj na stránke phpMyAdmin.
Výborným zdrojom je aj Mastering phpMyAdmin.
Tretím zdrojom je stránka phpMyAdmin Ubuntu Wiki.
Z knih v českom jazyku je to napríklad kniha phpMyAdmin – efektivní správa MySQL.
Ak máme viac ako jeden počítač v sieti, v určitom momente si uvedomíme, že potrebujeme prenášať a zdieľať súbory medzi nimi. V tejto časti si povieme ako sa inštalujú a konfigurujú systémy FTP, NFS, a CUPS.
File Transfer Protocol (FTP) je TCP protokol na nahrávanie a sťahovanie súborov medzi počítačmi. FTP pracuje na princípe klient/server. Serverová časť sa volá FTP démon. Tento démon neustále čaká na požiadavky vzdialených FTP klientov. Ak príde požiadavka, riadi prihlásenie a nastavenie spojenia. Počas trvania spojenia vykonáva príkazy odoslané FTP klientom.
Prístup na FTP server môže byť vykonaný dvoma spôsobmi:
Anonymne
S autentifikáciou
Pri anonymnom móde môžu vzdialení klienti pristupovať k FTP serveru pomocou predvoleného konta z názvom "anonymous" alebo "ftp" a ako heslo použiť svoju emailovú adresu. V móde s prihlásením musí mať každý používateľ svoje konto s heslom. Prístup používateľa k priečinkom FTP servera je riadený podľa prístupových práv definovaných pre konto používateľa. Všeobecným pravidlom je, že FTP démon skryje kmeňový priečinok systému a nahradí ho domovským priečinkom FTP Home. Týmto sa skryje zvyšok súborového systému pred pripojeným používateľom.
vsftpd je FTP démon dostupný v Ubuntu. Je jednoduché ho nainštalovať, nastaviť a udržiavať. Ak chceme nainštalovať vsftpd, zadáme nasledujúci príkaz:
sudo apt-get install vsftpd
V predvolenom stave je vsftpd nakonfigurované tak, aby umožňovalo len anonymné sťahovanie. Počas inštalácie je vytvorený používateľ
ftp s domovským priečinkom /home/ftp
. Toto je predvolený FTP priečinok.
Keby sme chceli zmeniť toto umiestnenie napríklad na /srv/ftp
, jednoducho vytvoríme priečinok na novom mieste a zmeníme domovský priečinok používateľa ftp:
sudo mkdir /srv/ftp
sudo usermod -d /srv/ftp ftp
Po vykonaní zmien reštartujeme vsftpd:
sudo /etc/init.d/vsftpd restart
Nakoniec do priečinka /srv/ftp
nakopírujeme súbory, ktoré majú byť viditeľné pri anonymnom FTP prístupe.
Ak chceme vsftpd nakonfigurovať tak, aby autentifikoval systémových používateľov a umožnil im nahrávať súbory na server, upravíme súbor
/etc/vsftpd.conf
:
local_enable=YES
write_enable=YES
Reštartujeme vsftpd:
sudo /etc/init.d/vsftpd restart
Teraz sa môžu používatelia prihlasovať k FTP a po prihlásení sa im zobrazí ich domovský priečinok, v ktorom si môžu súbory sťahovať, nahrávať, vytvárať podpriečinky, atď.
V predvolenom stave anonymný používateľ nemôže nahrávať súbory na FTP server. Ak to chceme zmeniť, stačí odkomentovať nasledujúci riadok a reštartovať vsftpd:
anon_upload_enable=YES
![]() |
Povolenie nahrávania na FTP server anonymnému používateľovi predstavuje veľké bezpečnostné riziko. Najlepšie je, ak túto možnosť nezapnete na serveroch, ktoré sú dostupné z Internetu. |
---|---|
Konfiguračný súbor obsahuje mnoho ďalších konfiguračných parametrov. Informácie o jednotlivých parametroch sa nachádzajú priamo v konfiguračnom súbore. Druhou možnosťou je pozrieť si ich význam na man stránkach: man 5 vsftpd.conf.
V konfiguračnom súbore /etc/vsftpd.conf
sa nachádzajú aj nastavenia, ktoré nám pomôžu vsftpd urobiť bezpečnejším. Napríklad prístup používateľov môžeme obmedziť len na ich domovský priečinok odkomentovaním nastavenia:
chroot_local_user=YES
Používateľov, ktorých chceme takto obmedziť, môžeme vypísať do osobitného súboru:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Po odkomentovaní predchádzajúceho riadka, vytvoríme súbor /etc/vsftpd.chroot_list
tak, že meno každého používateľa zapíšeme na nový riadok. Potom reštartujeme vsftpd:
sudo /etc/init.d/vsftpd restart
Do súboru
/etc/ftpusers
môžeme zasa napísať zoznam používateľov, ktorým zakážeme FTP prístup. V predvolenom zozname sa nachádzajú aj používatelia root, daemon, nobody, atď. Ak by sme chceli FTP prístup zakázať ďalším používateľom, stačí ich dopísať do zoznamu.
FTP sa dá aj zašifrovať použitím FTPS. Na rozdiel od SFTP je FTPS FTP cez Secure Socket Layer (SSL). SFTP je FTP pripojenie cez šifrované SSH spojenie. Hlavným rozdielom je to že používatelia SFTP musia mať v systéme aj shell konto (konto pre príkazový riadok), namiesto nastavenia nologin (zákaz prihlásenia). Poskytnutie prístupu k príkazovému riadku všetkým používateľom nemusí byť ideálnym riešením pre rozhrania zdieľané cez web.
Ak chceme povoliť FTPS, otvoríme súbor /etc/vsftpd.conf
a na jeho koniec pridáme:
ssl_enable=Yes
Tiež bude potrebné upraviť nastavenia certifikátu a kľúča:
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
V predvolenom stave je tento certifikát a kľúč poskytnutý balíkom ssl-cert. V ostrej prevádzke by sme však mali tieto súbory nahradiť certifikátom a kľúčom vygenerovaným pre konkrétnu stanicu. Viac informácií o certifikátoch sa nachádza v časti "Certifikáty".
Teraz reštartujeme vsftpd, a neanonymný používatelia budú nútený použiť FTPS:
sudo /etc/init.d/vsftpd restart
Ak chceme používateľom s príkazovým riadkom /usr/sbin/nologin
(zákaz prihlásenia) povoliť prístup k FTP, ale nechceme aby mali prístup k príkazovému riadku, otvoríme súbor /etc/shells
a pridáme druh príkazového riadka nologin:
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
/usr/sbin/nologin
Toto je nevyhnutné, pretože vsftpd v predvolenom stave používa na atentifikáciu PAM a konfiguračný súbor
/etc/pam.d/vsftpd
obsahuje:
auth required pam_shells.so
Modul PAM s názvom shells zakazuje prístup k príkazovým riadkom vypísaným v súbore /etc/shells
.
Najpopulárnejší FTP klienti sa dajú nakonfigurovať tak, aby sa pripájali pomocou FTPS. Ako klient sa dá tiež použiť príkaz príkazového riadka lftp, ktorý sa tiež pripája cez FTPS.
Viac informácií sa nachádza na stránke vsftpd website.
Detailný popis konfiguračných možností v súbore /etc/vsftpd.conf
sa nachádza na stránke
vsftpd.conf man page.
Článok CodeGurus FTPS vs. SFTP: What to Choose sú užitočné informácie o rozdieloch FTPS a SFTP.
Viac informácii sa nachádza ja na stránke Ubuntu Wiki vsftpd.
NFS umožňuje zdieľanie priečinkov a súborov s ostatnými systémami v sieti. Pri použití NFS používatelia a programy môžu pristupovať k súborom, ako keby pristupovali k súborom na lokálnom počítači.
Medzi najväčšie výhody, ktoré NFS poskytuje patrí toto:
Lokálne stanice môžu použiť menej diskového priestoru, pretože spoločne využívané dáta môžu byť uložené na jednom počítači a všetkým dostupné cez sieť.
Nie je potrebné každému používateľovi vytvoriť vlastný domovský priečinok na každej stanici. Domovské priečinky sa môžu nachádzať na NFS serveri a môžu byť dostupné cez sieť.
Rôzne zariadenia ako disketové mechaniky, CDROM mechaniky a USB mechaniky môžu byť používané aj ostatnými počítačmi v sieti, čo môže znížiť počet potrebných mechaník pre prenosné média.
NFS server nainštalujeme tak, že do príkazového riadka zadáme nasledujúci príkaz:
sudo apt-get install nfs-kernel-server
Priečinky, ktoré majú byť zdieľané môžeme, pridať do súboru /etc/exports
. Napríklad:
/ubuntu *(ro,sync,no_root_squash)
/home *(rw,sync,no_root_squash)
Znak * môžeme nahradiť maskou názvu staníc. Deklaráciu názvu staníc urobme tak konkrétnu, ako sa len dá, aby neoprávnené systémy nemohli pristupovať k zdieľaným NFS priečinkom.
Po dokončení spustíme NFS server zadaním nasledujúceho príkazu:
sudo /etc/init.d/nfs-kernel-server start
Zdieľaný NFS priečinok z inej stanice pripojíme pomocou príkazu mount, zadaním príkazu, ktorý bude podobný ako tento:
sudo mount menopc.nieco.sk:/ubuntu /local/ubuntu
![]() |
Cieľový priečinok |
---|---|
Iný spôsob, akým sa dajú pripojiť zdieľané NFS priečinky z iných staníc, je pridanie záznamu do súboru /etc/fstab
. Riadok musí obsahovať meno stanice NFS servera, zdieľaný priečinok a priečinok na lokálnej stanici, do ktorého sa zdieľaný priečinok má pripojiť.
Všeobecná syntax riadka v súbore /etc/fstab
je takáto:
menopc.nieco.sk:/ubuntu /local/ubuntu nfs rsize=8192,wsize=8192,timeo=14,intr
Ak sa nám nedarí zdieľaný NFS priečinok pripojiť, uistíme sa, či je na klientskom počítači nainštalovaný balík nfs-common. Balik nfs-common nainštalujeme zadaním nasledujúceho príkazu do príkazového riadka:
sudo apt-get install nfs-common
Hlavný mechanizmus pre tlač a tlačové služby v Ubuntu zabezpečuje Common UNIX Printing System (CUPS). Tento tlačový systém je voľne dostupná, prenositeľná tlačová vrstva, ktorá sa stala novým štandardom pre tlač skoro vo všetkých Linuxových distribúciách.
CUPS spravuje tlačové úlohy a požiadavky a umožňuje sieťovú tlač prostredníctvom štandardného protokolu Internet Printing Protocol (IPP) a ponúka podporu pre široký rozsah tlačiarní od ihličkových až po laserové. CUPS tiež podporuje PostScript Printer Description (PPD), automatickú detekciu sieťových tlačiarní a funkcie pre jednoduchú konfiguráciu cez webové administračné rozhranie
Ak chceme nainštalovať CUPS na počítač so systémom Ubuntu, použijeme príkaz sudo spolu s príkazom apt-get a pridáme názov balíka, ktorý chceme nainštalovať. Kompletná inštalácia CUPS má mnoho závislostí, ale všetky sa nainštalujú zadaním jedného príkazu. CUPS teda nainštalujeme zadaním príkazu:
sudo apt-get install cupsys
Po autentifikácii heslom používateľa sa balíky stiahnu a nainštalujú. Po skončení inštalácie by sa mal server CUPS automaticky naštartovať.
Ak nastanú problémy, chybové hlásenia servera CUPS
si môžeme pozrieť v súbore: /var/log/cups/error_log
.
Ak súbor záznamov neposkytuje dostatočné informácie pre vyriešenie problému, môžeme zvýšiť podrobnosť záznamov systému CUPS pomocou direktívy LogLevel v konfiguračnom súbore (viď nižšie) z predvolenej hodnoty "info" na "debug" alebo dokonca "debug2", pri ktorom sa bude zaznamenávať všetko. Po vyriešení problému by sme nemali zabudnúť vrátiť pôvodné nastavenie, aby sa súbor so záznamom nestal príliš veľký.
Správanie servera CUPS sa konfiguruje prostredníctvom direktív v súbore /etc/cups/cupsd.conf
. Konfiguračný súbor systému CUPS má rovnakú sysntax ako hlavný konfiguračný súbory servera Apache, preto používateľom, ktorí poznajú konfiguračný súbor servera Apache, nebude robiť problém ani konfiguračný súbor systému CUPS. Teraz si ukážeme niekoľko základných konfiguračných možností.
![]() |
Pred úpravou akéhokoľvek konfiguračného súboru by ste si mali vytvoriť kópiu originálneho súboru a nastaviť ho iba na čítanie, aby ste mohli nastavenia porovnať s pôvodnými hodnotami a v prípade potreby ich vrátiť späť. Vytvorte kópiu súboru |
---|---|
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original
sudo chmod a-w /etc/cups/cupsd.conf.original
ServerAdmin: Ak chceme zmeniť emailovú adresu administrátora servera CUPS, jednoducho v obľúbenom textovom editore upravíme riadok ServerAdmin v súbore /etc/cups/cupsd.conf
na príslušnú hodnotu. Napríklad, ak sme administrátorom servera CUPS a naša emailova adresa je 'jhrasko@nieco.sk', zmeníme riadok ServerAdmin takto:
ServerAdmin jhrasko@nieco.sk
/etc/cups/cupsd.conf
a pridáme nasledujúcu Listen direktívu:
Listen 127.0.0.1:631 # existujúce nastavenie pre spätnú väzbu
Listen /var/run/cups/cups.sock # existujúce nastavenie pre socket
Listen 192.168.10.250:631 # nové nastavenie pre LAN rozhranie a port 631 (IPP)
V predchádzajúcom príklade môžeme zapoznámkovať alebo vymazať nastavenie pre spätnú väzbu (127.0.0.1), ak nechceme, aby cupsd načúval na tomto rozhraní, ale chceme, aby načúval iba na Ethernetovom rozhraní lokálnej siete (LAN). Ak chceme aby načúval na všetkých rozhraniach, ktoré sú na danom počítači, vrátanie zariadenia spätnej väzby Loopback, môžeme vytvoriť záznam Listen s názvom stanice - napríklad socrates:
Listen socrates:631 # nastavenie pre všetky rozhrania na stanici s názvom 'socrates'
alebo použitím direktívy Port miesto direktívy Listen:
Port 631 # Načúva na porte 631 na všetkých rozhraniach
Viac informácií o direktívach konfiguračného súboru servera CUPS si môžeme pozrieť na manuálových stránkach zadaním nasledujúceho príkazu do príkazového riadka:
man cupsd.conf
![]() |
Vždy, keď urobíte zmeny v konfiguračnom súbore |
---|---|
sudo /etc/init.d/cupsys restart
![]() |
CUPS sa dá konfigurovať a monitorovať cez webové rozhranie, ktoré je dostupné na adrese http://nazovstanice:631/admin. Webové rozhranie sa dá použiť na vykonanie všetkých správcovských úloh týkajúcich sa tlačiarní. |
---|---|
Aby sme mohli vykonávať správcovské úlohy cez webové rozhranie, musíme mať buď povolené konto používateľa root na serveri alebo sa prihlásiť ako používateľ patriaci do skupiny lpadmin. Kvôli bezpečnosti CUPS odmieta autentifikovať používateľov bez hesla.
Keď chceme pridať používateľa do skupiny lpadmin, spustíme nasledujúci príkaz:
sudo usermod -aG lpadmin menopozivatela
Ďalšia dokumentácia je dostupná z webového rozhranie na karte Documentation/Help.
Proces odoslania emailu od jednej osoby k druhej, cez sieť alebo Internet vyžaduje, aby mnoho systémov spolupracovalo. Každý z týchto systémov musí byť sprábne nastavený aby pracoval tak ako má. Odosielateľ použije Používateľského agenta - Mail User Agent (MUA) alebo emailového klienta na odoslanie pošty cez jeden alebo viacero Agentov pre prenos pošty - Mail Transfer Agents (MTA), posledný z nich predá email Doručovaciemu agentovi - Mail Delivery Agent (MDA), ktorý email doručí do používateľovej schránky, z ktorej si používateľ email vyberie zvyčajne pomocou serverov POP3 alebo IMAP.
Postfix je predvoleným agentom na prenos emailov - Mail Transfer Agent (MTA) v Ubuntu. Pokúša sa byť rýchly, ľahko konfigurovateľný a bezpečný. Je kompatibilný s MTA agentom sendmail. V tejto časti si povieme ako postfix nainštalovať a nakonfigurovať. Vysvetlíme tiež, ako ho nastaviť tak, aby bol SMTP serverom, ktorý používa zabezpečené pripojenie (na bezpečný prenos emailov).
Tento návod neobsahuje nastavenie Virtualnych domén pre Postfix. Zdroje informácií o Virtualnych doménach a ďalšej pokročilej konfigurácii nájdeme v časti Zdroje.
Systém postfix nainštalujeme pomocou nasledujúceho príkazu:
sudo apt-get install postfix
Všetky otázky, ktoré bude klásť inštalátor, potvrdíme klávesou Enter, pretože konfiguráciu budeme meniť neskôr.
Ak chceme zmeniť konfiguráciu systému postfix, spustíme nasledujúci príkaz:
sudo dpkg-reconfigure postfix
Zobrazí sa používateľské rozhranie. Na každej z obrazoviek vyberieme nasledujúce hodnoty:
Internet Site
mail.nieco.sk
stefan
mail.nieco.sk, localhost.localdomain, localhost
Nie
127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0/24
0
+
all
![]() |
Adresu mail.nieco.sk nahraďte názvom stanice, masku siete 192.168.0/24 nahraďte aktuálnym rozsahom adries vašej siete a meno stefan nahraďte príslušným menom používateľa. |
---|---|
Teraz je potrebné rozhodnúť sa, ktorý formát mailových schránok budeme používať. V predvolenom stave bude
Postfix používať formát mbox.
Miesto priamej úpravy konfiguračného súboru môžeme použiť príkaz postconf, ktorý slúži na nastavovanie všetkých parametrov systému postfix. Konfiguračné parametre sú uložené v súbore
/etc/postfix/main.cf
. Neskôr ak budeme chcieť zmeniť konkrétny parameter, môžeme buď znova spustiť spomínaný príkaz alebo ho ručne zmeniť v súbore.
Keď chcem zmeniť formát schránok na Maildir, zadáme:
sudo postconf -e 'home_mailbox = Maildir/'
![]() |
Nové maily sa budú odteraz nachádzať v priečinku /home/meno_pouzivatela/Maildir, preto je tiež potrebné zmeniť nastavenie v Doručovacom agentovi (MDA), aby používal rovnakú cestu. |
---|---|
SMTP-AUTH umožňuje klientovi identifikovať seba samého prostredníctvom autentifikačného mechanizmu (SASL). Na zašifrovanie autentifikačného procesu by mal byť použitý protokol Transport Layer Security (TLS). Po autentifikácii SMTP server umožní klientovi odosielať maily.
Nastavíme Postfix tak, aby pre SMTP-AUTH používal SASL (Dovecot SASL):
sudo postconf -e 'smtpd_sasl_type = dovecot'
sudo postconf -e 'smtpd_sasl_path = private/auth-client'
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
sudo postconf -e 'inet_interfaces = all'
![]() |
Do nastavenia smtpd_sasl_path je potrebné zadať cestu, ktorá je relatívna od priečinka s radom (queue) systému Postfix. |
---|---|
Teraz získame digitálny certifikát pre TLS. Viac informácii nájdeme v časti "Certifikáty". V tomto príklade je tiež použitá Certifikačná autorita (CA). Viac informácií o generovaní certifikátu CA nájdeme v časti "Certivfikačná autorita".
![]() |
Digitálny certifikát môžeme získať od certifikačnej autority. Na rozdiel od webových klientov, sa SMTP klienti len zriedka sťažujú na "sebou podpísané certifikáty", preto môžeme vytvoriť certifikát, ktorý si sami podpíšeme. Viac podrobností nájdeme v časti “Vytvorenie sebou podpísaného certifikátu”. |
---|---|
Keď už máme certifikát, nakonfigurujeme Postfix aby poskytoval TLS šifrovanie pre prichádzajúce aj odchádzajúce správy:
sudo postconf -e 'smtpd_tls_auth_only = no'
sudo postconf -e 'smtp_use_tls = yes'
sudo postconf -e 'smtpd_use_tls = yes'
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key'
sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt'
sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtpd_tls_received_header = yes'
sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
sudo postconf -e 'tls_random_source = dev:/dev/urandom'
sudo postconf -e 'myhostname = mail.example.com'
Ak sme použili vlastnú Certifikačnú autoritu na podpísanie certifikátu, zadáme:
sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'
Viac informácií sa môžeme opäť dozvedieť v časti Certifikáty.
![]() |
Po spustení všetkých príkazov je Postfix nastavený tak aby používal SMTP-AUTH a kvôli TLS šifrovaniu bol vytvorený sebou podpísaný certifikát. |
---|---|
Teraz by mal súbor /etc/postfix/main.cf
vyzerať takto.
Počiatočná konfigurácia systému postfix je hotový. Nasledujúcim príkazom reštartujeme démon:
sudo /etc/init.d/postfix restart
Postfix podporuje SMTP-AUTH tak, ako je definovaná v RFC2554. Je založená na SASL. Pred tým ako SMTP-AUTH použijeme, je potrebné atentifikáciu SASL nastaviť.
Postfix podporuje dve implementácie SASL - Cyrus SASL a Dovecot SASL. Keď chceme zapnúť Dovecot SASL, je potrebné nainštalovať balík dovecot-common. V príkazovom riadku zadáme:
sudo apt-get install dovecot-common
Teraz je potrebné upraviť súbor /etc/dovecot/dovecot.conf
. V časti auth default odpoznámkujeme voľbu socket listen a urobíme nasledujúce zmeny:
socket listen {
#master {
# Master socket provides access to userdb information. It's typically
# used to give Dovecot's local delivery agent access to userdb so it
# can find mailbox locations.
#path = /var/run/dovecot/auth-master
#mode = 0600
# Default user/group is the one who started dovecot-auth (root)
#user =
#group =
#}
client {
# The client socket is generally safe to export to everyone. Typical use
# is to export it to your SMTP server so it can do SMTP AUTH lookups
# using it.
path = /var/spool/postfix/private/auth-client
mode = 0660
user = postfix
group = postfix
}
}
Aby sme umožnili Outlook klientom použiť SMTPAUTH, v časti auth default súboru /etc/dovecot/dovecot.conf pridáme "login":
mechanisms = plain login
Po dokončení konfigurácie reštartujeme systém Dovecot:
sudo /etc/init.d/dovecot restart
Ďalšia možnosť nastavenia systému Postfix tak, aby používal SMTP-AUTH sa robí pomocou balíka dovecot-postfix. Tento balík nainštaluje Dovecot a nastaví Postfix tak, aby používal SASL autentifikáciu a aby fungoval ako agent na doručovanie správ - Mail Delivery Agent (MDA). Balík nainštaluje a nakonfiguruje aj systém Dovecot, aby bolo možné použiť IMAP, IMAPS, POP3 a POP3S.
![]() |
Na vašom poštovom serveri služby IMAP, IMAPS, POP3 a POP3S môžete ale nemusíte využívať. Ak napríklad chcete nastaviť server tak aby bol mailovou bránou, filtrom spamu a vírusov atď. Ak je to tak, je jednoduchšie použiť predchádzajúci príkaz na nastavenie SMTPAUTH v systéme Postfix. |
---|---|
Ak chceme tento balík nainštalovať, zadáme:
sudo apt-get install dovecot-postfix
Teraz by sme mali mať funkčný server, ale ešte môžeme niekoľko nastavení prispôsobiť. Napríklad balík používa certifikát a kľúč vytvorený balíkom ssl-cert a my by sme v ostrej prevádzke mali používať certifikát a kľúč vygenerovaný pre náš server. Viac informácii sa nachádza v časti "Certifikáty".
Ak už máme náš vlastný certifikát a kľúč, zmeníme nasledujúce nastavenia v súbore /etc/postfix/main.cf
:
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
Potom reštartujeme Postfix:
sudo /etc/init.d/postfix restart
Konfigurácia SMTP-AUTH je hotová. Teraz je čas nastavenie otestovať.
Ak chceme vidieť či SMTP-AUTH a TLS pracujú správne, spustíme nasledujúci príkaz:
telnet mail.nieco.sk 25
Po nadviazaní spojenia s mailovým serverom postfix, zadáme:
ehlo mail.nieco.sk
Ak medzi vypísanými riadkami uvidíme aj nasledujúce, všetko pracuje správne. Spojenie ukončíme príkazom quit.
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
Táto časť hovorí o niekoľkých spôsoboch, ktorými sa dajú odhaliť príčiny vzniknutých problémov.
Balík postfix systému Ubuntu je kvôli bezpečnosti nainštalovaný do prostredia chroot. Kvôli tomu sa problém ťažšie hľadá.
Ak chceme vypnúť prevádzku chroot, v súbore
/etc/postfix/master.cf
nájdeme nasledujúci riadok:
smtp inet n - - - - smtpd
a takto ho zmeníme:
smtp inet n - n - - smtpd
Aby sa nová konfigurácia prejavila, je potrebné reštartovať Postfix. Do príkazového riadka zadáme:
sudo /etc/init.d/postfix restart
Postfix odosiela všetky hlásenia do súboru so záznamom /var/log/mail.log
. Chybové hlásenia a varovania však môžeme medzi ostatnými hláseniami prehliadnuť, preto sú odosielané do samostatných súborov
/var/log/mail.err
a /var/log/mail.warn
.
Ak chceme v reálnom čase čítať prichádzajúce chybové hlásenia, môžeme použiť príkaz tail -f:
tail -f /var/log/mail.err
Podrobnosť zaznamenávaných záznamov sa dá zvýšiť. Nižšie je niekoľko konfiguračných možností na zvýšenie podrobnosti záznamov pre rôzne vyššie popísané oblasti.
Podrobnosť záznamov o TLS aktivitách nastavíme pomocou nastavenia smtpd_tls_loglevel, ktoré môže byť v rozsahu 1 až 4.
sudo postconf -e 'smtpd_tls_loglevel = 4'
Ak máme problém s prijímaním alebo odosielaním mailov na konkrétnu doménu, môžeme meno domény pridať ako parameter do nastavenia debug_peer_list.
sudo postconf -e 'debug_peer_list = problemova.domena'
Výrečnosť ktoréhokoľvek démona systému Postfix zvýšime pridaním -v za riadok v súbore /etc/postfix/master.cf
. Napríklad pre smtp to urobíme takto:
smtp unix - - - - - smtp -v
![]() |
Po vykonaní zmien v nastavení zaznamenávania procesov systému Postfix je potrebné ho znova načítať, aby sa nová konfigurácia prejavila: sudo /etc/init.d/postfix reload |
---|---|
Ak chceme zvýšiť počet záznamov pri problémoch so SASL, môžeme nastaviť nasledujúce nastavenia v súbore
/etc/dovecot/dovecot.conf
auth_debug=yes
auth_debug_passwords=yes
![]() |
Rovnako, ako pri systéme Postfix, ak zmeníte konfiguráciu, ktorá sa týka aj procesov systému Dovecot, je potrebné ho znova načítať: sudo /etc/init.d/dovecot reload. |
---|---|
![]() |
Niektoré možnosti výrazne zvýšia počet informácií, ktoré sa odosielajú do súborov so záznamami. Po vyriešení problému preto nezabudnite vrátiť pôvodné nastavenie a znova načítať príslušný démon, aby sa nová konfigurácia prejavila. |
---|---|
Administrácia servera Postfix je veľmi zložitá úloha. V niektorých prípadoch bude potrebné sa kvôli pomoci obrátiť na komunitu Ubuntu.
Skvelým miestom, kde môžete požiadať o pomoc so systémom Postfix a spojiť sa s komunitou Ubuntu Servera , je IRC kanál #ubuntu-server na freenode. Je tiež možné poslať otázku do jedného z webových fór.
Detailné informácie o systéme Postfix pre vývojárov Ubuntu sa nachádzajú v knihe: The Book of Postfix.
Dokumentácia k rôznym spôsobom konfigurácie sa nachádza na domovskej stránke systému Postfix.
Viac informácií sa dá nájsť aj na stránke Ubuntu Wiki Postifx.
Exim4 je ďalší agent na prenos pošty (MTA) vyvinutý na University of Cambridge pre použitie v systémoch Unix pripojených k Internetu. Exim sa dá nainštalovať miesto systému sendmail, aj keď konfigurácia exim je od systému sendmail mierne odlišná.
Ak chceme nainštalovať exim4, spustíme nasledujúci príkaz:
sudo apt-get install exim4
Konfiguráciu Exim4 spustíme pomocou nasledujúceho príkazu:
sudo dpkg-reconfigure exim4-config
Zobrazí sa používateľské rozhranie, ktoré nám umožní nastaviť mnoho parametrov. Napríklad môžeme zmeniť spôsob rozdelenia konfiguračných možností Exim4 do viacerých súborov. Ak chceme všetky konfiguračné možnosti mať v jednom súbore, nastavíme to v používateľskom rozhraní.
Všetky parametre, ktoré nastavíte cez používateľské rozhranie, sú uložené v súbore
/etc/exim4/update-exim4.conf.conf
. Ak chceme znova zmeniť konfiguráciu, môžeme opäť spustiť predchádzajúci príkaz, alebo ručne upraviť spomínaný súbor pomocou obľúbeného editora. Po dokončení konfigurácie spustíme nasledujúci príkaz, ktorým vygenerujeme hlavný konfiguračný súbor:
sudo update-exim4.conf
Hlavný konfiguračný súbor sa vygeneruje a uloží sa do /var/lib/exim4/config.autogenerated
.
![]() |
Nikdy by sme nemali upravovať hlavný konfiguračný súbor
|
---|---|
Nasledujúcim príkazom spustíme démona Exim4.
sudo /etc/init.d/exim4 start
Táto časť hovorí o tom, ako nastaviť systém Exim4 tak, aby používal SMTP-AUTH s TLS a SASL.
Najskôr vytvoríme certifikát pre použitie s TLS. Zadáme nasledujúci príkaz do príkazového riadka:
sudo /usr/share/doc/exim4-base/examples/exim-gencert
Teraz systém Exim4 nastavíme tak, aby používal TLS úpravou nasledujúceho riadku v súbore /etc/exim4/conf.d/main/03_exim4-config_tlsoptions
:
MAIN_TLS_ENABLE = yes
Teraz je potrebné, nastaviť systém Exim4 tak, aby používal na autentifikáciu saslauthd. Otvoríme súbor /etc/exim4/conf.d/auth/30_exim4-config_examples
a odpoznámkujeme časti plain_saslauthd_server a login_saslauthd_server:
plain_saslauthd_server:
driver = plaintext
public_name = PLAIN
server_condition = ${if saslauthd{{$auth2}{$auth3}}{1}{0}}
server_set_id = $auth2
server_prompts = :
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
#
login_saslauthd_server:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
# don't send system passwords over unencrypted connections
server_condition = ${if saslauthd{{$auth1}{$auth2}}{1}{0}}
server_set_id = $auth1
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif
Naoniec aktualizujeme konfiguráciu Exim4 a reštartujeme službu:
sudo update-exim4.conf
sudo /etc/init.d/exim4 restart
Táto časť hovorí o konfigurácii saslauthd, ktorá slúži na autentifikáciu v systéme Exim4.
Prvým krokom je nainštalovanie balíka sasl2-bin. Do príkazového riadka zadáme:
sudo apt-get install sasl2-bin
Ak chceme nastaviť saslauthd, otvoríme súbor /etc/default/saslauthd a prestavíme START=no na:
START=yes
Potom je potrebné vytvoriť používateľa Debian-exim, ktorý bude patriť do skupiny sasl, a pod ktorým bude spustená služba Exim4:
sudo adduser Debian-exim sasl
Teraz spustíme službu saslauthd:
sudo /etc/init.d/saslauthd start
Exim4 je teraz nastavený tak, aby používal SMTP-AUTH pomocou TLS a SASL.
Viac informácií sa nachádza na stránke exim.org.
Dostupná je tiež kniha Exim4 Book.
Ďalším zdrojom je stránka Exim4 Ubuntu Wiki.
Dovecot je doručovací agent (Mail Delivery Agent), primárne zameraný na bezpečnosť. Podporuje väčšinu formátov poštových schránok: mbox alebo Maildir. V tejto časti si povieme, ako ho nastaviť do pozície imap alebo pop3 servera.
Ak chceme nainštalovať dovecot, spustíme nasledujúci príkaz:
sudo apt-get install dovecot-imapd dovecot-pop3d
Nastavenia systému dovecot sa dajú upravovať v súbore
/etc/dovecot/dovecot.conf
.
Môžeme si zvoliť protokol, ktorý budeme používať. Mal by to byť jeden z týchto: pop3, pop3s (pop3
secure), imap a imaps (imap secure). Popis týchto protokolov nie je predmetom tejto príručky. Viac informácií o nich môžete nájsť vo Wikipédií v článkoch POP3 a
IMAP.
IMAPS a POP3S sú zabezpečenými verziami jednoduchých protokolov IMAP a
POP3, pretože používajú na pripojenie SSL šifrovanie. Vybrané protokoly môžeme nastaviť v nasledujúcom riadku v súbore
/etc/dovecot/dovecot.conf
:
protocols = pop3 pop3s imap imaps
Potom si zvolíme formát poštovej schránky, ktorý budeme používať. Dovecot podporuje formáty maildir a mbox. Toto sú najčastejšie používané formáty poštových schránok. Každá z nich má iné výhody, o ktorých sa môžeme viac dozvedieť na stránke Dovecot web site.
Typ mailovej schránky nastavíme v súbore
/etc/dovecot/dovecot.conf
pomocou nasledujúceho riadku:
mail_location = maildir:~/Maildir # (pre formát maildir)
alebo
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u # (pre formát mbox)
![]() |
Tiež by ste mali nastaviť agenta pre prenos pošty - Mail Transport Agent (MTA), ak prichádzajúcu poštu doručuje do iného typu schránky ako ste nastavili. |
---|---|
Po ukončení konfigurácie systému dovecot, reštartujeme démon dovecot, aby sa nastavenia prejavili:
sudo /etc/init.d/dovecot restart
Ak je povolený protokol imap alebo pop3, môžeme ho otestovať pomocou príkazu telnet localhost pop3 alebo telnet localhost imap2. Ak uvidíte niečo podobné, ako je v nasledujúcom výpise, inštalácia prebehla úspešne:
bhuvan@rainbow:~$ telnet localhost pop3
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Dovecot ready.
Ak chceme dovecot nastaviť tak, aby používal SSL, otvoríme súbor
/etc/dovecot/dovecot.conf
a pozmeníme nasledujúce riadky:
ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
ssl_disable = no
disable_plaintext_auth = no
SSL certifikát môžeme získať od Certifikačnej autority alebo môžeme vytvoriť sebou podpísaný SSL certifikát.
Ten však nie je vhodný pre email, pretože SMTP klienti neakceptujú "sebou podpísané certifikáty". Viac informácií o tom, ako sa dá získať alebo vytvoriť certifikát, sa nachádza v časti "Certifikáty". Po získaní certifikátu, budeme mať súbor s kľúčom a súbor s certifikátom. Nakopírujeme ich do priečinkov, na ktoré sa odkazujeme v súbore /etc/dovecot/dovecot.conf
.
Aby sa dalo pristupovať k mailovému serveru z iného počítača, musíme nastaviť firewall tak , aby umožnil spojenie na server cez nasledujúce porty.
IMAP - 143
IMAPS - 993
POP3 - 110
POP3S - 995
Viac informácií sa nachádza na stránke Dovecot website.
Viac informácií sa nachádza aj na stránke Dovecot Ubuntu Wiki.
Mailman program s otvoreným zdrojovým kódom na správu elektronických poštových diskusií. Mnoho diskusií o otvorenom softvéri (vrátane mailových diskusií Ubuntu mailing lists) používa systém Mailman. Je to mocný systém, ktorý sa dá jednoducho nainštalovať a udržiavať.
Mailman poskytuje webové rozhranie pre administrátorov a používateľov, používajúce externý mailový server na odosielanie a prijímanie pošty. Pracuje bezchybne s nasledujúcimi servermi:
Ukážeme si, ako Mailman nainštalovať a ako ho nastaviť aby spolupracoval s webovým serverom Apache a mailovým serverom Postfix alebo Exim. Ak chceme nainštalovať Mailman s iným mailovým serverom, návod nájdeme v zdrojoch na konci tejto časti.
![]() |
Je potrebné nainštalovať iba jeden poštový server a Postfix je predvoleným agentom na prenos pošty v Ubuntu. |
---|---|
Návod na inštaláciu systému apache2 sa nachádza v časti HTTPD - Inštalácia.
Postup ako nainštalovať a nastaviť Postfix sa nachádza v časti "Postfix"
Návod na inštaláciu systému Exim4 sa nachádza v časti "Exim4".
Po nainštalovaní exim4 sa konfiguračné súbory nachádzajú v priečinku /etc/exim4
. V Ubuntu je v predvolenom stave konfigurácia exim4 rozdelená do viacerých súborov. Túto vlastnosť môžete zmeniť úpravou nasledujúceho nastavenia v súbore /etc/exim4/update-exim4.conf
:
dc_use_split_config='true'
Ak chceme nainštalovať Mailman, spustíme nasledujúci príkaz v príkazovom riadku:
sudo apt-get install mailman
Tento príkaz skopíruje inštalačné súbory do priečinka /var/lib/mailman, nainštaluje CGI skripty do priečinka /usr/lib/cgi-bin/mailman a vytvorí používateľa list a skupinu list, pod ktorým bude spustený proces mailman.
V tejto časti budeme predpokladať, že máme nainštalované systémy mailman, apache2 a postfix alebo exim4. Teraz je potrebné ich nakonfigurovať.
Príklad konfiguračného súboru Apache je súčasťou inštalácie systému Mailman a je umiestnený v súbore /etc/mailman/apache.conf
. Ak chceme aby Apache použil tento konfiguračný súbor, je potrebné ho nakopírovať do priečinka /etc/apache2/sites-available
:
sudo cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf
Týmto sme nastavili v systéme Aoache novú virtuálnu stanicu - VirtualHost pre administračný web systému Mailman. Teraz novú konfiguráciu zapneme a reštartujeme Apache:
sudo a2ensite mailman.conf
sudo /etc/init.d/apache2 restart
Mailman použije systém apache2 na spracovanie a zobrazenie svojich CGI skriptov. CGI skripty systému mailman sú nainštalované v priečinku /usr/lib/cgi-bin/mailman. Preto URL adresa bude http://menostanice/cgi-bin/mailman/. Ak by sme chceli túto skutočnosť zmeniť, môžeme to urobiť zmenou konfigurácie v súbore
/etc/apache2/sites-available/mailman.conf
.
Integráciu so systémom Postfix dosiahneme tak, že priradíme doménu diskusia.nieco.sk. Doménu diskusia.nieco.sk môžeme nahradiť takou, ktorú si zvolíme.
Pomocou príkazu postconf pridáme potrebné konfiguračné nastavenia do súboru /etc/postfix/main.cf
:
sudo postconf -e 'relay_domains = diskusia.nieco.sk'
sudo postconf -e 'transport_maps = hash:/etc/postfix/transport'
sudo postconf -e 'mailman_destination_recipient_limit = 1'
V súbore /etc/postfix/master.cf
pre istotu dvakrát skontrolujeme, či máme definovaný nasledujúci transport:
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
Tento transport volá skript postfix-to-mailman.py vždy, keď je mail doručený do diskusie.
Doménu diskusia.nieco.sk priradíme k transportu systému Mailman spolu s transportnou mapou. Otvoríme súbor /etc/postfix/transport
a upravíme ho:
diskusia.nieco.sk mailman:
Teraz v systéme Postfix vytvoríme transportnú mapu zadaním nasledujúceho príkazu do príkazového riadka:
sudo postmap -v /etc/postfix/transport
Potom Postfix reštartujeme, aby sa nová konfigurácia prejavila:
sudo /etc/init.d/postfix restart
Po nainštalovaní systému Exim4 ho môžeme spustiť pomocou nasledujúceho príkazu:
sudo /etc/init.d/exim4 start
Aby mailman spolupracoval so systémom Exim4, je potrebné nakonfigurovať Exim4. Ako sme už spomínali, v predvolenom stave Exim4 používa viacero konfiguračných súborov rozdielnych typov. Viac informácií sa nachádza na stránke Exim. Aby sme mohli mailman spustiť, je potrebné pridať nové konfiguračný súbor do nasledujúcich typov:
Exim vytvára hlavý konfiguračný súbor usporiadaním všetkých týchto mini konfiguračných súborov, preto je poradie týchto konfiguračných súborov veľmi dôležité.
Všetky konfiguračné súbory typu main (hlavné) sú uložené v priečinku
/etc/exim4/conf.d/main/
. Vytvoríme nový súbor s nasledujúcim obsahom, ktorý nazveme 04_exim4-config_mailman
:
# start
# Home dir for your Mailman installation -- aka Mailman's prefix
# directory.
# On Ubuntu this should be "/var/lib/mailman"
# This is normally the same as ~mailman
MM_HOME=/var/lib/mailman
#
# User and group for Mailman, should match your --with-mail-gid
# switch to Mailman's configure script. Value is normally "mailman"
MM_UID=list
MM_GID=list
#
# Domains that your lists are in - colon separated list
# you may wish to add these into local_domains as well
domainlist mm_domains=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# These values are derived from the ones above and should not need
# editing unless you have munged your mailman installation
#
# The path of the Mailman mail wrapper script
MM_WRAP=MM_HOME/mail/mailman
#
# The path of the list config file (used as a required file when
# verifying list addresses)
MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
# end
Všetky konfiguračné súbory typu transport (prenos) sú uložené v priečinku /etc/exim4/conf.d/transport/
. Vytvoríme nový súbor s nasledujúcim obsahom, ktorý nazveme 40_exim4-config_mailman
:
mailman_transport:
driver = pipe
command = MM_WRAP \
'${if def:local_part_suffix \
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
{post}}' \
$local_part
current_directory = MM_HOME
home_directory = MM_HOME
user = MM_UID
group = MM_GID
Všetky konfiguračné súbory typu router (smerovač) sú uložené v priečinku
/etc/exim4/conf.d/router/
. Vytvoríme nový súbor s nasledujúcim obsahom, ktorý nazveme 101_exim4-config_mailman
:
mailman_router:
driver = accept
require_files = MM_HOME/lists/$local_part/config.pck
local_part_suffix_optional
local_part_suffix = -bounces : -bounces+* : \
-confirm+* : -join : -leave : \
-owner : -request : -admin
transport = mailman_transport
![]() |
Poradie konfiguračných súborov main a transport môže mať ľubovoľné poradie, ale poradie konfiguračných súborov typu router musí byť rovnaké. Tento čiastkový súbor musí byť skôr ako súbor 200_exim4-config_primary. Tieto dva konfiguračné súbory obsahujú rovnaké typy informácií. Prvý aplikovaný súbor má prednosť. Viac informácií nájdete v zdrojoch na konci tejto časti. |
---|---|
Po nainštalovaní systému mailman ho môžeme spustiť nasledujúcim príkazom:
sudo /etc/init.d/mailman start
Keď je systém mailman nainštalovaný, môžeme vytvoriť predvolenú mailovú diskusiu. Spustíme nasledujúci príkaz, ktorý diskusiu vytvorí:
sudo /usr/sbin/newlist mailman
Enter the email address of the person running the list: bhuvan at ubuntu.com
Initial mailman password:
To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:
## mailman mailing list
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Hit enter to notify mailman owner...
#
Ak sme nastavili Postfix alebo Exim4 tak, aby rozpoznávali emaily z diskusie, nie je potrebné vytvárať nové záznamy v súbore
/etc/aliases
. Ak sme v konfiguračných súboroch vykonali akékoľvek zmeny, nesmieme zabudnúť reštartovať príslušné služby.
![]() |
Exim4 nepoužíva predchádzajúce aliasy na preposielanie mailov do systému
Mailman, pretože používa na nadviazanie kontaktu discover. Keď chcete počas vytvárania diskusie aliasy potlačiť, môžete pridať riadok
MTA=None do konfiguračného súboru |
---|---|
Budeme predpokladať, že máme predvolenú inštaláciu. Cgi skripty systému mailman sú stále v priečinku /usr/lib/cgi-bin/mailman/. Mailman poskytuje webové administračné rozhranie, ku ktorému sa dostaneme tak, že do prehliadača zadáme nasledujúcu URL adresu:
http://nazovstanice/cgi-bin/mailman/admin
Na obrazovke sa zjaví predovlená mailová diskusia - mailman. Ak klikneme na názov diskusie, bude potrebné zadať atentifikačné heslo. Ak zadáme správne heslo (to ktoré sme zadali ako Initial mailman password
), budeme môcť meniť administračné nastavenia tejto mailovej diskusie.
Novú mailovú diskusiu môžeme vytvoriť pomocou nástroja príkazového riadka
(/usr/sbin/newlist). Novú mailovú diskusiu j možné vytvoriť aj pomocou webového rozhrania.
Mailman poskytuje webové rozhranie aj pre používateľov. Toto rozhranie otvoríme zadaním nasledujúcej URL adresy do prehliadačal:
http://nazovstanice/cgi-bin/mailman/listinfo
Na obrazovke sa zjaví predvolená mailová diskusia - mailman. Ak klikneme na názov diskusie, zobrazí sa registračný formulár. Môžeme do neho zadať svoju emailovú adresu, meno (nepovinne) a heslo. Po zaregistrovaní, nám príde uvítací email a ďalej sa budeme riadiť podľa jeho inštrukcií.
GNU Mailman - Installation Manual
HOWTO - Using Exim 4 and Mailman 2.1 together
Za pozretie stojí aj stránka Mailman Ubuntu Wiki.
Jedným z najväčších problémov elektronickej pošty sú nevyžiadané reklamné emaily Unsolicited Bulk Email (UBE), ktoré tiež poznáme pod názvom SPAM. Niektoré emaily tiež môžu obsahovať vírusy alebo inú formu škodlivého kódu. Podľa štatistík práve tieto správy predstavujú väčšinu emailových správ posielaných cez Internet.
Táto časť hovorí o integrovaní programov Amavisd-new, Spamassassin a ClamAV do agenta na transport pošty - programu Postfix. Postfix tiež dokáže filtrovať emaily použitím externých filtrov obsahu. Tieto filtre môžu určiť, či správa je spam bez toho aby ju bolo nutné kontrolovať náročnými aplikáciami. Dva najčastejšie používané filtre sú dkim-filter a python-policyd-spf.
Amavisd-new je prepojovací program, ktorý môže spustiť ľubovoľné množstvo programov na filtrovanie obsahu, napríklad kvôli detekcii spamu, vírusov, atď.
Spamassassin používa rôzne mechanizmy na filtrovanie emailov podľa toho, čo obsahujú.
ClamAV je otvorený antivírový program.
dkim-filter implementuje Sendmail Mail Filter (Milter) pre štandard DomainKeys Identified Mail (DKIM).
python-policyd-spf zapne kontrolu pomocou Sender Policy Framework (SPF) v programe Postfix.
Takto jednotlivé časti spolupracujú:
Postfix príme Emailovú správu.
Správa prejde cez externé filtre dkim-filter a python-policyd-spf.
Potom novú správu spracuje Amavisd-new.
Na kontrolu proti vírusom sa použije ClamAV. Ak správa obsahuje vírus, Postfix ju odmietne.
Správu bez vírusu analyzuje Spamassassin, ktorý zistí, či správa nie je spam. Spamassassin potom pridá do správy riadky hlavičky X-Header, ktoré umožnia programu Amavisd-new rozhodnúť čo má urobiť ďalej so správou.
Napríklad, ak je správa dostane 50 zlých bodov, správa môže byť automaticky vyradená z fronty bez upozornenia príjemcu. V opačnom prípade bude postúpená agentovi, ktorý doručí správu používateľovi.
Návod na inštaláciu systému Postfix sa nachádza v časti Postfix.
Ostatné aplikácie nainštalujete zadaním nasledujúcich príkazov do príkazového riadka:
sudo apt-get install amavisd-new spamassassin clamav-daemon
sudo apt-get install dkim-filter python-policyd-spf
Existuje niekoľko voliteľných balíkov, ktoré sa dajú integrovať do programu Spamassassin, aby lepšie odhaľoval spam:
sudo apt-get install pyzor razor
Okrem hlavných filtrovacích aplikácií, sú potrebné aj nástroje na rozbaľovanie, ktoré umožnia kontrolu skomprimovaných príloh:
sudo apt-get install arj cabextract cpio lha nomarch pax rar unrar unzip zip zoo
![]() |
Ak systém niektorý z balíkov nenájde, skontrolujte, či je povolené
úložisko multiverse v súbore
Ak urobíte v súbore zmeny, je potrebné pred spustením inštalačného príkazu spustiť ešte príkaz sudo apt-get update. |
---|---|
Teraz všetky systémy nastavíme tak, aby spolu fungovali a filtrovali poštu.
Predvolené správanie antivírového programu ClamAV je vyhovujúce.
Viac o konfigurácii systému ClamAV sa dozvieme priamo v konfiguračných súboroch v priečinku
/etc/clamav
.
Používateľa s názvom clamav pridáme do skupiny amavis aby mal systém Amavisd-new prístup ku skenovaným súborom:
sudo adduser clamav amavis
Spamassassin automaticky zistí voliteľné komponenty a použije ich ak sú dostupné. To znamená, že nie je potrebné nastavovať systémy pyzor a razor.
Otvoríme súbor /etc/default/spamassassin
a aktivujeme démon Spamassassin.
Zmeníme ENABLED=0 na:
ENABLED=1
Teraz reštartujeme démon:
sudo /etc/init.d/spamassassin start
Najskôr aktivujeme detekciu spamu a vírusov v Amavisd-new úpravou súboru
/etc/amavis/conf.d/15-content_filter_mode
:
use strict;
# You can modify this file to re-enable SPAM checking through spamassassin
# and to re-enable antivirus checking.
#
# Default antivirus checking mode
# Uncomment the two lines below to enable it
#
@bypass_virus_checks_maps = (
\%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
#
# Default SPAM checking mode
# Uncomment the two lines below to enable it
#
@bypass_spam_checks_maps = (
\%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
1; # insure a defined return
Vracanie spamu je zlý nápad pretože spiatočná adresa je väčšinou falošná. Preto otvoríme súbor
/etc/amavis/conf.d/20-debian_defaults
a nastavíme $final_spam_destiny na D_DISCARD miesto D_BOUNCE, takto:
$final_spam_destiny = D_DISCARD;
Ďalej môžeme zmeniť nasledujúce voľby aby sme viac správ označili ako spam:
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.0; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 21.0; # triggers spam evasive actions
$sa_dsn_cutoff_level = 4; # spam level beyond which a DSN is not sent
Ak je menná adresa servera iná ako MX záznam, bude potrebné nastaviť $myhostname. Ak server prijíma maily z viacerých domén, prispôsobíme aj nastavenie
@local_domains_acl. Upravíme súbor
/etc/amavis/conf.d/50-user
:
$myhostname = 'mail.nieco.sk';
@local_domains_acl = ( "nieco.sk", "nieco.org" );
Po dokončení nastavovania Amavisd-new systém reštartujeme:
sudo /etc/init.d/amavis restart
Amavisd-new môžeme nastaviť aj tak, aby automaticky dal na bielu listinu - Whitelist adresy z doménou podľa platných doménových kľúčov. V súbore
/etc/amavis/conf.d/40-policy_banks
sa nachádza niekoľko predkonfigurovaných domén.
Existuje niekoľko spôsobov ako pridať ďalšiu doménu na Whitelist:
'nieco.sk' => 'WHITELIST',: pridá na bielu listinu adresy z domény "nieco.sk".
'.nieco.sk' => 'WHITELIST',: pridá na bielu listinu adresy z ľubovoľnej poddomény domény "nieco.sk", ktoré majú platný podpis.
'.nieco.sk/@nieco.sk' => 'WHITELIST',: pridá na bielu listinu adresy z poddomén domény "nieco.sk", ktoré používajú podpis rodičovskej domény nieco.sk.
'./@nieco.sk' => 'WHITELIST',: pridá adresy ktoré majú platný podpis od "nieco.sk". Toto sa zvyčajne používa pri vytváraní diskusných skupín ktoré podpisujú svoje správy.
Doména môže mať viacero Whitelist nastavení. Po dokončení úprav je potrebné reštartovať amaisd-new:
sudo /etc/init.d/amavis restart
![]() |
Ak je doména pridaná na bielu listinu, správy z tejto domény nebudú kontrolované antivírovým programom ani spamovým filtrom. |
---|
Programy integrujeme do systému Postfix zadaním nasledujúceho príkazu do príkazového riadka:
sudo postconf -e 'content_filter = smtp-amavis:[127.0.0.1]:10024'
Potom otvoríme súbor /etc/postfix/master.cf
a pridáme nasledujúce riadky na koniec súboru:
smtp-amavis unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20
127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
Tiež pridáme nasledujúce dva riadky hneď pod transportnú službu "pickup":
-o content_filter=
-o receive_override_options=no_header_body_checks
Toto ochráni správy, ktoré sú vygenerované ako hlásenie o spame aby neboli zatriedené medzi spam.
Teraz reštartujemet Postfix:
sudo /etc/init.d/postfix restart
Filtrovanie obsahu s detekciou spamu a vírusov je teraz zapnuté.
Najskôr otestujeme, či Amavisd-new SMTP načúva:
telnet localhost 10024
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
^]
V hlavičke správ, ktoré prešli cez filter by sme mali vidieť:
X-Spam-Level:
X-Virus-Scanned: Debian amavisd-new at nieco.sk
X-Spam-Status: No, hits=-2.3 tagged_above=-1000.0 required=5.0 tests=AWL, BAYES_00
X-Spam-Level:
![]() |
Výstup môže byť rôzny ale dôležité je aby v hlavičke boli záznamy X-Virus-Scanned a X-Spam-Status. |
---|---|
Najlepší spôsob ako zistiť prečo niečo nefunguje správne, je skontrolovať súbory so záznamami.
Postup ako nastaviť zaznamenávanie v systéme Postfix sa nachádza v časti “Riešenie problémov”.
Amavisd-new používa Syslog na posielanie správ do /var/log/mail.log
. Detailnosť správ sa dá nastaviť pomocou nastavenia
$log_level v súbore /etc/amavis/conf.d/50-user
, ktoré môže mať hodnotu 1 až 5.
$log_level = 2;
![]() |
Keď zvýšite detailnosť výstupu systému Amavisd-new, zvýši sa aj detailnosť výstupu systému Spamassassin. |
---|---|
Detailnosť výstupov systému ClamAV sa dá zvýšiť nastavením v súbore /etc/clamav/clamd.conf
pomocou nasledujúceho nastavenia:
LogVerbose true
V predvolenom stave bude ClamAV odosielať správy do súboru /var/log/clamav/clamav.log
.
![]() |
Po zmene nastavení záznamov reštartujte služby, aby sa nové nastavenia prejavili. Keď problém vyriešite, vráťte nastavenia späť na pôvodné hodnoty. |
---|---|
Viac informácií o filtrovaní mailov sa dozvieme na týchto stránkach:
Môžeme tiež požiadať niekoho o pomoc v #ubuntu-server IRC kanále na freenode.
V tejto časti si povieme o tom, ako nainštalovať a nastaviť IRC server ircd-irc2 a povieme si aj o tom, ako nainštalovať a nastaviť Jabber server pre odosielanie tzv. okamžitých správ.
Úložiská softvéru Ubuntu obsahujú mnoho Internet Relay Chat serverov. Táto časť sa zameria na to, ako nainštalovať a nastaviť IRC server ircd-irc2.
Ak chceme nainštalovať ircd-irc2, spustíme nasledujúci príkaz v príkazovom riadku:
sudo apt-get install ircd-irc2
Konfiguračné súbory sú uložené v priečinku
/etc/ircd
. Dokumentácia je dostupná zasa v priečinku /usr/share/doc/ircd-irc2
.
IRC nastavenia môžeme zmeniť v konfiguračnom súbore
/etc/ircd/ircd.conf
. V tomto súbore môžeme nastaviť názov IRC stanice zmenou nasledujúceho riadka (miesto irc.localhost):
M:irc.localhost::Debian ircd default configuration::000A
Uistite sa, že alias tohto meno stanice je definovaný aj v DNS. Napríklad, ak nastavíme ako meno IRC stanice irc.nieco.sk, uistíme sa, či DNS server vráti pre mennú adresu irc.nieco.sk číselnú IP adresu. Názov IRC stanice by nemal byť rovnaký, ako názov samotnej stanice (počítača).
Nastavenia účtu IRC administrátora sa dajú upraviť pomocou nasledujúceho riadka:
A:Organization, IRC dept.:Daemon <ircd@example.irc.org>:Client Server::IRCnet:
Môžeme pridať ďalšie riadky, ktorými nastavíme IRC porty, na ktorých má server načúvať, prihlasovacie údaje operátora, spôsob autentifikácie klientov atď. Viac informácií sa nachádza vo vzorovom konfiguračnom súbore
/usr/share/doc/ircd-irc2/ircd.conf.example.gz
.
Úvodná správa, ktorá sa má zobraziť v IRC klientovi po pripojení k serveru, sa dá nastaviť v súbore
/etc/ircd/ircd.motd
.
Po vykonaní všetkých potrebných zmien reštartujeme IRC server použitím nasledujúceho príkazu:
sudo /etc/init.d/ircd-irc2 restart
Úložiská Ubuntu obsahujú aj ďalšie IRC servery, napríklad ircd-ircu a ircd-hybrid.
Viac informácií o IRC serveroch sa dozviete na stránke IRCD FAQ.
Viac informácií sa nachádza aj na stránke Ubuntu Wiki IRCD.
Jabber je populárny protokol na odosielanie okamžitých správ (instant message) založený na otvorenom štandarde XMPP, ktorý používa mnoho populárnych aplikácií. Táto časť hovorí o tom, ako nastaviť Jabberd 2 v lokálnej sieti LAN. Toto nastavenie sa však dá prispôsobiť aj tak, aby poskytovaná služba fungovala aj cez Internet.
Server jabberd2 nainštalujeme zadaní príkazu:
sudo apt-get install jabberd2
Na autentifikáciu do systému jabberd2 sa používa Berkely DB, ktorá sa nastavuje pomocou niekoľkých XML konfiguračných súborov. Je to veľmi jednoduchý spôsob autentifikácie. Ak nám takýto spôsob autentifikácie nevyhovuje, jabberd2 umožňuje autentifikáciu za pomoci systémov LDAP, MySQL, Postgresql, atď.
Najskôr otvoríme súbor /etc/jabberd2/sm.xml
a zmeníme riadok:
<id>jabber.nieco.sk</id>
![]() |
Miesto adresy jabber.nieco.sk zadajte mennú alebo číselnú adresu vášho servera. |
---|---|
Teraz v časti <storage> zmeníme hodnotu <driver> na:
<driver>db</driver>
Potom otvoríme súbor /etc/jabberd2/c2s.xml
a v časti <local> zmeníme hodnotu:
<id>jabber.nieco.sk</id>
a v časti <authreg> upravíme hodnotu <module> na:
<module>db</module>
Nakoniec reštartujeme jabberd2 aby sa prejavili nové nastavenia:
sudo /etc/init.d/jabberd2 restart
Teraz by sa malo dať pripojiť na server pomocou Jabber klienta ako napríklad Pidgin.
![]() |
Výhoda použitia Berkeley DB pre dáta používateľov je tá, že po nastavení nie je potrebná žiadna ďalšia údržba. Ak potrebujete mať väčšiu kontrolu nad kontami používateľov, odporúčame použiť iný spôsob autentifikácie. |
---|---|
Viac informácií o konfigurácii servera Jabberd2 sa nachádza na stránke Jabberd2 Web Site.
Viac informácií o možnostiach autentifikácie sa nachádza na stránke Jabberd2 Install Guide.
Viac informácií sa nachádza aj na stránke Setting Up Jabber Server Ubuntu Wiki.
Správa verzií je umenie správy zmien k informáciám. Donedávna to bol kľúčový nástroj najmä pre programátorov, ktorí pridávajú do programov malé zmeny a potom ich na druhý deň potrebujú zrušiť. Užitočnosť takéhoto softvéru pre správu verzií však dnes už siaha ďaleko za hranice vývoja softvéru. Kdekoľvek sa môže nájsť skupina ľudí, ktorá používa počítač na správu informácií, ktoré sa často menia. Takíto, ľudia určite využijú systém na správu verzií.
Bazaar je nový systém na kontrolu verzií sponzorovaný spoločnosťou Canonical, čo je spoločnosť, ktorá vyvíja Ubuntu. Na rozdiel od systémov Subversion a CVS, ktoré podporujú iba centrálny model úložiska, Bazaar podporuje aj distribuované riadenie verzii, čo ľuďom umožňuje efektívnejšie spolupracovať. Bazaar bol vyvinutý na maximalizovanie úrovne spolupatričnosti komunity na otvorených projektoch.
Do príkazového riadka zadáme nasledujúci príkaz:
sudo apt-get install bzr
Aby sme uviedli samého seba do bzr, použijeme príkaz whoami:
$ bzr whoami 'Jozef Mrkva <jozef.mrkva@gmail.com>'
Súčasťou systému Bazaar je i dokumentácia, ktorá sa nachádza v priečinku /usr/share/doc/bzr/html. Tento návod je vhodný pre začiatočníkov. Príkaz bzr má tiež vstavaného pomocníka:
$ bzr help
Ak sa chceme dozvedieť viac, napríklad o príkaze foo, zadáme:
$ bzr help foo
Aj keď je Bazaar veľmi užitočný ako samostatný systém, poskytuje aj možnosť prepojenia so systémom Launchpad, čo je systém určený na spoluprácu pri vývoji, ktorý používa spoločnosť Canonical a rozsiahla komunita na správu a rozširovanie samotného Ubuntu. Informácie o tom, ako sa dá Bazaar použiť so systémom Launchpad na spoluprácu na otvorených projektoch, sa nachádzajú na stránke http://bazaar-vcs.org/LaunchpadIntegration.
Subversion je systém s otvoreným zdrojovým kódom na správu verzií. Pomocou Subversion, môžete zaznamenať históriu zdrojových súborov a dokumentov. Spravuje súbory a priečinky v čase. Strom súborov je umiestnený v centrálnom úložisku. Úložisko je veľmi podobné súborovému serveru s tým rozdielom, že si pamätá každú zmenu vykonanú v súboroch a priečinkoch.
Subversion: stručný návod
Aby sme mohli pristupovať k úložisku systému Subversion cez HTTP protokol, musíme nastaviť webový server. Správnu funkčnosť so systémom Subversion vykazuje webový server Apache2. Návod, ako nainštalovať webový server Apache2, nájdeme v časti HTTPD - webový server Apache2. Aby sme mohli do úložiska systému Subversion pristupovať cez HTTPS protokol, musíme nainštalovať a nastaviť digitálny certifikát pre webový server Apache 2. Návod na nastavenie digitálneho certifikátu nájdeme v časti Nastavenie HTTPS.
Subversion nainštalujeme zadaním nasledujúceho príkazu do príkazového riadka:
sudo apt-get install subversion libapache2-svn
V tomto kroku budeme predpokladať, že máme nainštalované vyššie spomínané balíky. V tejto časti si povieme, ako môžeme vytvoriť úložisko systému Subversion a vstúpiť do projektu.
Úložisko systému Subversion môžeme vytvoriť zadaním nasledujúceho príkazu do príkazového riadka:
svnadmin create /cesta/k/uložisku/projektu
Po vytvorení úložiska môžeme naimportovať súbory do úložiska. Import do priečinka spustíme zadaním nasledujúceho príkazu do príkazového riadka:
svn import /cesta/k/import/priečinku file:///cesta/k/úložisku/projektu
Do úložísk systému Subversion sa dá vstúpiť rôznymi spôsobmi - cez lokálny disk alebo pomocou rôznych sieťových protokolov. Umiestnenie úložiska však vždy zadávame vo forme URL adresy. V nasledujúcej tabuľke je popis rôznych metód prístupu.
Tabuľka 14.1. Metódy prístupu
Schéma |
Spôsob prístupu |
---|---|
file:// |
Priamy prístup do úložiska (ak je na lokálnom disku) |
http:// |
Prístup cez protokol WebDAV k Apache2 web serveru s podporou Subversion |
https:// |
Rovnaký ako http://, len spolu s SSL šifrovaním |
svn:// |
Prístup cez vlastný protokol k svnserve serveru |
svn+ssh:// |
Rovnaký ako svn://, ale cez SSH tunel |
V tejto časti si ukážeme, ako nastaviť Subversion, aby všetky tieto metódy prístupu fungovali. Povieme si len o základných nastaveniach. Viac informácii sa nachádza v knihe svn book.
Toto je najjednoduchšia metóda prístupu. Nevyžaduje, aby bol spustený nejaký serverový proces Subversion. Táto metóda prístupu sa používa na prístup z rovnakej stanice ako je tá, na ktorej je umiestnené úložisko Subversion. Syntax príkazu, ktorý zadáme do príkazového riadka je nasledujúci:
svn co file:///cesta/k/uložisku/projektu
alebo
svn co file://localhost/cesta/k/uložisku/projektu
![]() |
Ak nezadáme názov stanice, je potrebné použiť tri lomky (///) -- dve pre protokol (file:// ) a jedno ako označenie kmeňového priečinka súborového systému. Ak zadáme názov stanice (localhost), stačia iba dve lomky (//). |
---|---|
Oprávnenia k úložisku závisia od oprávnení použíitých v súborovom systéme. Ak používateľ má právo na čítanie a zápis, môže prečítať obsah úložiska a zapisovať do neho.
Ak chceme do úložiska Subversion pristupovať cez protokol WebDAV, musíme nastaviť webový server Apache 2. Musíme pridať nasledujúce riadky medzi zančky <VirtualHost> a </VirtualHost> do konfiguračného súboru /etc/apache2/apache2.conf
:
<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Názov nášho úložiska"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
![]() |
Predchádzajúce konfiguračné riadky predpokladajú, že úložisko Subversion bolo vytvorené v priečinku |
---|---|
Aby bolo možné importovať a dokladať súbory do úložiska Subversion cez protokol HTTP, je potrebné, aby úložisko vlastnil používateľ HTTP. V systéme Ubuntu sa HTTP používateľ volá www-data. Vlastníka úložiska zmeníme zadaním nasledujúceho príkazu do príkazového riadka:
sudo chown -R www-data:www-data /cesta/k/úložisku
![]() |
Po zmene vlastníka úložiska na www-data nebude možné importovať a odosielať súbory do úložiska pomocou príkazu svn import file:/// pod iným používateľom než je www-data. |
---|---|
V ďalšom kroku vytvoríme súbor /etc/subversion/passwd
, ktorý bude obsahovať autentifikačné informácie o používateľoch.
Súbor vytvoríme zadaním nasledujúceho príkazu do príkazového riadka (ten vytvorí súbor a pridá prvého používateľa):
sudo htpasswd -c /etc/subversion/passwd meno_pouzivatela
Ak chceme pridať ďalších používateľov, môžeme vynechať prepínač "-c" inak by bol súbor nanovo vytvorený. Použijeme teda takýto príkaz:
sudo htpasswd /etc/subversion/password meno_pouzivatela
Po spustení príkazu bude potrebné zadať heslo. Po zadaní hesla sa pridá používateľ. Odteraz sa nový používateľ bude môcť pripojiť do úložiska spustením nasledujúceho príkazu:
svn co http://menoservera/sv
![]() |
Heslo sa bude prenášať ako bežný text. Ak sa obávate odchytenia hesla, je potrebné použiť SSL šifrovanie. Viac informácii je v nasledujúcom texte. |
---|---|
Spôsob pripojenia do úložiska Subversion cez protokol WebDAV s SSL šifrovaním (https://) je podobný prístupu http:// s tým rozdielom, že musíme nainštalovať a nastaviť digitálny certifikát pre webový server
Apache2.
Keď chceme použiť SSL spolu so Subversion pridáme konfiguráciu Apache2 uvedenú vyššie do súboru /etc/apache2/sites-available/default-ssl
. Viac informácií o nastavovaní Apache2 spolu so SSL nájdeme v časti Konfigurácia HTTPS.
Môžeme nainštalovať digitálny certifikát podpísaný certifikačnou autoritou alebo nainštalovať sebou podpísaný certifikát.
Za predpokladu, že máme nainštalovaný a nastavený digitálny certifikát pre webový server Apache 2, môžeme vstúpiť do úložiska Subversion tak, ako je to popísané v predchádzajúcej časti. Spôsob prístupu je presne ten istý, s tým rozdielom, že na prístup do úložiska Subversion použijeme protokol https://.
Po vytvorení úložiska Subversion môžeme nastaviť prístupový protokol. Otvoríme súbor /cesta/k/úložisku/projektu/conf/svnserve.conf
a nastavíme riadenie prístupu. Napríklad, ak chceme nastaviť autentifikáciu, odpoznámkujeme nasledujúce riadky v konfiguračnom súbore:
# [general]
# password-db = passwd
Po odpoznámkovaní predchádzajúcich riadkov môžeme upraviť zoznam používateľov v súbore passwd. Otvoríme súbor passwd, ktorý sa nachádza v rovnakom priečinku a pridáme nového používateľa
. Syntax je nasledovná:
menopouzivatela = heslo
Viac informácií sa dozviete priamo v súbore.
Teraz môžeme vstúpiť do úložiska Subversion cez vlastný protokol svn://, buď z rovnakého alebo vzdialeného počítača, spustením príkazu svnserve. Syntax je nasledovná:
$ svnserve -d --foreground -r /cesta/k/úložisku
# -d -- režim démona
# --foreground -- spustí na popredí (užitočné pre ladenie)
# -r -- poskytnúť ako kmeňový priečinok
Viac informácie o príkaze získame po zadaní:
$ svnserve --help
Po spustení tohto príkazu Subversion začne načúvať na predvolenom porte (3690). Ak sa chceme pripojiť do úložiska project, musíme spustiť nasledujúci príkaz v príkazovom riadku:
svn co svn://nazovstanice/project project --username meno_pouzivatela
Ak je server tak nastavený, vyžiada si zadanie hesla. Po autentifikácii sa porovná kód s úložiskom Subversion. Ak chceme synchronizovať úložisko s lokálnou kópiou projektu, môžeme použiť príkaz svn update. Syntax príkazu je nasledovná:
cd priečinok_projektu ; svn update
Viac informácií o používaní podpríkazov príkazu svn sa dozvieme v referenčnej príručke. Napríklad, ak sa chceme dozvedieť viac o príkaze co (checkout), spustíme nasledujúci príkaz v príkazovom riadku:
svn co help
Konfigurácia a spustenie serverového procesu je rovnaká ako pri metóde svn://. Detaily sa nachádzajú v predchádzajúcej časti. V tomto kroku predpokladáme, že sme už vykonali predchádzajúce kroky a že sme spustili Subversion server pomocou príkazu svnserve.
Predpokladáme tiež, že je na počítači spustený ssh server, ktorý umožňuje pripojenia. Aby sme sa o tom uistili, prihlásime sa k počítaču pomocou ssh. Ak sme sa prihlásili, všetko funguje správne. Ak sa nám prihlásiť nepodarilo, je potrebné najskôr odstrániť tento problém. Návod, ako nainštalovať a nastaviť ssh server, sa nachádza v časti OpenSSH server.
Protokol svn+ssh:// sa používa na prístup k úložisku Subversion pomocou SSL šifrovania. Dátový prenos je šifrovaný pomocou tejto metódy. Ak sa chceme pripojiť do úložiska (napríklad pomocou príkazu checkout), použijeme nasledujúcu syntax:
svn co svn+ssh://nazovstanice/var/svn/repos/project
![]() |
Pri použití tejto metódy je potrebné použiť celú cestu (/cesta/k/úložisku/projektu) k úložisku Subversion. |
---|---|
Ak je server tak nastavený, vyžiada si prístupové heslo. Musíme zadať heslo, ktorým sa prihlasujeme cez ssh. Po prihlásení sa skontroluje kód z úložiska Subversion.
CVS je systém na správu verzií. Môžete ho použiť na zaznamenanie histórie zdrojových súborov.
CVS nainštalujeme spustením nasledujúceho príkazu z príkazového riadka:
sudo apt-get install cvs
Po nainštalovaní cvs, by sme mali nainštalovať xinetd, aby sme mohli spustiť a zastaviť cvs server. V príkazovom riadku zadáme nasledujúci príkaz, ktorým nainštalujeme xinetd:
sudo apt-get install xinetd
Po nainštalovaní cvs sa automaticky inicializuje úložisko. V predvolenom stave sa nachádza v priečinku /var/lib/cvs. Toto umiestnenie môžeme zmeniť pomocou príkazu:
cvs -d /naše/nove/cvs/úložisko init
Keď sme inicializovali úložisko, nastavíme xinetd, aby spustil CVS server.
Nasledujúce riadky nakopírujeme do súboru /etc/xinetd.d/cvspserver
.
service cvspserver
{
port = 2401
socket_type = stream
protocol = tcp
user = root
wait = no
type = UNLISTED
server = /usr/bin/cvs
server_args = -f --allow-root /var/lib/cvs pserver
disable = no
}
![]() |
Nezabudnite zmeniť cestu k úložisku, ak ste zmenili predvolené úložisko (/var/lib/cvs). |
---|---|
Po nakonfigurovaní xinetd môžeme spustiť cvs server zadaním nasledujúceho príkazu:
sudo /etc/init.d/xinetd restart
Či je CVS server spustený, sa môžeme presvedčiť zadaním nasledujúceho príkazu:
sudo netstat -tap | grep cvs
Po spustení tohto príkazu by sme mali vidieť nasledujúci riadok alebo riadok jemu podobný:
tcp 0 0 *:cvspserver *:* LISTEN
Teraz môžeme pokračovať pridaním používateľov nových projektov a spravovať CVS server.
![]() |
CVS umožňuje pridávať používateľov nezávisle od operačného systému. Pravdepodobne najjednoduchší spôsob pre CVS je ale použitie Linuxových používateľov, aj napriek možným bezpečnostým rizikám. Podrobnosti nájdete v CVS manuále. |
---|---|
V tejto časti si povieme, ako pridať nový projekt do CVS úložiska. Vytvoríme priečinok a pridáme potrebný dokument a zdrojové súbory do priečinka. Teraz spustíme nasledujúci príkaz, ktorým pridáme projekt do CVS úložiska:
cd náš/projekt
cvs -d :pserver:pouzivatel@nieco.sk:/var/lib/cvs import -m "Importovanie projektu do CVS úložiska" . novy_projekt start
![]() |
Miesto cesty k úložisku môžete použiť premmenú prostredia s názvom CVSROOT. Keď exportujete premennú prostredia CVSROOT, môžete vynechať prepínač -d v predchádzajúcom príkaze cvs. |
---|---|
Reťazec novy_projekt je označenie poskytovateľa a start je označenie vydania. V tejto chvíli reťazce neslúžia žiadnemu účelu, ale pretože CVS ich vyžaduje, musíme ich zadať.
![]() |
Keď pridáte nový projekt, používateľ CVS musí mať právo na zápis do CVS úložiska (/var/lib/cvs). V predvolenom stave má právo na zápis skupina src, takže stačí ak používateľa do tejto skupiny. Potom môžeme pridávať a spravovať projekty v CVS úložisku. |
---|---|
Pre úspešné prepojenie s klientami Windows Ubuntu zahrňuje poskytovanie a integrovanie služieb, ktoré sú spoločné s rozhraním Windows. Služby na zdieľanie dát a informácií o počítačoch a používateľoch pripojených do siete môžeme rozdeliť do troch hlavných kategórií podľa funkcionality:
Súborové a tlačové služby. Tieto služby využívajú protokol Server Message Block (SMB) na zdieľanie súborov, priečinkov, diskových zväzkov a tlačiarní v sieti.
Adresárové služby. Zdieľanie dôležitých informácii o počítačoch a používateľoch siete umožňujú technológie Lightweight Directory Access Protocol (LDAP) a Microsoft Active Directory®.
Autentifikácia a prístup. Stanovenie identity počítača a používateľov v sieti a určenie, či je počítač alebo používateľ autorizovaný, sa používajú také princípy a technológie, akými sú práva súborového systému, skupinová politika a autentifikačná služba Kerberos.
Našťastie systém Ubuntu môže všetky tieto služby poskytnúť klientom so systémom Windows a zdielať s nimi sieťové zdroje. Jednou z hlavných častí softvéru, ktorý poskytuje systém Ubuntu pre sieť Windows, je systém Samba - balík serverových aplikácií SMB a nástrojov.
Táto časť príručky systému Ubuntu Server hovorí o niektorých najčastejších spôsoboch využitia systému Samba, o inštalácii a konfigurácii potrebných balíkov. Podrobnejšiu dokumentáciu a informácie o systéme Samba nájdeme na stránke Samba website.
Jeden z najčastejších spôsobov, ako spolu zapojiť počítače so systémami Ubuntu a Windows do jednej siete, je nastaviť systém Samba ako súborový server. Táto časť hovorí o spôsobe, akým sa Samba server nastaví tak, aby zdieľal súbory so stanicami so systémom Windows.
Server nakonfigurujeme tak, aby zdieľal súbory so všetkými stanicami v sieti bez toho, aby vyžadoval prístupové heslo. Keby sme potrebovali nastaviť prísnejšie pravidlá pre prístup, návod nájdeme v časti Zabezpečenie súborového a tlačového servera Samba.
Najskôr nainštalujeme balík samba. V príkazovom riadku zadáme:
sudo apt-get install samba
To je všetko, čo budeme potrebovať. Teraz môžeme nastaviť systém Samba tak, aby zdieľal súbory.
Hlavný konfiguračný súbor systému Samba je /etc/samba/smb.conf
. Predvolený konfiguračný súbor obsahuje veľké množstvo komentárov, ktoré popisujú jednotlivé nastavenia.
![]() |
V predvolenom konfiguračnom súbore sa nenachádzajú všetky nastavenia,
ktoré je možné použiť. Viac sa dozviete na man stránkach |
---|---|
Najskôr nastavíme nasledujúce hodnoty nastavení v časti [global] súboru
/etc/samba/smb.conf
:
workgroup = NIECO
...
security = user
Parameter security je takmer na konci časti [global] a je v predvolenom stave zapoznámkovaný, preto ho odpoznámkujeme. Nastavenie pracovnej skupiny NIECO prispôsobíme nášmu prostrediu.
Vytvoríme novú časť na konci súboru alebo odkomentujeme jeden z existujúcich príkladov zdieľaného priečinka:
[zdielanie]
comment = Zdieľanie pomocou súborového servera Ubuntu
path = /srv/samba/zdielanie
browsable = yes
guest ok = yes
read only = no
create mask = 0755
comment: krátky popis zdieľania. Zmeňte ho podľa potrieb.
path: cesta k priečinku, ktorý chceme zdielať.
V tomto príklade sme použili cestu v tvare /srv/samba/zdielany_priecinok,
pretože podľa štandardu
Filesystem Hierarchy Standard (FHS) je priečinok
/srv
určený práve na takýto typ dát. Technicky môže byť priečinok, ktorý
chceme pomocou Samby zdieľať, kdekoľvek v súborovom systéme za
predpokladu, že sú správne nastavené práva, ale odporúča sa
dodržiavanie štandardov.
browsable: povolí klientom Windows prehliadať obsah zdielaného priečinka pomocou programu Windows Explorer.
guest ok: umožňuje klientom pripojiť sa bez zadania hesla.
read only: určuje či je zdieľanie iba na čítanie alebo či sa do neho dá aj zapisovať. Právo na zápis je povolené, iba ak je nastavená hodnota no, tak ako je to v našom príklade. Ak je hodnota yes, potom je zdieľanie určené iba na čítanie.
create mask: určuje práva na nové súbory, ktoré sa nastavia pri ich vytvorení.
Teraz, keď je systém Samba nastavený, je potrebné vytvoriť priečinok a nastaviť práva. V príkazovom riadku zadáme:
sudo mkdir -p /srv/samba/zdielanie
sudo chown nobody.nogroup /srv/samba/zdielanie/
![]() |
Prepínač -p povie príkazu mkdir aby vytvoril všetky priečinky na zadanej ceste, ak ešte nie sú vytvorené. Priečinok zdielanie zmente podľa svojich potrieb. |
---|---|
Nakoniec reštartujeme službu samba, aby sa prejavila nová konfigurácia:
sudo /etc/init.d/samba restart
![]() |
Znova pripomíname, že predchádzajúca konfigurácia umožňuje prístup všetkým klientom z lokálnej siete. Bezpečnejšiu konfiguráciu nájdete v časti Zabezpečenie súborového a tlačového servera Samba. |
---|---|
Klienti so systémom Windows sa teraz môžu pripojiť k súborovému serveru Ubuntu a prehliadať zdieľané priečinky. Aby sme zistili, či všetko funguje správne, môžeme zo systému Windows v zdieľanom priečinku vytvoriť podpriečinok.
Ak chceme vytvoriť ďalšie zdieľania, vytvoríme novú časť [priečinok] v súbore
/etc/samba/smb.conf
a reštartujeme systém Samba. Nesmieme tiež zabudnúť vytvoriť priečinok a nastaviť mu správne práva.
Podrobnejšie informácie o nastavení systému Samba sa nachádzajú na stránke Samba HOWTO Collection
Príručka je dostupná aj vo verzii pre tlač.
Ďalším dobrým zdrojom je O'Reillyho Using Samba.
Tiež stránka Ubuntu Wiki Page.
Iné často používané použitie systému Samba je konfigurácia a zdieľanie tlačiarní v sieti lokálne nainštalovaných k serveru so systémom Ubuntu. Podobne, ako v časti "Samba ako súborový server", aj v tejto časti nastavíme systém Samba tak, aby ktorýkoľvek klient lokálnej siete mohol použiť nainštalované tlačiarne bez zadania používateľského mena a hesla.
Viac informácií o bezpečnejšom nastavení nájdeme v časti "Zabezpečenie súborového a tlačového servera Samba".
Pred nainštalovaním a nastavením systému Samba je dobré, ak už máme funkčnú inštaláciu systému CUPS. Viac informácií nájdeme v časti "CUPS - Tlačový server".
Balík samba nainštalujeme zadaním príkazu:
sudo apt-get install samba
Po nainštalovaní balíka samba upravíme konfiguráciu v súbore /etc/samba/smb.conf
. Zmeníme pracovnú skupinu workgroup,
tak aby zodpovedala nastaveniu našej siete a zmeníme tiež parameter security na hodnotu share:
workgroup = NIECO
...
security = user
V časti [printers] zmeníme nastavenie guest ok na yes:
browsable = yes
guest ok = yes
Po ukončení úprav konfiguračného súboru smb.conf
reštartujeme systém Samba:
sudo /etc/init.d/samba restart
Systém Samba je už nastavený tak, aby automaticky nazdieľal všetky nainštalované tlačiarne. Stačí nainštalovať ovládač k zdieľanej tlačiarni na staniciach so systémom Windows.
Podrobnejšie informácie o nastavení systému Samba sa nachádzajú na stránke Samba HOWTO Collection
Príručka je dostupná aj vo verzii pre tlač.
Ďalším dobrým zdrojom je O'Reillyho Using Samba.
Viac informácií o nastavovaní systému CUPS nájdeme na stránke CUPS Website.
Existujú dve bezpečnostné úrovne dostupné pre sieťový protokol Common Internet Filesystem (CIFS): user-level (používateľská úroveň) a share-level (úroveň zdieľania). Implementácia bezpečnostných režimov systému Samba umožňuje väčšiu flexibilitu. Poskytuje štyri spôsoby používateľskej úrovne bezpečnosti a jeden spôsob na implementáciu úrovne zdieľania:
security = user: pri pripojení k zdieľanému prostriedku vyžaduje od klientov, aby zadali používateľské meno a heslo. Používateľské kontá v systéme Samba sú iné ako systémové kontá, ale pomocou balíka libpam-smbpass sa dajú zosynchronizovať systémoví používatelia a ich heslá s databázou používateľov systému Samba.
security = domain: tento mód umožní serveru Samba, aby sa pre klientov Windows javil ako primárny radič domény - Primary Domain Controller (PDC), záložný radič domény - Backup Domain Controller (BDC) alebo členský server domény - Domain Member Server (DMS). Viac informácii je v časti Samba ako radič domény.
security = ADS: umožňuje serveru Samba pripojiť sa do domény Active Directory ako bežný člen. Viac informácii sa nachádza v časti Integrácia systému Samba do Active Directory.
security = server: tento mód zostal zo staršej verzie systému Samba a umožňuje systému stať sa členským serverom. Kvôli bezbečnostným problémom by nemal byť používaný. Viac informácii sa nachádza na stránke Server Security.
security = share: umožňuje klientom, aby sa pripojili k zdieľaným prostriedkom bez zadania používateľského mena a hesla.
Bezpečnostný mód, ktorý zvolíme, zavisí od prostredia a od toho, čo chceme pomocou servera Samba dosiahnuť.
V tejto časti zmeníme konfiguráciu súborového a tlačového servera Samba, ktorú sme uviedli v častiach Samba ako súborový server a Samba ako tlačový server tak, aby vyžadoval autentifikáciu.
Najskôr nainštalujeme balík libpam-smbpass, ktorý zosynchronizuje systémových používateľov s databázou používateľov systému Samba:
sudo apt-get install libpam-smbpass
![]() |
Ak ste pri inštalácii systému Ubntu vybrali súčasť Samba Server, balík libpam-smbpass je už nainštalovaný. |
---|---|
Otvoríme konfiguračný súbor /etc/samba/smb.conf
a v časti [share] zmeníme:
guest ok = no
Nakoniec reštartujeme systém Samba, aby sa nové nastavenie prejavilo:
sudo /etc/init.d/samba restart
Odteraz používateľ pri pokuse pripojiť sa k zdieľaným priečinkom alebo tlačiarňam bude musieť zadať svoje používateľské meno a heslo.
![]() |
Ak chcete pripojiť sieťovú jednotku natrvalo, môžete zaškrtnúť pole “Znovu pripojiť pri prihlásení”. To zabezpečí, že používateľské meno a heslo zadáte iba raz (ak sa heslo po čase nezmení). |
---|---|
Existuje niekoľko možností, ako zvýšiť bezpečnosť pri jednotlivých zdieľaných priečinkoch. Najčastejšie používané možnosti si ukážeme pomocou časti [zdielanie].
Skupina definuje skupinu počítačov alebo používateľov, ktorí majú rovnaké prístupové práva k určitým sieťovým prostriedkom a umožňujú naraz riadiť prístup k tomuto prostriedku. Napríklad ak zadefinujeme skupinu zakaznici, a ktorá bude obsahovať používateľov peter, danka a robert, a druhú skupinu podpora, ktorá bude obsahovať používateľov danka, jurko a vinco a určitý sieťový prostriedok bude nastavený tak aby umožňoval prístup skupine podpora, k prostriedku budú mať prístup danka, jurko a vinco a používatelia peter, a robert k prostriedku prístup mať nebudú. Pretože danka je členom oboch skupín, bude mať prístup k prostriedkom jednej skupiny aj k prostriedkom druhej skupiny. Ostatný členovia skupín budú mať prístup iba k prostriedkom svojej skupiny.
V predvolenom stave Samba hľadá definíciu skupín v súbore /etc/group
, podľa ktorého určí ktorý používatelia patria do daných skupín. Viac informácií o pridávaní a odstraňovaní používateľov sa nachádza v časti "Pridávanie a odstraňovanie používateľov”.
Keď sa chceme niektorú skupinu použiť v konfiguračnom súbore systému Samba /etc/samba/smb.conf
, aby sme odlíšili skupinu od používateľov, vložíme pred názov skupiny znak "@". Napríklad ak chceme použiť skupinu s názvom sysadmin v určitej časti súboru /etc/samba/smb.conf
,
zadáme názov skupiny @sysadmin.
Oprávnenia k súborom definujú prístupové práva počítačov alebo používateľov k jednotlivým zdielaným priečinkom a súborom. Tieto oprávnenia sa pre jednotlivé priečinky dajú nastaviť v súbore /etc/samba/smb.conf
.
Napríklad ak sme definovali zdieľane s názvom zdieľanie a chceme skupine používateľov zakaznici umožniť iba čítanie ale súčasne chceme skupine sysadmin a používateľovi vinco povoliť aj právo na zápis,
potom v súbore /etc/samba/smb.conf
pridáme do časti [zdielanie] nasledujúce riadky:
read list = @zakaznici
write list = @sysadmin, vinco
Iný spôsob nastavenia práv pre systém Samba je pridelenie administrátorských oprávnení na jednotlivé zdieľané zdroje. Používatelia, ktorí majú administrátorské oprávnenia môžu čítať, zapisovať alebo modifikovať akékoľvek informácie, ktoré sa nachádzajú v zdieľanom prostriedku, ku ktorému má pridelené práva administrátor.
Napríklad ak chceme prideliť používateľovi maria, prideliť práva správcu k priečinku zdielanie otvoríme súbor
/etc/samba/smb.conf
file a pridáme nasledujúci riadok do časti [zdielanie]:
admin users = maria
Po uložení súboru /etc/samba/smb.conf
reštartujeme systém Samba aby sa zmeny prejavili:
sudo /etc/init.d/samba restart
![]() |
Aby platili nastavenia read list a write list bezpečnostný mód systému Samba nesmie byť nastavený na security = share |
---|---|
Teraz keď sme systém Samba nastavili aby obmedzoval prístup jednotlivých skupín a používateľov, je potrebné upraviť aj oprávnenia súborového systému.
Tradičné Linuxové nastavenie práv pre súborový systém nezodpovedá tzv. Access Control Lists (ACLs) zoznamom na riadenie prístup pre systém Windows NT. Našťastie POSIXové ACLs
sú dostupné aj v systéme Ubuntu a poskytujú jemnejšie nastavenia. Ak napríklad chceme povoliť ACLs pre diskový oddiel pripojený do priečinka
/srv
so súborovým systémom EXT3, otvoríme /etc/fstab
a pridáme možnosť
acl:
UUID=66bcdd2e-8861-4fb0-b7e4-e61c569fe17d /srv ext3 noatime,relatime,acl 0 1
Potom znova pripojíme diskový oddiel:
sudo mount -v -o remount /srv
![]() |
Predchádzajúci príklad predpokladá, že k |
---|---|
Aby sa nastavenie systému Samba zhodovalo s nastaveniami, ktoré sme doteraz vykonali, t.j. aby skupina sysadmin mala právo na čítanie, zápis a spúšťanie súborov v priečinku /srv/samba/zdielanie
, skupina zakaznici mala právo iba na čítanie a spúšťanie súborov a aby bol vlastníkom priečinka používateľ maria, zadáme nasledujúce príkazy do príkazového riadku:
sudo chown -R maria /srv/samba/zdielanie/
sudo chgrp -R sysadmin /srv/samba/zdielanie/
sudo setfacl -R -m g:zakaznici:rx /srv/samba/zdielanie/
![]() |
Príkaz setfacl pridelí právo na spúšťanie súborov na všetky súbory v priečinku |
---|---|
Odteraz bude pre klientov systému Windows platiť nové nastavenie oprávnení. Viac informácií o POSIXových ACLs sa dozviete na man stránkach pre príkazy acl a setfacl.
Ubuntu obsahuje aj bezpečnostný modul AppArmor, ktorý obmedzuje prístup jednotlivých programov systému do vymedzených priečinkov. Predvolený profil systému AppArmor pre systém Samba je potrebné prispôsobiť našej konfigurácii. Viac informácii sa dozvieme v časti AppArmor.
Predvolené profily AppArmor pre súbory /usr/sbin/smbd
a /usr/sbin/nmbd
, ktoré sú démonmi systému Samba, sú súčasťou balíka apparmor-profiles. Nainštalujeme ho zadaním nasledujúceho príkazu do príkazového riadka:
sudo apt-get install apparmor-profiles
![]() |
Tento balík obsahuje profily aj pre niekoľko ďalších programov. |
---|---|
V predvolenom stave sú profily pre smbd a nmbd v tzv. upozorňovacom režime ktorý systému Samba umožňuje správne pracovať bez potreby meniť profil a neoprávnený prístup neblokuje ale iba zaznamená. Ak chceme profil pre smbd prepnúť do tzv. prinucovacieho režimu a súčasne chceme aby systém Samba pracoval tak, ako to od neho očakávame, je potrebné upraviť nastavenie priečinkov tak, aby zodpovedali zdieľaným priečinkom.
Otvoríme súbor /etc/apparmor.d/usr.sbin.smbd
a pridáme informácie o priečinku [zdielanie], ktorý sme použili v našom príklade:
/srv/samba/zdielanie/ r,
/srv/samba/zdielanie/** rwkix,
Teraz umiestnime profil medzi vynucujúce a nanovo ho načítame:
sudo aa-enforce /usr/sbin/smbd
cat /etc/apparmor.d/usr.sbin.smbd | sudo apparmor_parser -r
Teraz by sa do priečinka malo dať zapisovať, čítať a spúšťať v ňom súbory, a démon smbd bude mať prístup iba k tomuto priečinku a súborom, ktoré sú v ňom.
Rovnaký záznam je potrebné vytvoriť pre každý zdieľaný priečinok, ktorý je nakonfigurovaný v systéme Samba. Všetky pokusy o neoprávnený prístup budú zaznamenané v súbore /var/log/syslog
.
Podrobnejšie informácie o nastavení systému Samba sa nachádzajú na stránke Samba HOWTO Collection
Príručka je dostupná aj vo verzii pre tlač.
Ďalším dobrým zdrojom je O'Reillyho Using Samba.
Kapitola 18 zo Samba HOWTO Collection je zameraná na bezpečnosť.
Viac informácií o systéme Samba a riadení prístupov sa môžeme dozvedieť na stránke Samba ACLs page.
Aj keď sa samba nedá použiť ako primárny radič domény v Active Directory - Active Directory Primary Domain Controller (PDC), Samba server môže byť nakonfigurovaná tak, aby sa tváril ako radič domény systému Windows NT4. Hlavná výhoda takejto konfigurácie je schopnosť centrálne spravovať prihlasovacie údaje všetkých používateľov a počítačov. Samba dokáže na uchovávanie informácií o používateľoch použiť viacero systémov.
Táto časť hovorí o nastavení systému Samba tak, aby sa tváril ako primárny radič domény (PDC), pričom na uchovávanie informácií o používateľoch použijeme predvolený systém smbpasswd.
Najskôr nainštalujeme systém Samba a balík libpam-smbpass, ktorý slúži na synchronizáciu používateľov. Do príkazového riadka zadáme:
sudo apt-get install samba libpam-smbpass
Ďalej otvoríme konfiguračný súbor systému Samba /etc/samba/smb.conf
. Bezpečnostný režim security nastavíme na hodnotu user a pracovnú skupinu workgroup nastavíme podľa názvu našej organizácie:
workgroup = NIECO
...
security = domain
V zapoznámkovanej časti “Domains” odpoznámkujeme nasledujúce riadky:
domain logons = yes
logon path = \\%N\%U\profile
logon drive = H:
logon home = \\%N\%U
logon script = logon.cmd
add machine script = sudo /usr/sbin/useradd -n -g machines -c Machine -d /var/lib/samba -s /bin/false %u
domain logons: spôsobí, že sa Samba bude pri prihlasovaní tváriť ako radič domény.
logon path: umiestnenie domovského priečinka z pohľadu používateľa Windows. Tu je však potrebné odkomentovať aj nastavenie zdieľania v časti [profiles].
logon drive: určuje jednotku, pod akou používateľ uvidí svoj priečinok.
logon home: určuje umiestnenie domovského priečinka.
logon script: určuje skript, ktorý sa spustí na lokálnej stanici po prihlásení používateľa. Skript je potrebné umiestniť do zdieľaného priečinka [netlogon].
add machine script: skript, ktorý automaticky vytvorí tzv. dôveryhodné konto stanice - Machine Trust Account potrebné na to, aby sa počítač mohol pripojiť do domény.
V tomto príklade tiež bude potrebné vytvoriť skupinu s názvom machines pomocou nástroja addgroup. Viac informácií sa nachádza v časti “Pridávanie a odstraňovanie používateľov”.
![]() |
Ak nechcete použiť tzv. cestovné profily (Roaming Profiles), ponechajte možnosti logon home a logon path zapoznámkované. |
---|
Odpoznámkujeme zdieľanie priečinka [homes], aby bolo možné pripojiť domovské priečinky:
[homes]
comment = Home Directories
browseable = no
read only = no
create mask = 0700
directory mask = 0700
valid users = %S
Ak chceme server použiť ako radič domény, je potrebné nakonfigurovať aj zdieľanie priečinka [netlogon]. Stačí odkomentovať nasledujúce riadky:
[netlogon]
comment = Network Logon Service
path = /srv/samba/netlogon
guest ok = yes
read only = yes
share modes = no
![]() |
Originálny priečinok netlogon je umiestnený na ceste |
---|
Teraz vytvoríme priečinok netlogon
a (zatiaľ) prázdny súbor s prihlasovacím skriptom logon.cmd
:
sudo mkdir -p /srv/samba/netlogon
sudo touch /srv/samba/netlogon/logon.cmd
Do tohto súboru môžeme zapísať akýkoľvek skript pozostávajúci z príkazov systému Windows, ktorý upraví prostredie klienta.
Keďže používateľ root je z bezpečnostných dôvodov zablokovaný, je potrebné priradiť niektorú zo systémových skupín ku Windows skupine s názvom Domain Admins, inak sa nebudú dať pracovné stanice pripojiť do domény. Urobíme to pomocou nástroja net, ktorý takýmto spôsobom zapíšeme do príkazového riadka:
sudo net groupmap add ntgroup="Domain Admins" unixgroup=sysadmin rid=512 type=d
![]() |
Skupinu sysadmin, ktorú sme my použili, zmeňte na takú, akú používate. Používatelia, ktorí sú členmi skupiny sysadmin, by mali byť členmi aj systémovej skupiny admin. Skupina admin umožňuje použitie príkazu sudo. |
---|
Nakoniec reštartuje systém Samba, aby sa nové nastavenie prejavilo:
sudo /etc/init.d/samba restart
Odteraz bude možné klientské počítače so systémom Windows pripojiť do domény tak, ako keby sa pripájali do domény na serveri Windows NT4.
Spolu s primárnym radičom domény (PDC) je vhodné mať na sieti aj záložný radič domény Backup Domain Controller (BDC). Tento umožňuje autentifikáciu klientov v prípade, ak nastane výpadok PDC.
Keď chceme systém Samba použiť ako BDC, potrebujeme nejakým spôsobom zosynchronizovať informácie o používateľských účtoch s PDC. Túto úlohu je možné vykonať niekoľkými spôsobmi. Napríklad môžeme použiť nástroje scp, rsync alebo môžeme použiť miesto predvolenej databázy na uchovávanie autentifikačných údajov (passdb backend) databázu LDAP.
Použitie systému LDAP je veľmi výhodný spôsob na synchronizáciu informácii o kontách, pretože oba doménové radiče môžu v rovnakom čase použiť tie isté informácie. Avšak nastavenie LDAP servera môže byť príliš komplikované a neoplatí sa, ak máme v sieti iba malý počet počítačov a používateľov. Viac informácií sa nachádza v časti Samba a LDAP.
Najskôr nainštalujeme balíky samba a libpam-smbpass. V príkazovom riadku zadáme:
sudo apt-get install samba libpam-smbpass
Otvoríme súbor /etc/samba/smb.conf
a zmeníme nasledujúce riadky v časti [global]:
workgroup = NIECO
...
security = user
V časti Domains odkomentujeme riadky:
domain logons = yes
domain master = no
Uistíme sa, že používateľ má právo čítať súbory v priečinku /var/lib/samba
. Napríklad ak chceme používateľom v skupine admin povoliť použitie nástroja scp zadáme:
sudo chgrp -R admin /var/lib/samba
Teraz synchronizujeme kontá pomocou nástroja scp, ktorým ich skopírujeme z priečinka /var/lib/samba
z PDC:
sudo scp -r menopouzivatela@pdc:/var/lib/samba /var/lib
![]() |
Miesto menopouzivatela zadajte používateľa a miesto pdc zadajte názov stanice alebo IP adresu počítača, ktorý je PDC. |
---|
Nakoniec reštartujeme systém samba:
sudo /etc/init.d/samba restart
Záložný radič domény môžeme otestovať tak, že zastavíme démona systému Samba na PDC a potom sa skúsime prihlásiť na niektorej Windows stanici, ktorá je súčasťou domény.
Ďalšia vec, ktorú je potrebné mať na pamäti, čo s priečinkami definovanými ako logon home na PDC, ak sa PDC stane nedostupný. V takom prípade nebudú dostupné ani domovské priečinky používateľov. Kvôli tomuto je výhodné nastaviť logon home na iný súborový server, ktorý nie je súčasťou PDC ani BDC.
Podrobnejšie informácie o nastavení systému Samba sa nachádzajú na stránke Samba HOWTO Collection
Príručka je dostupná aj vo verzii pre tlač.
Ďalším dobrým zdrojom je O'Reillyho Using Samba..
Kapitola 4 zo Samba HOWTO Collection je zameraná na primárny radič domény.
Kapitola 5 zo Samba HOWTO Collection je zameraná na záložný radič domény.
Iný spôsob použitia systému Samba je jeho integrovanie do existujúcej siete Windows. Jednou z funkcií systému Samba je aj to, že môže slúžiť ako súborový a tlačový server pre používateľov AD.
Najjednoduchší spôsob ako sa pripojiť k doméne AD je použiť nástroj Likewise-open. Presnejšie inštrukcie sa nachádzajú v časti Likewise Open.
Aby náš server mohol byť súčasťou domény, nainštalujeme nasledujúce balíky:
sudo apt-get install samba smbfs smbclient
Pretože systémy likewise-open a samba používajú samostatné secrets.tdb
súbory, je potrebné vytvoriť symbolický odkaz v priečinku /var/lib/samba
:
sudo mv /var/lib/samba/secrets.tdb /var/lib/samba/secrets.tdb.orig
sudo ln -s /etc/samba/secrets.tdb /var/lib/samba
Teraz otvoríme súbor /etc/samba/smb.conf
a zmeníme:
workgroup = NIECO
...
security = ads
realm = NIECO.SK
...
idmap backend = lwopen
idmap uid = 50-9999999999
idmap gid = 50-9999999999
Reštartujeme systém samba aby sa nové nastavenia prejavili:
sudo /etc/init.d/samba restart
Odteraz by sa malo dať pristupovať k zdieľaným prostriedkom systému Samba zo staníc so systémom Windows. Je však potrebné sa uistiť či používatelia a skupiny AD majú právo pristupovať k zdieľaným priečinkom. Viac informácií sa nachádza v časti Zabezpečenie súborového a tlačového servera Samba.
Teraz keď je Samba server súčasťou domény Active Directory, môžeme pristupovať k zdieľaným prostriedkom systémov Windows:
Ak chceme pripojiť priečinok zdieľaný systémom Windows zadáme nasledujúci príkaz:
mount.cifs //fs01.nieco.sk/zdielanie bod_pripojenia
Je tiež možné pristupovať k zdieľaným prostriedkom, ktoré ni sú súčasťou domény AD, ale v tom prípade bude potrebné zadať používateľské meno a heslo.
Ak chceme pripojiť priečinok už pri zavádzaní systému, pridáme záznam do súboru /etc/fstab
. Záznam môže vyzerať napríklad takto:
//192.168.0.5/zdielanie /mnt/windows cifs auto,username=stefan,password=tajne,rw 0 0
Iný spôsob akým môžeme skopírovať súbory zo systému Windows je použitie nástroja smbclient. Zoznam súborov v zdieľanom priečinku systému Windows získame po zadaní:
smbclient //fs01.nieco.sk/zdielanie -k -c "ls"
Kópiu súboru získame po zadaní:
smbclient //fs01.nieco.sk/zdielanie -k -c "get subor.txt"
Tento príkaz skopíruje súbor s názvom subor.txt
do aktuálneho priečinka.
Kópiu lokálneho súboru odošleme do zdielaného priečinka zadaním:
smbclient //fs01.nieco.sk/zdielanie -k -c "put /etc/hosts hosts"
Tento príkaz skopíruje súbor /etc/hosts
to do //fs01.nieco.sk/zdielanie/hosts
.
Voľba -c, ktorú sme použili, umožňuje spustiť pomocou nástroja smbclient zadaný príkaz. Tento spôsob spúšťania je užitočný pri vytváraní skriptov. Ak chceme vstúpiť do príkazového riadka smb: \>, ktorý je podobný príkazovému riadku FTP, v ktorom môžeme normálne spúšťať príkazy, zadáme len:
smbclient //fs01.nieco.sk/zdielanie -k
![]() |
Vo všetkých uvedených príkladoch zmeňte fs01.nieco.sk/zdielanie, //192.168.0.5/zdielanie, username=stefan, password=tajne a subor.txt na IP adresu vášho servera, názov stanice, názov zdielaného priečinka, názov súboru, prihlasovacie meno a heslo aktuálneho používateľa na údaje zodpovedajúce zdieľanému prostriedku. |
---|---|
Viac informácií o nástroji smbclient sa nachádza na man stránke: man smbclient, tiež dostupnej online.
Užitočné informácie sa nachádzajú aj na man stránke mount.cifs.
Likewise Open zjednodušuje nastavenia potrebné na autentifikáciu linuxovej stanice v doméne Active Directory. Balík likewise-open, ktorý je založený na winbind, umožňuje bezbolestné začlenenie systému Ubuntu do existujúcej siete Windows.
Existujú dva spôsoby, ako pužiť Likewise Open, likewise-open ako nástroj pre príkazový riadok a likewise-open-gui verzia s grafickým rozhraním. Táto časť sa zameriava na nástroj pre príkazový riadok.
Balík likewise-open nainštalujeme zadaním nasledujúceho príkazu do príkazového riadka:
sudo apt-get install likewise-open
Hlavný spustiteľný súbor balíka likewise-open je
/usr/bin/domainjoin-cli
, ktorý sa používa na pripojenie počítača do domény. Pred tým, ako sa pripojíme do domény, je potrebné skontrolovať, či máme:
prístup do Active Directory cez používateľa, ktorý má dostatočné oprávnenia na to, aby sme sa cez neho mohli pripojiť do domény.
plne kvalifikované doménové meno (FQDN) domény, ku ktorej sa chceme pripojiť. Ak naša AD doména nemá klasický tvar domény, ako napríklad nieco.sk, je možné že má tvar menodomeny.local.
DNS pre správne nastavenie domény. V ostrom nasadení AD by táto položka nemala chýbať. Systém Microsoft DNS je potrebný na to, aby klientské stanice vedeli zistiť, či je doména Active Directory dostupná.
Ak ešte nemáme v sieti Windows DNS server, bližšie informácie nájdeme v časti “Microsoft DNS”.
Ak sa chceme pripojiť do domény, v príkazovom riadku zadáme:
sudo domainjoin-cli join nieco.sk Administrator
![]() |
Nahraďte nieco.sk menom vašej domény a Administrator príslušným menom používateľa, ktorý má právo pripojiť sa do domény. |
---|---|
Po spustení príkazu bude potrebné zadať heslo používateľa. Ak všetko prebehne tak, ako má, zobrazí sa nápis SUCCESS.
Po úspešnom pripojení servera Ubuntu do domény Active Directory, sa na náš server budú môcť prihlásiť všetci platní používatelia AD. Prihlasovacie meno je potrebné zadať v tvare 'domena\pouzivatel'. Ak sa napríklad chceme pripojiť na náš server prostredníctvom služby ssh zadáme:
ssh 'nieco\stefan'@nazovstanice
![]() |
Ak nastavujeme systém Ubuntu Desktop, používatelia musia zadať predponu domena\ aj v grafickej prihlasovacej obrazovke. |
---|---|
Ak cheme likewise-open použiť ako predvolenú doménu, môžeme to takto nastaviť v súbore /etc/samba/lwiauthd.conf
:
winbind use default domain = yes
Reštartujeme démona likewise-open:
sudo /etc/init.d/likewise-open restart
![]() |
Po vykonaní nastavenia default domain predponu 'domena\' už nemusíme zadávať a používateľom stačí zadať ich bežné prihlasovacie meno. |
---|---|
Nástroj domainjoin-cli sa dá použiť aj na odpojenie od domény. Stačí do príkazového riadka zadať:
sudo domainjoin-cli leave
Balík likewise-open obsahuje aj niekoľko ďalších užitočných nástrojov slúžiacich na získanie informácii o prostredí Active Directory. Tieto nástroje sa dajú využiť pri pripájaní počítača do domény a sú dostupné aj v balíkoch samba-common a winbind:
lwinet: Vráti informácie o sieti a doméne.
lwimsg: Umožňuje interakciu s démonom likewise-winbindd.
lwiinfo: Zobrazí informácie o jednotlivých súčastiach domény.
Viac informádií o každom nástroji sa môžeme dozvedieť na man stránkach.
Ak sa počítač nechce pripojiť do domény, je potrebné pre istotu dvakrát skontrolovať, či je adresa servera Microsoft DNS zapísaná ako prvá v súbore /etc/resolv.conf
. Záznam vyzerá napríklad takto:
nameserver 192.168.0.1
Viac informácii o procese pripájania do domény získame, ak použijeme spolu s nástrojom domainjoin-cli prepínač --loglevel verbose alebo --advanced:
sudo domainjoin-cli --loglevel verbose join nieco.sk Administrator
Ak má používateľ problém pripojiť sa do Active Directory, viac informácií získa v súbore /var/log/auth.log
.
Pri pripájaní systému Ubuntu Desktop do domény môže byť potrebné upraviť súbor /etc/nsswitch.conf
najmä, ak doména AD používa v mene koncovku .local. V takom prípade je potrebné vymazať záznamy "mdns4" z nastavenia hosts. Napríklad:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
Zmeníme na:
hosts: files dns [NOTFOUND=return]
Potom reštartujeme sieťových démonov príkazom:
sudo /etc/init.d/networking restart
Teraz by sa už malo dať pripojiť do domény Active Directory.
Nasledujúce inštrukcie slúžia na nainštalovanie systému DNS pre radič domény Active Directory, ktorý sa nachádza na systéme Windows Server 2003. Pre iné verzie servera je postup veľmi podobný:
Klikneme na tlačítko Start → Nástroje pro správu → Správa serverů. To otvorí nástroj Správa rolí tohto serveru.
Klikneme na Přidat nebo odebrat roli
Klikneme na Další
Vyberieme "DNS Server"
Klikneme na Další
Klikneme na Další
Vyberieme "Vytvořit zónu dopředného vyhledávaní" ak už nie je označená.
Klikneme na Další
Uistite sa, že je prepínač v polohe "Tento server udržuje zónu" a klikneme na Další.
Zadáme meno našej domény a klikneme na Další
Necháme označené "Povolit jen dynamické aktualizace" a klikneme na Další
Zadáme IP adresy DNS serverov, ktorým má náš server preposielať požiadavky alebo označíme "Ne, nepředávat dotazy" a klikneme na Další.
Klikneme na Dokončit
Klikneme na Dokončit
Systém DNS je teraz nainštalovaný a neskôr ho môžeme nastaviť použitím DNS snap-in modulu Microsoft Management Console.
Teraz nastavíme Server tak, aby používal sám sebe pri zisťovaní DNS požiadaviek:
Klikneme na tlačitko Start
Ovládací panely
Síťová připojení
Pravým tlačítkom myši klikneme na "Připojení k místní síti tohoto serveru"
Klikneme na Vlastnosti
Dvojklikom otvoríme "Protokol sítě Internet (TCP/IP)"
Zadáme IP adresu nášho servera ako "Upřednostňovaný server DNS"
Klikneme na OK
Znova klikneme na OK aby sa nastavenia uložili
Viac informácií sa nachádza na domovskej stránke Likewise.
Detailnejší popis nástroja domainjoin-cli sa nachádza na man stránke: man domainjoin-cli.
Pozrieť si môžeme aj stránku Ubuntu Wiki LikewiseOpen.
Existuje mnoho spôsobov akým sa dajú zálohovať dáta systému Ubuntu. Najdôležitejšou vecou pri zálohovaní je však navrhnutie plánu zálohy, ktorý hovorí čo zálohovať, kedy zálohovať a ako v prípade potreby dáta zo zálohy obnoviť.
Nasledujúce časti hovoria o rôznych spôsoboch, akými tieto úlohy vykonať.
Jedným z najjednoduchších spôsobov, akým sa dá zálohovať systém, je použitie tzv. shell skriptov - skriptov pre príkazový riadok. Pomocou takéhoto skriptu môžeme nastaviť, ktoré priečinky sa majú zálohovať a obsah týchto priečinkov môžeme skomprimovať (zbaliť) pomocou nástroja tar do archívu. Archív je súbor, ktorý potom môžeme skopírovať na iné miesto. Môžeme ho vytvoriť aj na vzdialenom súborovom systéme, ktorý pripojíme pomocou systému NFS.
Nástroj tar dokáže vytvoriť jeden archívny súbor z veľkého množstva súborov a priečinkov. Nástroj tar tiež zredukuje priestor potrebný na uchovanie archívu prostredníctvom kompresie.
Nasledujúci skript použije nástroj tar na vytvorenie archívu na vzdialenom súborovom systéme, ktorý je pripojený pomocou systému NFS. Meno súboru s archívom sa odvodí od dátumu a názvu počítača.
#!/bin/sh
####################################
#
# Skript na vytvorenie zálohy na vzdialenom disku
#
####################################
# Čo sa bude zálohovať.
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# Kam sa bude zálohovať.
dest="/mnt/backup"
# Vytvorí názov súboru s archívom.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
# Vypíše hlásenie o prebiehajúcej operácii.
echo "Zálohujem $backup_files do $dest/$archive_file"
date
echo
# Vytvorí archív pomocou nástroja tar.
tar czf $dest⁄$archive_file $backup_files
# Vypíše správu o dokončení operácie.
echo
echo "Záloha bola vytvorená"
date
# Detailný výpis cieľového priečinka $dest aby sa dala overiť veľkosť archívu.
ls -lh $dest
$backup_files: premenná, ktorá obsahuje zoznam priečinkov, ktoré sa majú zálohovať. Tento zoznam si môžeme upraviť podľa našich potrieb.
$day: premenná, ktorá obsahuje deň v týždni (Pondelok, Utorok, Streda, atď.). Táto premenná sa používa na vytvorenie archívu pre každý deň v týždni, čo nám poskytne sedem dňovú históriu archívov. Meno archívu môžeme vytvoriť aj inými spôsobmi. Napríklad môžeme využiť nástroj date.
$hostname: premenná, ktorá obsahuje krátky názov stanice. Vďaka tomuto menu rozoznáme, z ktorého počítača záloha pochádza, v prípade, že na rovnaké miesto ukladáme zálohy z viacerých počítačov.
$archive_file: celé meno súboru s archívom.
$dest: priečinok, do ktorého sa má archív uložiť. Tento priečinok je potrebné pred použitím skriptu vytvoriť a v našom prípade aj pripojiť pomocou NFS. Viac informácií o NFS sa nachádza v časti Sieťový súborový systém NFS.
stavové správy: toto sú voliteľné správy, ktoré sa vypíšu pomocou nástroja echo na počítači, aby používateľ vedel, čo sa na počítači deje.
tar czf $dest/$archive_file $backup_files: príkaz tar sa využíva na vytvorenie archívu.
c: vytvorí archív.
z: použije kompresiu gzip.
f: zapíše výstup do súboru. Keby sme tento parameter nepoužili, tar by výstup odoslal na STDOUT.
ls -lh $dest: voliteľný príkaz ktorý zobrazí -l dlhý výpis cieľového priečinka -h v tvare zrozumiteľnom pre človeka. Tento príkaz je užitočný, ak sa chceme uistiť, že bol súbor vytvorený a aká je jeho veľkosť.
Toto je jednoduchý príklad skriptu na vytvorenie zálohy. Pri vytváraní skriptu máme k dispozícií veľké množstvo možností. Viac informácií o vytváraní skriptov môžeme nájsť v časti “Zdroje”.
Najjednoduchší spôsob, akým spustiť predchádzajúci skript, je uložiť ho do súboru. Súbor môžeme nazvať napríklad zaloha.sh
. Potom ho môžeme spustiť v príkazov riadku:
sudo bash zaloha.sh
Tento spôsob môžeme využiť, ak chceme otestovať správnu funkčnosť skriptu.
Nástroj cron môžeme využiť na automatické spúšťanie skriptu. Démon cron umožňuje spúšťanie skriptov alebo príkazov v stanovený čas.
cron môžeme nastaviť prostredníctvom záznamov v súbore crontab
.
Syntax riadkov súboru crontab
je nasledovná:
# m h dom mon dow command
m: minúta, kedy sa má príkaz spustiť v rozsahu 0 až 59.
h: hodina, kedy sa má príkaz spustiť v rozsahu 0 až 23.
dom: deň v mesiaci, kedy sa má príkaz spustiť.
mon: mesiac, v ktorom sa má príkaz spustiť v rozsahu 1 až 12.
dow: deň v týždni, kedy sa má príkaz spustiť v rozsahu 0 až 7. Nedeľa sa dá zapísať buď pomocou 0 alebo 7.
command: príkaz, ktorý sa má vykonať.
Ak chceme pridať záznam do súboru crontab, použijeme príkaz
crontab -e. Obsah súboru crontab si môžeme pozrieť pomocou príkazu crontab -l.
Ak chceme nastaviť spúšťanie skriptu zaloha.sh pomocou nástroja cron, najskôr zadáme príkaz:
sudo crontab -e
![]() |
Ak použijeme sudo spolu s príkazom crontab -e, budeme upravovať crontab používateľa root. To je nevyhnutné, ak chceme zálohovať systémové priečinky, pretože iba používateľ root ku nim má prístup. |
---|---|
Pridáme nasledujúci záznam do súboru crontab
:
# m h dom mon dow command
0 0 * * * bash /usr/local/bin/zaloha.sh
Pri použití tohto nastavenia sa bude skript zaloha.sh spúšťať každý deň o polnoci.
![]() |
Skript zaloha.sh je potrebné nakopírovať do priečinka |
---|---|
Viac informácií o súboroch crontab môžeme nájsť v časti “Zdroje”..
Potom ako vytvoríme archív, je dôležité ho otestovať. Môžeme to urobiť tak, že si necháme vypísať súbory, ktoré obsahuje. Najlepší test ale je, ak súbory z archívu obnovíme.
Ak chceme zobraziť obsah archívu, do príkazového riadka zadáme:
tar -tzvf /mnt/backup/nazovpc-Pondelok.tgz
Ak chceme obnoviť súbor z archívu do iného priečinka, zadáme:
tar -xzvf /mnt/backup/nazovpc-Pondelok.tgz -C /tmp etc/hosts
Prepínač -C povie nástroju tar, aby presmeroval obnovovaný súbor do zadaného priečinka. Predchádzajúci príkaz obnoví súbor /etc/hosts
do priečinka /tmp/etc/hosts
. Nástroj tar
obnoví súbor aj s celou jeho cestou a chýbajúce priečinky automaticky vytvorí.
Z tohto dôvodu na začiatku cesty, ktorá sa má obnoviť, nie je zapísané "/".
Ak chceme obnoviť súbory z archívu, zadáme nasledujúce príkazy:
cd /
sudo tar -xzvf /mnt/backup/nazovpc-Pondelok.tgz
![]() |
Týmto prepíšeme aktuálne súbory v súborovom systéme. |
---|---|
Viac informácií o vytváraní skriptov sa dozviete na stránke Advanced Bash-Scripting Guide
Vynikajúcou online knihou o vytváraní skriptov je Teach Yourself Shell Programming in 24 Hours.
O ďalších možnostiach nástroja cron sa môžeme dozvedieť na stránke CronHowto Wiki Page.
Viac o nástroji tar sa dozvieme na stránke GNU tar Manual.
O iných stratégiách pre vytváraní záloh sa dozvieme na stránke Wikipédie s názvom Backup Rotation Scheme.
V našom skripte sme použili na vytvorenie zálohy nástroj tar, no existuje mnoho ďalších nástrojov, ktoré sa dajú na tento účel použiť. Sú to napríklad:
Shell skript v časti Shell skripty vytvára iba sedem archívov. Na serveri, kde sa údaje nemenia príliš často, to postačuje, no ak je na serveri väčšie množstvo dát, je rozumnejšie použiť inú schému.
V tejto časti skript upravíme tak, aby implementoval schému dedo-otec-syn (mesiac-týždeň-deň):
Rotácia vytvorí dennú zálohu pre pondelok až sobotu.
V nedeľu vytvorí týždennú zálohu tak, že za mesiac budeme mať štyri zálohy.
Mesačná záloha sa vytvorí prvý deň v mesiaci a budú vytvárané dva archívy podľa toho, či je mesiac párny alebo nepárny.
Tu je skript:
#!/bin/bash
####################################
#
# Skript na vytvorenie zálohy na vzdialenom disku
# s použitím schémy dedo-otec-syn.
#
####################################
# Čo sa bude zálohovať.
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# Kam sa bude zálohovať.
dest="/mnt/backup"
# Nastavenie premenných, z ktorých sa vytvorí meno archívu.
day=$(date +%A)
hostname=$(hostname -s)
# zistí číslo týždňa v mesiaci 1-4.
day_num=$(date +%d)
if (( $day_num <= 7 )); then
week_file="$hostname-week1.tgz"
elif (( $day_num > 7 && $day_num <= 14 )); then
week_file="$hostname-week2.tgz"
elif (( $day_num > 14 && $day_num <= 21 )); then
week_file="$hostname-week3.tgz"
elif (( $day_num > 21 && $day_num < 32 )); then
week_file="$hostname-week4.tgz"
fi
# Zistí či je mesiac párny alebo nepárny.
month_num=$(date +%m)
month=$(expr $month_num % 2)
if [ $month -eq 0 ]; then
month_file="$hostname-month2.tgz"
else
month_file="$hostname-month1.tgz"
fi
# Vytvorí meno archívu.
if [ $day_num == 1 ]; then
archive_file=$month_file
elif [ $day != "Saturday" ]; then
archive_file="$hostname-$day.tgz"
else
archive_file=$week_file
fi
# Vypíše správu o začatí operácie.
echo "Zálohujem $backup_files do $dest/$archive_file"
date
echo
# Vytvorí archív pomocou nástroja tar.
tar czf $dest⁄$archive_file $backup_files
# Vypíše správu o dokončení operácie.
echo
echo "Záloha bola vytvorená"
date
# Detailný výpis cieľového priečinka $dest aby sa dala overiť veľkosť archívu.
ls -lh $dest/
Skript môžeme spustiť rovnakými spôsobmi ako v časti Shell skripty.
Dobrým zvykom je odložiť médium so zálohou na bezpečné miesto. V našom prípade shell skriptu je záložným médiom iný počítač, ktorý poskytuje priečinok zdieľaný pomocou NFS systému. Umiestnenie NFS servera na iné umiestnenie bude pravdepodobne nepraktické. V závislosti od toho, aké máme pripojenie, môžeme prostredníctvom siete WAN archívy prekopírovať na server, ktorý je na inom mieste.
Iná možnosť je skopírovanie archívu na externé médium, ktoré je možné vybrať z počítača a umiestniť ho na bezpečné miesto. Vďaka tomu, že cena mechaník stále klesá, môžeme použiť dve mechaniky. To nám umožní mať jednu mechaniku pripojenú k serveru so zálohami a jednu na inom mieste.
Páskovú mechaniku pripojenú k serveru môžeme použiť miesto zdieľaného priečinka cez NFS. Použitie páskovej mechaniky zjednodušuje rotáciu archívov a tiež umožňuje uchovávať záložné médium v bezpečí.
Pri použití páskovej mechaniky nie je potrebná časť skriptu, ktorá vytvára meno archívu, pretože sa údaje odošlú priamo na páskovú mechaniku. Pribudne však niekoľko príkazov, ktoré pracujú s páskou. Tieto príkazy sa vykonávajú pomocou nástroja na prácu s magnetickou páskou mt, ktorý je súčasťou balíka cpio.
Tu je upravený shell skript pre páskovú mechaniku:
#!/bin/bash
####################################
#
# Zálohovanie na páskovú mechaniku.
#
####################################
# Čo sa bude zálohovať
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# Kam sa bude zálohovať.
dest="/dev/st0"
# Vypíše správu o začatí operácie.
echo "Zálohujem $backup_files do $dest"
date
echo
# Uistí sa že je páska previnutá.
mt -f $dest rewind
# Vytvorí archív pomocou nástroja tar.
tar czf $dest $backup_files
# Previnie pásku a vysunie ju
mt -f $dest rewoffl
# Vypíše správu o dokončení operácie.
echo
echo "Záloha bola vytvorená"
date
![]() |
Predvolené označenie páskovej mechaniky SCSI je |
---|---|
Údaje z páskovej mechaniky obnovíme rovnako ako keby sme ich obnovovali z bežného archívu. Jednoducho previnieme pásku a použijeme miesto cesty k súboru označenie zariadenia. Ak napríklad chceme obnoviť súbor /etc/hosts
do /tmp/etc/hosts
, zadáme:
mt -f /dev/st0 rewind
tar -xzf /dev/st0 -C /tmp etc/hosts
Bacula je program umožňujúci zálohovanie, obnovu zo zálohy a preverenie dát cez sieť. Klient systému Bacula existuje pre operačné systémy Linux, Windows aj Mac OSX. Tieto vlastnosti zo systému robia široko použiteľné multiplatformové sieťové riešenie zálohovania.
Systém Bacula tvorí niekoľko častí a služieb určených na riadenie toho, ktoré súbory sa majú zálohovať a kam:
Bacula Director: služba, ktorá riadi celé zálohovanie, obnovu, overovanie a operácie s tým spojené.
Bacula Console: aplikácia umožňujúca komunikáciu so službou Director. Existujú tri verzie konzoly:
Textovo založený príkazový riadok.
Grafické rozhranie pre prostredie Gnome založené na GTK+.
Grafické rozhranie založené na wxWidgets.
Bacula File: známy tiež ako Bacula Client program. Táto aplikácia je nainštalovaná na počítačoch, ktoré chceme zálohovať, a ktorý poskytuje údaje žiadané programom Director.
Bacula Storage: program, ktorý ukladá a číta údaje z fyzického média.
Bacula Catalog: je zodpovedný za správu zoznamu súborov a databázu zväzov so všetkými zálohovanými súbormi. Umožňuje rýchle vyhľadanie a obnovenie archivovaných súborov. Program Catalog podporuje tri rôzne databázy MySQL, PostgreSQL a SQLite.
Bacula Monitor: umožňuje monitorovanie programov Director, File a Storage. Momentálne je tento program dostupný iba v aplikácii s grafickým rozhraním GTK+.
Tieto služby a aplikácie môžu byť súčasne spustené na viacerých serveroch a klientoch alebo môžu byť všetky nainštalované na jednom počítači, ak zálohujeme jeden disk alebo zväzok.
Komponenty systému Bacula sú rozložené do viacerých balíkoch. Ak chceme nainštalovať systém Bacula, do príkazového riadka zadáme:
sudo apt-get install bacula
V predvolenom stave po nainštalovaní balíka bacula bude pre program Catalog použitá databáza MySQL. Ak chceme pre program Catalog použiť SQLite alebo PostgreSQL, nainštalujeme balík bacula-director-sqlite3 alebo bacula-director-pgsql.
Počas inštalácie bude potrebné zadať prihlasovacie údaje pre konto správcu databázy a vlastníka databázy bacula. Správca databázy potrebuje prislúchajúce oprávnenia na vytváranie databáz. Viac informácií sa nachádza v časti MySQL.
Konfiguračné súbory systému Bacula sú formátované na základe zdrojov pozostávajúcich z
direktív uzatvorených do zložených zátvoriek “{}”. Každý komponent systému Bacula má svoj vlastný konfiguračný súbor v priečinku
/etc/bacula
.
Rôzne časti systému Bacula sa musia navzájom autorizovať. Toto je zabezpečené pomocou direktívy
password. Napríklad heslo zdroja Storage v súbore
/etc/bacula/bacula-dir.conf
sa musí zhodovať s heslom zdroja Director v súbore
/etc/bacula/bacula-sd.conf
.
V predvolenom stave je vytvorená úloha s názvom Client1, ktorá archivuje údaje prostredníctvom programu Catalog systému Bacula. Ak máme v pláne použiť server na archivovanie údajov z viacerých klientov, zmeníme meno tejto úlohy na niečo viac popisné. Meno zmeníme v súbore /etc/bacula/bacula-dir.conf
:
#
# Define the main nightly save backup job
# By default, this job will back up to disk in
Job {
Name = "BackupServer"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/Client1.bsr"
}
![]() |
V predchádzajúcom príklade sme ako názov úlohy použili názov stanice BackupServer. Nahraďte “BackupServer” názvom vašej stanice alebo iným popisným menom. |
---|---|
Program Console si môže vyžiadať od programu Director úlohy, ale aby mohli program Console použiť aj používatelia, ktorí nemajú právo root, musia byť členmi skupiny bacula. Používateľa do skupiny bacula pridáme napísaním nasledujúceho príkazu do príkazového riadka:
sudo adduser $username bacula
![]() |
Nahraďte $username skutočným menom aktuálneho používateľa. Po pridaní používateľa do skupiny sa musíte odhlásiť a znova prihlásiť, aby sa zmena prejavila. |
---|---|
Táto časť vysvetľuje spôsob, ako nastaviť zálohovanie určitých priečinkov na jednom počítači na lokálne pripojenú páskovú mechaniku.
Najskôr nastavíme parametre zariadenia pre program Storage. Otvoríme súbor /etc/bacula/bacula-sd.conf
a pridáme:
Device {
Name = "Tape Drive"
Device Type = tape
Media Type = DDS-4
Archive Device = /dev/st0
Hardware end of medium = No;
AutomaticMount = yes; # when device opened, read it
AlwaysOpen = Yes;
RemovableMedia = yes;
RandomAccess = no;
Alert Command = "sh -c 'tapeinfo -f %c | grep TapeAlert'"
}
V tomto príklade použijeme páskovú mechaniku DDS-4. Direktívy Media Type a Archive Device nastavíme tak, aby sa zhodovali s naším hardvérom.
Miesto tohto nastavenia by sme tiež mohli odpoznámkovať jeden z ďalších súborov s príkladmi.
Po dokončení úprav súboru /etc/bacula/bacula-sd.conf
je potrebné reštartovať démon programu Storage:
sudo /etc/init.d/bacula-sd restart
Teraz pridáme zdroj Storage do súboru /etc/bacula/bacula-dir.conf
aby použil nové zariadenie :
# Definition of "Tape Drive" storage device
Storage {
Name = TapeDrive
# Do not use "localhost" here
Address = backupserver # N.B. Use a fully qualified name here
SDPort = 9103
Password = "Cv70F6pf1t6pBopT4vQOnigDrR0v3LT3Cgkiyj"
Device = "Tape Drive"
Media Type = tape
}
Do direktívy Address je potrebné zapísať úplné doménové meno (FQDN) servera. Zmeníme backupserver na mennú adresu našej stanice.
Tiež sa uistíme, či sa direktíva Password zhoduje s heslom definovaným v súbore
/etc/bacula/bacula-sd.conf
.
Vytvoríme novú sadu súborov FileSet, ktorá bude určovať, ktoré priečinky sa majú archivovať:
# LocalhostBacup FileSet.
FileSet {
Name = "LocalhostFiles"
Include {
Options {
signature = MD5
compression=GZIP
}
File = /etc
File = /home
}
}
Tento FileSet hovorí, že budeme archivovať priečinky /etc
a
/home
. Zdroj Options pomocou direktív prikazuje, aby boli vytvorené kontrolné MD5 obtlačky pre každý odzálohovaný súbor a aby sa na zálohovanie použila kompresia GZIP.
Teraz vytvoríme nový plán Schedule pre zálohovanie:
# LocalhostBackup Schedule -- Daily.
Schedule {
Name = "LocalhostDaily"
Run = Full daily at 00:01
}
Tento plán hovorí, že úloha sa má spustiť každý deň o 00:01. Samozrejme je k dispozícii omnoho viac volieb, ktoré sa dajú použiť.
Nakoniec vytvoríme úlohu Job:
# Localhost backup.
Job {
Name = "LocalhostBackup"
JobDefs = "DefaultJob"
Enabled = yes
Level = Full
FileSet = "LocalhostFiles"
Schedule = "LocalhostDaily"
Storage = TapeDrive
Write Bootstrap = "/var/lib/bacula/LocalhostBackup.bsr"
}
Úloha bude každý deň vykonávať úplnú Full zálohu na páskovú mechaniku.
Každá páska, ktorú použijeme, musí mať označenie - Label. Ak aktuálna páska nemá označenie, systém Bacula vám odošle email, aby ste o tom vedeli. Ak chceme priradiť páske označenie pomocou programu Console, spustíme ho pomocou príkazu:
bconsole
a v príkazovom riadku konzoly Bacula zadáme:
label
Po zadaní príkazu bude potrebné zadať zdroj Storage:
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
The defined Storage resources are:
1: File
2: TapeDrive
Select Storage resource (1-2):2
Teraz zadáme nový názov zväzku - Volume name:
Enter new Volume name: Nedela
Defined Pools:
1: Default
2: Scratch
Miesto slova Nedela môžeme použiť iný popisnejší názov.
Teraz vyberieme Pool:
Select the Pool (1-2): 1
Connecting to Storage daemon TapeDrive at backupserver:9103 ...
Sending label command for Volume "Sunday" Slot 0 ...
Odteraz by mal systém Bacula zálohovať údaje z lokálnej stanice na pripojené páskové zariadenie.
Viac informácií o ďalších spôsoboch konfigurácie systému Bacula sa nachádza na stránke Bacula User's Manual.
Na domovskej stránke Bacula Home Page sa zasa nachádzajú informácie o najnovšej verzii systému Bacula a o jeho vývoji.
Stránka Bacula Ubuntu Wiki tiež stojí za pozretie.
Virtualizácia sa využíva v rôznych prostrediach a situáciách. Ak sme vývojári, virtualizácia nám poskytne prostredie, kde môžeme bezpečne vykonávať takmer akékoľvek pokusy bez toho, aby sme narušili svoje hlavné pracovné prostredie. Ak sme správcovia systému, môžeme virtualizáciu využiť na oddelenie služieb a na požiadanie ich presúvať.
Predvolenou virtualizačnou technológiou, ktorú Ubuntu podporuje, je KVM, čo je technológia, ktorá využíva virtualizačné funkcie vstavané do procesorov Intel a AMD. Ak nemáme hardvér s podporou virtualizácie, môžeme využiť riešenia ako Xen a Qemu.
Knižnica libvirt sa používa ako rozhranie pre rôzne virtualizačné technológie. Pred tým, ako začneme používať libvirt, je dobré uistiť sa, či máme hardvérovú podporu potrebnú pre KVM. V príkazovom riadku zadáme nasledujúci príkaz:
kvm-ok
Zobrazí sa správa, ktorá hovorí, či náš procesor hardvérovo podporuje alebo nepodporuje virtualizáciu.
![]() |
Na väčšine počítačov, ktorých procesor podporuje virtualizáciu, je nevyhnutné aktivovať túto podporu v systéme BIOS. Metóda použitá vyššie nezobrazí, či sa dá podpora aktivovať. |
---|---|
Existuje niekoľko spôsobov, ako umožniť virtuálnemu počítaču prístup k externej sieti. Predvolená konfigurácia virtuálnej siete je v tzv. používateľskom režime - usermode, ktorý používa protokol SLIRP a komunikáciu smeruje prekladom adries NAT cez sieťové rozhranie hosťovského systému do vonkajšej siete.
Ak chceme ostatným počítačom v sieti umožniť priamy prístup k službám virtuálnych počítačov, je potrebne nakonfigurovať premostenie - bridge. To umožní virtuálnemu sieťovému rozhraniu pripojiť sa k vonkajšej sieti priamo cez fyzické sieťové rozhranie, vďaka čomu bude virtuálny počítač pre ostatné počítače viditeľný ako bežná stanica. Viac informácií o nastavovaní premostenia sa nachádza v časti “Premostenie”.
Ak chceme nainštalovať potrebné balíčky, v príkazovom riadku zadáme:
sudo apt-get install kvm libvirt-bin
Po nainštalovaní libvirt-bin, je potrebné pridať aspoň jedného používateľa do skupiny libvirtd. Používatelia v tejto skupine môžu spravovať virtuálne počítače. Títo používatelia budú mať tiež právo meniť pokročilé sieťové nastavenia.
V príkazovom riadku zadáme:
sudo adduser $USER libvirtd
![]() |
Ak bol zvolený aktuálny používateľ, pod ktorým ste práve prihlásený, je potrebné sa odhlásiť a znovu prihlásiť, aby sa zmena prejavila. |
---|---|
Teraz môžeme začať inštalovať hosťujúci operačný systém. Inštalácia systému na virtuálny počítač sa ničím nelíši od inštalácie na fyzický počítač. Buď treba nájsť spôsob, ako inštaláciu zautomatizovať alebo je potrebné pripojiť k fyzickému počítaču monitor a klávesnicu.
V prípade virtuálnych počítačov s grafickým rozhraním (GUI) je použitie klávesnice a myši rovnaké. Miesto inštalovania grafického systému však môžeme použiť aj aplikáciu virt-viewer, pomocou ktorej sa môžeme pripojiť na vzdialený virtuálny počítač cez VNC. Viac informácií sa nachádza v časti “Prehliadač virtuálnych počítačov”.
Existuje niekoľko spôsobov ako automatizovať inštaláciu Ubuntu, napríklad je možné použiť metódy preseeds, kickstart, atď. Viac informácií sa nachádza v inštalačnej príručke Ubuntu.
Iný spôsob, ako nainštalovať virtuálny počítač s Ubuntu, je použitie nástroja ubuntu-vm-builder. Nástroj ubuntu-vm-builder umožňuje použiť rozšírené možnosti pri nastavovaní oddielov disku, spustiť programy cez tzv. poinštalačný skript, atď. Viac informácií sa nachádza v časti JeOS a vmbuilder.
Nástroj virt-install je časťou balíka python-virtinst. Ak ho chcete nainštalovať, zadajte nasledujúci príkaz:
sudo apt-get install python-virtinst
Spolu s príkazom virt-install je možné použiť aj niekoľko parametrov. Napríklad:
sudo virt-install -n web_vyvoj -r 256 -f web_vyvoj.img \
-s 4 -c jeos.iso --accelerate \
--connect=qemu:///system --vnc \
--noautoconsole -v
-n web_vyvoj: meno virtuálneho počítača v tomto príklade bude web_vyvoj .
-r 256: určuje veľkosť pamäte, ktorú bude virtuálny počítač používať.
-f web_vyvoj.img: určuje cestu k virtuálnemu disku, ktorý môže byť súbor, diskový oddiel alebo logický zväzok.
V tomto príklade sme použili súbor s názvom web_vyvoj.img
.
-s 4: určuje veľkosť virtuálneho disku.
-c jeos.iso: súbor, ktorý sa použije ako virtuálny CDROM. Súbor môže byť buď ISO súbor alebo cesta k pripojenému fyzickému CDROMu.
--accelerate: zapne v jadre technológiu na urýchlenie virtualizácie.
--vnc: exportuje virtuálnu konzolu pomocou VNC.
--noautoconsole: nepripojí sa automaticky ku konzole virtuálneho počítača.
-v: vytvorí plne virtualizovaný hosťovaný systém.
Po spustení virt-install sa môžete k virtuálnemu počítaču pripojiť buď lokálne pomocou grafického rozhrania alebo pomocou nástroja virt-viewer.
Aplikácia virt-clone sa používa na vytváranie kópie jedného virtuálneho počítača na druhý. Napríklad:
sudo virt-clone -o web_vyvoj -n databaz_vyvoj -f /cesta/k/databaz_vyvoj.img --connect=qemu:///system
-o: originálny virtuálny počítač
-n: meno nového virtuálneho počítača.
-f: cesta k súboru, logickému zväzku alebo diskovému oddielu, ktorý bude používať nový virtuálny počítač.
--connect: určuje, ku ktorému hypervízoru (virtualizátoru) sa má pripojiť.
Tiež môžete použiť -d alebo --debug ak chcete získať podrobný výpis pri riešení problémov s virt-clone.
![]() |
Mená web_vyvoj a databaz_vyvoj nahraďte menami svojich virtuálnych počítačov. |
---|---|
Existuje niekoľko nástrojov na správu virtuálnych počítačov a libvirt. Nástroj virsh sa dá používať z príkazového riadka. Niekoľko príkladov:
Vypísanie zoznamu spustených virtuálnych počítačov:
virsh -c qemu:///system list
Spustenie virtuálneho počítača:
virsh -c qemu:///system start web_vyvoj
Spustenie virtuálneho počítača pri zavádzaní systému
virsh -c qemu:///system autostart web_vyvoj
Reštart virtuálneho počítača:
virsh -c qemu:///system reboot web_vyvoj
Aktuálny stav virtuálneho počítača sa dá uložiť do súboru a neskôr sa dá obnoviť. Nasledujúci príkaz uloží stav virtuálneho počítača do súboru, ktorý má v mene aktuálny dátum:
virsh -c qemu:///system save web_devel web_vyvoj-270208.state
Po uložení virtuálny počítač zostane vypnutý.
Obnovenie uloženého stavu:
virsh -c qemu:///system restore web_vyvoj-270208.state
Vypnutie virtuálneho počítača:
virsh -c qemu:///system shutdown web_vyvoj
Pripojenie CDROMu do virtuálneho počítača:
virsh -c qemu:///system attach-disk web_vyvoj /dev/cdrom /media/cdrom
![]() |
V predchádzajúcich príkladoch nahraďte web_vyvoj názvom vášho virtuálneho počítača a
|
---|---|
Balík virt-manager obsahuje grafický nástroj na správu lokálnych a vzdialených virtuálnych počítačov. Nástroj virt-manager nainštalujeme pomocou príkazu:
sudo apt-get install virt-manager
Kvôli tomu, že virt-manager vyžaduje grafické rozhranie (GUI), odporúčame ho nainštalovať na pracovnú stanicu a nie na server v ostrej prevádzke. Ak sa chceme pripojiť k lokálnej službe libvirt, zadáme:
virt-manager -c qemu:///system
Môžeme sa však pripojiť aj k službe libvirt, ktorá je spustená na inej stanici, zadaním nasledujúceho príkazu:
virt-manager -c qemu+ssh://virtnode1.nieco.sk/system
![]() |
V predchádzajúcom príklade predpokladáme, že sa medzi počítačmi dá nadviazať spojenie cez SSH, a že počítač virtnode1.mydomain.com už bol nakonfigurovaný a používa na autentifikáciu SSH kľúče. SSH kľúče sú nevyhnutné, pretože libvirt posiela výzvu na zadanie hesla do iného procesu. Viac informácii o konfigurovaní SSH sa nachádza v časti OpenSSH server. |
---|---|
Aplikácia virt-viewer umožňuje pripojenie ku konzole virtuálneho počítača. Nástroj virt-viewer vyžaduje grafické rozhranie (GUI) aby sa vedel spojiť s virtuálnym počítačom.
Nástroj virt-viewer nainštalujeme zadaním:
sudo apt-get install virt-viewer
Ak je virtuálny počítač už nainštalovaný a spustený, môžeme sa ku nemu pripojiť zadaním nasledujúceho príkazu:
virt-viewer -c qemu:///system web_vyvoj
Podobne ako virt-manager, aj virt-viewer sa vie pripojiť k vzdialenej stanici pomocou SSH s autentifikáciou pomocou kľúčov:
virt-viewer -c qemu+ssh://virtnode1.nieco.sk/system web_vyvoj
Názov web_vývoj nahradíme názvom nášho virtuálneho počítača.
Ak sme nastavili premostenie sieťového rozhrania, môžeme nastaviť aj SSH prístup k virtuálnemu počítaču. Viac informácií sa dozvieme v častiach OpenSSH server a “Premostenie”.
Viac informácií sa dozviete na domovskej stránke KVM.
Viac informácií o libvirt sa dozviete na libvirt home page
Na stránke Virtual Machine Manager sa zasa nachádza viac informácií o vývoji nástroja virt-manager.
O virtualizačnej technológii v Ubuntu sa môžete dozvedieť viac aj v diskusnom kanále IRC #ubuntu-virt na freenode.
Ďalším dobrým zdrojom je stránka Ubuntu Wiki KVM.
Ubuntu JeOS (vyslovujeme "džús") je efektívny variant operačného systému Ubuntu Server, nastavený špeciálne pre prácu vo virtuálnom počítači. Tento systém sa už nedá stiahnuť ako samostatný ISO obraz disku CD-ROM, ale je ho možné nainštalovať týmito spôsobmi:
Počas inštalácie z obrazu disku Server Edition (stlačíme F4 na prvej obrazovke, kde vyberieme "Minimálna inštalácia", ktorá zodpovedá výberu balíkov, ktorý tvoril JeOS).
Vytvoríme si vlastný obraz pomocou nástroja vmbuilder, o ktorom hovoríme nižšie.
JeOS je špecializovaná inštalácia systému Ubuntu Server Edition s vyladeným jadrom, ktoré obsahuje základné prvky potrebné na beh vo virtuálnom prostredí.
Ubuntu JeOS bol vyladený tak, aby využíval kľúčové technológie na zvýšenie výkonu v posledných produktoch od VMware. Kombinácia zníženej veľkosti a optimalizovaného výkonu zaisťuje pre Ubuntu JeOS Edition vysokú efektívnosť využitia serverových zdrojov pri rozsiahlom nasadení virtualizácie.
Systém bez nepotrebných ovládačov s minimálnym počtom balíkov si môžu ostatné spoločnosti prispôsobiť presne podľa svojich potrieb. Bezpečnostné a iné aktualizácie sú obmedzené na minimum, pretože sa aktualizuje iba najnevyhnutnejšie minimum potrebné pre chod prostredia. Používatelia pracujúci v prostredí JeOS zaznamenajú menej aktualizácií ako by zaznamenali pri štandardnej inštalácii servera.
Vďaka nástroju vmbuilder už nie je potrebné sťahovať ISO obraz disku JeOS. Nástroj vmbuilder dokáže pomocou rôznych balíkov pripraviť za minútu virtuálny počítač presne podľa našich požiadaviek. Vmbuilder je skript, ktorý automatizuje proces vytvárania virtuálnych počítačov založených na Linuxe. V súčasnosti podporuje KVM a Xen.
Pomocou prepínačov príkazového riadka môžeme pridať
ďalšie balíky, odstrániť balíky, zvoliť verziu Ubuntu a zrkadlo z
ktorého bude sťahovať, atď. Na novom hardvéri s dostatkom pamäte RAM,
priečinkom tmpdir v /dev/shm
alebo použitím súborového
systému tmpfs, vytvorením lokálneho zrkadla, môžete naštartovať
virtuálny počítač za menej ako minútu.
Prvý krát sa shell skript ubuntu-vm-builder objavil v Ubuntu 8.04LTS. Bol vytvorený za účelom pomoci vývojárom, ktorý potrebovali testovať svoj kód bez toho, aby museli zakaždým začínať od nuly. Niekoľko administrátorov Ubuntu začalo tento skript používať a pridali do neho rôzne vylepšenia a prispôsobili ho na konkrétne prípady, čo priviedlo Sorena Hansena (to nie je golfový hráč ale autor skriptu a špecialista na virtualizáciu Ubuntu) k tomu, aby do vydania Interpid skript od znova prepísal v jazyku Python, pričom si stanovil nové ciele:
Navrhnúť skript tak, aby sa dal znova použiť v iných distribúciách.
Použiť mechanizmus rozšírení pre všetky virtualizačné interakcie tak, aby sa dali jednoducho a logicky použiť v ostatných virtualizačných rozhraniach.
Poskytnúť jednoduché webové rozhranie na správu ako alternatívu k príkazovému riadku.
Základný princíp a príkazy však zostali rovnaké.
Predpokladáme, že už máme lokálne nainštalované a nakonfigurované libvirt a KVM na počítači, ktorý používame. Viac informácii o tom ako to urobiť sa nachádza:
Predpokladáme aj znalosť niektorého z textových editorov, ako napríklad nano alebo vi. Ak o textových editoroch ešte nič neviete, základný prehľad získate na stránke PowerUsersTextEditors. Tento návod je vytvorený pre KVM, ale základný princíp je rovnaký aj pre ostatné virtualizačné technológie.
Názov balíka, ktorý je potrebné nainštalovať, je python-vm-builder. V príkazovom riadku zadáme:
sudo apt-get install python-vm-builder
![]() |
Ak používate verziu Hardy, môžete si nainštalovať staršiu verziu balíka s názvom ubuntu-vm-builder, v ktorom je len veľmi málo rozdielov v syntaxe. |
---|---|
Definovanie virtuálneho počítača pomocou nástroja vmbuilder je veľmi jednoduché, ale je tu niekoľko vecí, ktoré je potrebné zvážiť:
Ak plánujete poskytovať virtuálne služby, nepredpokladajte, že koncoví používatelia budú vedieť ako si majú rozšíriť veľkosť diskového priestoru podľa svojich potrieb. Preto si buď vopred naplánujte použitie veľkého virtuálneho disku, aby sa mohlo poskytovanie služieb rozrastať, alebo napíšte veľmi zrozumiteľný návod, ako sa dá alokovať viac miest. Dobrou myšlienkou môže byť aj ukladanie dát na samostatné externé úložisko.
Vzhľadom k tomu, že pamäť RAM sa oveľa jednoduchšie alokuje vo virtuálnom počítači, veľkosť RAM by mala byť nastavená na takú hodnotu, o ktorej si myslíte, že bude bezpečným minimom pre poskytovanie virtuálnych služieb.
Príkaz vmbuilder má 2 hlavné parametre: virtualizačnú technológiu (hypervisor) a cieľovú distribúciu. Ďalších niekoľko voliteľných parametrov môžete nájsť po zadaní príkazu:
vmbuilder --help
V tomto príklade použijeme KVM a Ubuntu 10.04 LTS (Lucid Lynx) a budeme príkaz pre vytvorenie virtuálneho počítača postupne upresňovať, pričom budeme spúšťať príkaz vmbuilder s takýmito parametrami:
sudo vmbuilder kvm ubuntu --suite lucid --flavour virtual --arch i386 -o --libvirt qemu:///system
Prepínač --suite definuje vydanie Ubuntu, --flavour hovorí, že použijeme virtuálne jadro (to sa používa pri vytváraní obrazu JeOS), --arch hovorí, že chceme použiť 32 bitový počítač, -o povie príkazu vmbuilder aby nahradil predchádzajúcu verziu virtuálneho počítača a --libvirt informuje lokálne virtualizačné rozhranie, aby pridalo virtuálny počítač do zoznamu počítačov.
Poznámky:
Vzhľadom na povahu operácií, ktoré vykonáva príkaz vmbuilder, je potrebné mať oprávnenia používateľa root, teda použiť príkaz sudo.
Ak virtuálny počítač potrebuje používať viac ako 3Gb pamäte, mali by ste vytvoriť 64 bitový počítač (--arch amd64).
Až do vydania Ubuntu 8.10, bolo virtuálne jadro zostavené iba pre 32 bitovú architektúru, preto ak chcete definovať počítač s architektúrou amd64 vo vydaní Hardy, je potrebné použiť --flavour server.
Keďže virtuálne služby môžu byť nasadené do najrôznejších sietí, o ktorých je veľmi ťažké zistiť ako budú vyzerať, je dobré použiť rovnaké riešenie, ako robia výrobcovia hardvéru - priradiť virtuálnemu počítaču počiatočnú fixnú IP adresu z rozsahu pre súkromné siete, s ktorou oboznámite používateľov pomocou dokumentácie. Rozsah, z ktorého by ste si mali adresu zvoliť je 192.168.0.0/255.
Ak to chceme urobiť, použijeme nasledujúce parametre:
--ip ADRESA: IP adresa v číselnom tvare s bodkami (použije sa ak nie je určená cez dhcp)
--mask HODNOTA: IP maska v číselnej podobe (predvolená hodnota: 255.255.255.0)
--net HODNOTA: IP adresa siete (predvolená hodnota: X.X.X.0)
--bcast HODNOTA: IP broadcast adresa (predvolená hodnota: X.X.X.255)
--gw ADRESA: Adresa brány (predvolená hodnota: X.X.X.1)
--dns ADRESA: Adresa DNS servera (predvolená hodnota: X.X.X.1)
My budeme predpokladať, že predvolené hodnoty sú vyhovujúce, preto použijeme nasledujúci príkaz:
sudo vmbuilder kvm ubuntu --suite lucid --flavour virtual --arch i386 -o --libvirt qemu:///system --ip 192.168.0.100
Pretože chceme, aby k službám mohli pristupovať vzdialené stanice, je potrebné nastaviť libvirt tak, aby služba použila sieťové premostenie. Aby sme to dosiahli, použijeme mechanizmus šablón nástroja vmbuilder, pomocou ktorého zmeníme jednu z predvolených šablón.
V našom pracovnom priečinku si vytvoríme hierarchiu šablóny a nakopírujeme do nej predvolenú šablónu:
mkdir -p VMBuilder/plugins/libvirt/templates
cp /etc/vmbuilder/libvirt/* VMBuilder/plugins/libvirt/templates/
Teraz môžeme otvoriť súbor VMBuilder/plugins/libvirt/templates/libvirtxml.tmpl
a zmeniť:
<interface type='network'>
<source network='default'/>
</interface>
Na:
<interface type='bridge'>
<source bridge='br0'/>
</interface>
Pri rozdeľovaní disku na virtuálnom počítači musíme zobrať do
úvahy, na aký účel ho plánujeme použiť, pretože väčšina služieb chce mať
samostatné úložisko dát. Na tento účel je vhodné vytvoriť samostatnú
oddiel pre priečinok /var
.
Ak to chceme urobiť, vmbuilder nám poskytne prepínač --part:
--part CESTA
Umožňuje špecifikovať tabuľku oblastí do tzv. partfile súboru. Každý riadok v partfile súbore by mal určovať
(ako prvý koreňový priečinok root):
miesto_pripojenia veľkosť
pričom veľkosť sa udáva v megabajtoch. Je možné definovať až 4 virtuálne disky. Ďalší disk sa oddeľuje
čiarou zo znakov ’---’. Napríklad :
root 1000
/opt 1000
swap 256
---
/var 2000
/log 1500
V našom prípade definujeme textový súbor vmbuilder.partition
,
ktorý bude obsahovať nasledujúce nastavenia:
root 8000
swap 4000
---
/var 20000
![]() |
Všimnite si, že pri použití obrazov virtuálnych diskov je veľkosť, ktorú sme im pridelili, maximálnou veľkosťou týchto jednotiek. |
---|---|
Náš príkaz bude teraz vyzerať takto:
sudo vmbuilder kvm ubuntu --suite lucid --flavour virtual --arch i386 \
-o --libvirt qemu:///system --ip 192.168.0.100 --part vmbuilder.partition
![]() |
Pomocou znaku "\" v príkaze je možné dlhý príkaz zalomiť do ďalšieho riadka. |
---|---|
Pri poskytovaní virtuálnej služby bude potrebné zadať predvoleného používateľa a heslo, ktoré odporúčame tiež uviesť vo vašej dokumentácii. Neskôr si v tomto návode povieme, ako budeme poskytovať zabezpečenie pomocou skriptu, ktorý sa bude spúšťať pri prvom prihlásení sa používateľa do virtuálneho počítača, ktorý si okrem iného od neho vyžiada zmenu hesla. V našom príklade použijeme ako prihlasovacie meno 'pouzivatel', a heslo 'tajne'.
Urobíme to pomocou nasledujúcich nepovinných parametrov:
--user MENO_POUŽÍVATEĽA: Nastaví meno používateľa, ktorý bude pridaný. Predvolene: ubuntu.
--name CELÉ_MENO: Nastaví celé meno používateľa, ktorý bude pridaný. Predvolene: Ubuntu.
--pass HESLO: Nastaví heslo pre používateľa. Predvolene: ubuntu.
Náš výsledný príkaz bude vyzerať takto:
sudo vmbuilder kvm ubuntu --suite intrepid --flavour virtual --arch i386 \
-o --libvirt qemu:///system --ip 192.168.0.100 --part vmbuilder.partition \
--user pouzivatel --name pouzivatel --pass tajne
V tomto príklade nainštalujeme balík (Limesurvey), ktorý pristupuje do databázy MySQL a má webové rozhranie. Budeme preto potrebovať náš OS vybaviť systémami:
Apache
PHP
MySQL
OpenSSH Server
Limesurvey (ako príklad aplikácie, ktorú chceme zahrnúť do balenia)
Robí sa to pomocou viacnásobného zadania parametra --addpkg príkazu vmbuilder:
--addpkg PKG
Nainštaluje PKG do hosťovského počítača (môže byť použitý viackrát)
Vzhľadom na to, ako vmbuilder funguje, balíky, ktoré sa potrebujú niečo opýtať používateľa počas inštalačnej fázy, nie sú podporované a mali by sa inštalovať, až keď začne fungovať interaktivita. Toto platí aj pre Limesurvey, ktorý budeme inštalovať až po prihlásení používateľa.
Ostatné balíky, ktoré sa pýtajú jednoduché otázky cez debconf (príkladom je mysql-server pýtajúci nastavenie hesla), je možné nainštalovať okamžite, ale je potrebné spustiť rekonfiguráciu po prvom prihlásení používateľa.
Ak niektoré balíky, ktoré potrebujeme nainštalovať, nie sú v hlavnom úložisku main, bude potrebné povoliť ďalšie úložiská pomocou --comp a --ppa:
--components SÚČ1,SÚČ2,...,SÚČN
zoznam čiarkami oddelených súčastí distribúcie, ktoré sa majú zahrnúť (napr.: main,universe). Predvolená hodnota
je "main"
--ppa=PPA Pridá osobný archív balíkov PPA do zoznamu zdrojov v súbore sources.list pre virtuálny počítač.
Limesurvey nie je momentálne súčasťou archívu,
preto použijeme jeho adresu PPA (osobného archívu balíkov), tak že ju
pridáme do súboru /etc/apt/source.list
virtuálneho
počítača. Do príkazu teda pridáme nasledujúce voľby:
--addpkg apache2 --addpkg apache2-mpm-prefork --addpkg apache2-utils --addpkg apache2.2-common \
--addpkg dbconfig-common --addpkg libapache2-mod-php5 --addpkg mysql-client --addpkg php5-cli \
--addpkg php5-gd --addpkg php5-ldap --addpkg php5-mysql --addpkg wwwconfig-common \
--addpkg mysql-server --ppa nijaba
Ďalším praktickým nástrojom, ktorý chceme poskytovať, je OpenSSH, pretože umožní administrátorom vzdialený prístup k virtuálnemu počítaču. Poskytnutie predinštalovaného OpenSSH servera je však veľký bezpečnostný risk, pretože všetky servery vo virtuálnych počítačoch budú používať rovnaký tajný kľúč. Takže ak sa hackerovi podarí prelomiť ochranu, ľahko získa prístup ku všetkým virtuálnym počítačom. Preto tak, ako pri používateľskom hesle, použijeme skript, ktorý nainštaluje OpenSSH pri prvom prihlásení používateľa, takže vygenerovaný kľúč bude odlišný v každom virtuálnom počítači. Na tento účel použijeme --firstboot skript, pretože nevyžaduje žiadnu interakciu z používateľom.
Keď vmbuilder vytvára zostavu vášho systému, musí stiahnuť každý balík cez sieť z jedného z oficiálnych úložísk, čo môže v závislosti od rýchlosti internetového spojenia a záťaže zrkadla významne ovplyvniť rýchlosť vytvárania systému. Ak chceme tento čas skrátiť, je vhodné buď vytvoriť lokálne úložisko (ktoré môžeme vytvoriť pomocou apt-mirror) alebo použiť medzičlánok (proxy) s vyrovnávacou pamäťou, ako napríklad apt-proxy. Druhá možnosť je jednoduchšia na implementáciu a vyžaduje menej diskového priestoru, a preto ju použijeme aj v tomto návode. Vyrovnávaciu pamäť nainštalujeme zadaním príkazu:
sudo apt-get install apt-proxy
Po dokončení je prázdny medzičlánok proxy pripravený na adrese http://mirroraddress:9999 a úložisko systému Ubuntu sa bude vytvárať v priečinku /ubuntu. Aby ho príkaz vmbuilder použil, použijeme voľbu --mirror:
--mirror=URL Použije zrkadlo úložiska (mirror) Ubuntu na zadanej URL adrese namiesto predvolených
úložísk na adresách http://archive.ubuntu.com/ubuntu s oficiálnymi
archívmi a http://ports.ubuntu.com/ubuntu-ports
s ostatnými
Pridáme preto do príkazu nasledujúce:
--mirror http://mirroraddress:9999/ubuntu
![]() |
Adresa
zrkadla, ktorú zadáme, sa použije aj v súbore |
---|---|
Ak sa nachádzame v rozsiahlejšom prostredí, môžeme sa zamerať na nastavenie lokálneho zrkadla úložísk Ubuntu. Balík apt-mirror nám poskytne skripty, ktoré budú za nás obsluhovať zrkadlenie. Mali by sme si vyhradiť asi 20 gigabajtov voľného diskového priestoru pre podporované vydania a architektúry.
V predvolenom stave apt-mirror použije
konfiguračný súbor /etc/apt/mirror.list
. Keď ho nastavíme,
bude replikovať iba architektúru vhodnú pre náš počítač. Ak chceme v
zrkadle podporovať aj ostatné architektúry, stačí skopírovať riadky v
súbore začínajúce “deb” a nahradiť deb kľúčovým slovom /deb-{arch},
pričom arch môže byť i386, amd64, atď... Napríklad na počítači s
architektúrou amd64 môžeme poskytovať archívy pre architektúru i386
doplnením riadkov:
deb http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
/deb-i386 http://archive.ubuntu.com/ubuntu lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
/deb-i386 http://archive.ubuntu.com/ubuntu lucid-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
/deb-i386 http://archive.ubuntu.com/ubuntu lucid-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
/deb-i386 http://security.ubuntu.com/ubuntu lucid-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu lucid main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
/deb-i386 http://archive.ubuntu.com/ubuntu lucid main/debian-installer restricted/debian-installer universe/debian-installer multiverse/deb
Všimnite si, že zdrojové balíky nie sú zrkadlené, pretože sa v porovnaní s binárnymi súbormi používajú zriedkavo a zaberajú oveľa viac miesta. Ak budeme chcieť, môžeme ich jednoducho pridať do zoznamu.
Keď zrkadlo skončí replikáciu (čo môže trvať dlho), je
potrebné nastaviť webový server Apache, aby zrkadlené súbory v priečinku
/var/spool/apt-mirror
(ak ste nezmenili predvolené
umiestnenie) boli publikované cez webový server Apache. Viac informácií o
webovom serveri Apache sa nachádza v časti HTTPD - webový server
Apache2.
Všetci vieme, že zápis do operačnej pamäte RAM je OMNOHO rýchlejší ako zápis na disk. Ak máte nejakú voľnú pamäť, v ktorej by ste mohli nechať vmbuilder vykonávať jeho operácie na tzv. RAMdisku, veľmi by to pomohlo. RAMdisk vytvoríme pomocou voľby --tmpfs:
--tmpfs OPTS Použije tmpfs ako pracovný priečinok, pričom určíme jeho
veľkosť alebo zadaním "-" použijeme predvolené tmpfs (suid,dev,size=1G).
Preto pridanie --tmpfs - je veľmi dobrý nápad, ak máte 1G voľnej operačnej pamäte.
Máme dve možnosti:
Odporúčaný spôsob, ako to urobiť je vytvorenie Debian balíka. Pretože toto je už mimo rámec nášho návodu, nebudeme to tu robiť, ale povieme si, že návod, ako to urobiť, sa nachádza na stránke Ubuntu Packaging Guide. V tomto prípade je tiež vhodné vytvoriť pre balík úložisko, z ktorého bude možné jednoducho stiahnuť aktualizovaný balík. Návod, ako to urobiť, nájdete na stránke Debian Administration.
Ručná inštalácia aplikácie do priečinka /opt
podľa odporúčaní
FHS guidelines.
V našom prípade použijeme Limesurvey ako príklad webovej aplikácie, kvôli ktorej poskytujeme virtuálny počítač. Ako sme už poznamenali, použijeme verziu, ktorá je dostupná v PPA (osobnom archíve balíkov).
Tak ako sme hovorili už skôr, pri prvom spustení virtuálneho
počítača je potrebné nainštalovať openssh-server,
aby bol generovaný kľúč jedinečný pre každý virtuálny počítač.
Urobíme to pomocou skriptu s názvom boot.sh
takto:
# Tento skript sa spustí pri prvom spustení virtuálneho počítača
# Bude spustený pod používateľom root.
apt-get update
apt-get install -qqy --force-yes openssh-server
A teraz pridáme voľbu --firstboot boot.sh do príkazu.
Systémy Mysql a Limesurvey vyžadujú trocha interakcie počas nastavovania, nastavíme ich pri prvom prihlásení používateľa pomocou skriptu s názvom login.sh. Tento skript použijeme aj na to, aby používateľ mohol zadať:
svoje vlastné heslo
akú bude používať klávesnicu a ostatné regionálne nastavenia
Skript login.sh
preto zadefinujeme nasledovne:
# Tento skript sa spustí pri prvom prihlásení používateľa
echo "Virtuálny počítač je teraz potrebné nastaviť."
echo "Bude potrebné odpovedať na niekoľko otázok."
echo "Začneme zmenou vášho používateľského hesla"
passwd
#poskytnutie možnosti zmeny klávesnice
sudo dpkg-reconfigure console-setup
#nastavenie hesla používateľa root databázového servera mysql
sudo dpkg-reconfigure mysql-server-5.0
#inštalácia limesurvey
sudo apt-get install -qqy --force-yes limesurvey
echo "Virtuálny počítač je teraz nastavený. Zadajte do prehliadača"
echo "adresu http://serverip/limesurvey/admin"
A potom pridáme do príkazu voľbu --firstlogin login.sh.
Ak chceme, aby virtuálny počítač sám seba aktualizoval, stačí nainštalovať unattended-upgrades. Preto pridáme nasledujúcu voľbu do príkazu:
--addpkg unattended-upgrades
Pretože sme pridali aplikáciu z PPA úložiska, proces aktualizácie nebude aktualizovať len systém, ale aj danú aplikáciu, a to vždy, keď sa objaví nová verzia v PPA úložisku.
Aby virtuálne počítače dokázali spracovať signál pre vypnutie a reštart, je vhodné nainštalovať aj balík acpid. Urobíme to pridaním nasledujúcej voľby do príkazu:
--addpkg acpid
Tu je výsledný príkaz so všetkými voľbami, o ktorých sme hovorili:
sudo vmbuilder kvm ubuntu --suite lucid --flavour virtual --arch i386 -o \
--libvirt qemu:///system --ip 192.168.0.100 --part vmbuilder.partition --user user \
--name user --pass default --addpkg apache2 --addpkg apache2-mpm-prefork \
--addpkg apache2-utils --addpkg apache2.2-common --addpkg dbconfig-common \
--addpkg libapache2-mod-php5 --addpkg mysql-client --addpkg php5-cli \
--addpkg php5-gd --addpkg php5-ldap --addpkg php5-mysql --addpkg wwwconfig-common \
--addpkg mysql-server --addpkg unattended-upgrades --addpkg acpid --ppa nijaba \
--mirror http://mirroraddress:9999/ubuntu --tmpfs - --firstboot boot.sh \
--firstlogin login.sh es
Ak sa chcete dozvedieť viac, máte otázky alebo pripomienky, kontaktujte náš Ubuntu Server Tím cez:
IRC kanál: #ubuntu-server na freenode
Mailovú diskusnú skupinu: ubuntu-server (zavináč) lists.ubuntu.com
Inormácie sa nachádzajú aj na stránke JeOSVMBuilder Ubuntu Wiki.
Defining a virtual machine with Ubuntu's vmbuilder is quite simple, but here are a few thing to consider:
If you plan on shipping a virtual appliance, do not assume that the end-user will know how to extend disk size to fit their need, so either plan for a large virtual disk to allow for your appliance to grow, or explain fairly well in your documentation how to allocate more space. It might actually be a good idea to store data on some separate external storage.
Given that RAM is much easier to allocate in a VM, RAM size should be set to whatever you think is a safe minimum for your appliance.
The vmbuilder command has 2 main parameters: the virtualization technology (hypervisor) and the targeted distribution. Optional parameters are quite numerous and can be found using the following command:
vmbuilder --help
As this example is based on KVM and Ubuntu 9.10 (Karmic Koala), and we are likely to rebuild the same virtual machine multiple time, we'll invoke vmbuilder with the following first parameters:
sudo vmbuilder kvm ubuntu --suite karmic --flavour virtual --arch i386 -o --libvirt qemu:///system
The --suite defines the Ubuntu release, the --flavour specifies that we want to use the virtual kernel (that's the one used to build a JeOS image), the --arch tells that we want to use a 32 bit machine, the -o tells vmbuilder to overwrite the previous version of the VM and the --libvirt tells to inform the local virtualization environment to add the resulting VM to the list of available machines.
Notes:
Because of the nature of operations performed by vmbuilder, it needs to have root privilege, hence the use of sudo.
If your virtual machine needs to use more than 3Gb of ram, you should build a 64 bit machine (--arch amd64).
Until Ubuntu 8.10, the virtual kernel was only built for 32 bit architecture, so if you want to define an amd64 machine on Hardy, you should use --flavour server instead.
As a virtual appliance that may be deployed on various very different networks, it is very difficult to know what the actual network will look like. In order to simplify configuration, it is a good idea to take an approach similar to what network hardware vendors usually do, namely assigning an initial fixed IP address to the appliance in a private class network that you will provide in your documentation. An address in the range 192.168.0.0/255 is usually a good choice.
To do this we'll use the following parameters:
--ip ADDRESS: IP address in dotted form (defaults to dhcp if not specified)
--mask VALUE: IP mask in dotted form (default: 255.255.255.0)
--net VALUE: IP net address (default: X.X.X.0)
--bcast VALUE: IP broadcast (default: X.X.X.255)
--gw ADDRESS: Gateway address (default: X.X.X.1)
--dns ADDRESS: Name server address (default: X.X.X.1)
We assume for now that default values are good enough, so the resulting invocation becomes:
sudo vmbuilder kvm ubuntu --suite karmic --flavour virtual --arch i386 -o --libvirt qemu:///system --ip 192.168.0.100
Because our appliance will be likely to need to be accessed by remote hosts, we need to configure libvirt so that the appliance uses bridge networking. To do this we use vmbuilder template mechanism to modify the default one.
In our working directory we create the template hierarchy and copy the default template:
mkdir -p VMBuilder/plugins/libvirt/templates
cp /etc/vmbuilder/libvirt/* VMBuilder/plugins/libvirt/templates/
We can then edit VMBuilder/plugins/libvirt/templates/libvirtxml.tmpl
to change:
<interface type='network'>
<source network='default'/>
</interface>
To:
<interface type='bridge'>
<source bridge='br0'/>
</interface>
Partitioning of the virtual appliance will have to take into consideration what you are planning to do with is. Because
most appliances want to have a separate storage for data, having a separate /var
would make sense.
In order to do this vmbuilder provides us with --part:
--part PATH
Allows to specify a partition table in partfile each line of partfile should specify
(root first):
mountpoint size
where size is in megabytes. You can have up to 4 virtual disks, a new disk starts on a
line with ’---’. ie :
root 1000
/opt 1000
swap 256
---
/var 2000
/log 1500
In our case we will define a text file name vmbuilder.partition
which will contain the following:
root 8000
swap 4000
---
/var 20000
![]() |
|
Note that as we are using virtual disk images, the actual sizes that we put here are maximum sizes for these volumes. |
Our command line now looks like:
sudo vmbuilder kvm ubuntu --suite karmic --flavour virtual --arch i386 \
-o --libvirt qemu:///system --ip 192.168.0.100 --part vmbuilder.partition
![]() |
|
Using a "\" in a command will allow long command strings to wrap to the next line. |
Again setting up a virtual appliance, you will need to provide a default user and password that is generic so that you can include it in your documentation. We will see later on in this tutorial how we will provide some security by defining a script that will be run the first time a user actually logs in the appliance, that will, among other things, ask him to change his password. In this example I will use 'user' as my user name, and 'default' as the password.
To do this we use the following optional parameters:
--user USERNAME: Sets the name of the user to be added. Default: ubuntu.
--name FULLNAME: Sets the full name of the user to be added. Default: Ubuntu.
--pass PASSWORD: Sets the password for the user. Default: ubuntu.
Our resulting command line becomes:
sudo vmbuilder kvm ubuntu --suite intrepid --flavour virtual --arch i386 \
-o --libvirt qemu:///system --ip 192.168.0.100 --part vmbuilder.partition \
--user user --name user --pass default
In this example we will be installing a package (Limesurvey) that accesses a MySQL database and has a web interface. We will therefore require our OS to provide us with:
Apache
PHP
MySQL
OpenSSH Server
Limesurvey (as an example application that we have packaged)
This is done using vmbuilder by specifying the --addpkg command multiple times:
--addpkg PKG
Install PKG into the guest (can be specfied multiple times)
However, due to the way vmbuilder operates, packages that have to ask questions to the user during the post install phase are not supported and should instead be installed while interactivity can occur. This is the case of Limesurvey, which we will have to install later, once the user logs in.
Other packages that ask simple debconf question, such as mysql-server asking to set a password, the package can be installed immediately, but we will have to reconfigure it the first time the user logs in.
If some packages that we need to install are not in main, we need to enable the additional repositories using --comp and --ppa:
--components COMP1,COMP2,...,COMPN
A comma separated list of distro components to include (e.g. main,universe). This defaults
to "main"
--ppa=PPA Add ppa belonging to PPA to the vm's sources.list.
Limesurvey not being part of the archive
at the moment, we'll specify it's PPA (personal package archive)
address so that it is added to the VM /etc/apt/source.list
, so we add the following options to the command line:
--addpkg apache2 --addpkg apache2-mpm-prefork --addpkg apache2-utils --addpkg apache2.2-common \
--addpkg dbconfig-common --addpkg libapache2-mod-php5 --addpkg mysql-client --addpkg php5-cli \
--addpkg php5-gd --addpkg php5-ldap --addpkg php5-mysql --addpkg wwwconfig-common \
--addpkg mysql-server --ppa nijaba
Another convenient tool that we want to have on our appliance is OpenSSH, as it will allow our admins to access the appliance remotely. However, pushing in the wild an appliance with a pre-installed OpenSSH server is a big security risk as all these server will share the same secret key, making it very easy for hackers to target our appliance with all the tools they need to crack it open in a breeze. As for the user password, we will instead rely on a script that will install OpenSSH the first time a user logs in so that the key generated will be different for each appliance. For this we'll use a --firstboot script, as it does not need any user interaction.
When vmbuilder creates builds your system, it has to go fetch each one of the packages that composes it over the network to one of the official repositories, which, depending on your internet connection speed and the load of the mirror, can have a big impact on the actual build time. In order to reduce this, it is recommended to either have a local repository (which can be created using apt-mirror) or using a caching proxy such as apt-cache. The later option being much simpler to implement and requiring less disk space, it is the one we will pick in this tutorial. To install it, simply type:
sudo apt-get install apt-proxy
Once this is complete, your (empty) proxy is ready for use on http://mirroraddress:9999 and will find ubuntu repository under /ubuntu. For vmbuilder to use it, we'll have to use the --mirror option:
--mirror=URL Use Ubuntu mirror at URL instead of the default, which
is http://archive.ubuntu.com/ubuntu for official
arches and http://ports.ubuntu.com/ubuntu-ports
otherwise
So we add to the command line:
--mirror http://mirroraddress:9999/ubuntu
![]() |
|
The mirror address specified here will also be used in the |
If we are in a larger environment, it may make sense to setup a local mirror of the Ubuntu repositories. The package apt-mirror provides you with a script that will handle the mirroring for you. You should plan on having about 20 gigabyte of free space per supported release and architecture.
By default, apt-mirror uses the configuration file in /etc/apt/mirror.list
.
As it is set up, it will replicate only the architecture of the local
machine. If you would like to support other architectures on your
mirror, simply duplicate the lines starting with “deb”, replacing the
deb keyword by /deb-{arch} where arch can be i386, amd64, etc... For
example, on an amd64 machine, to have the i386 archives as well, you
will have:
deb http://archive.ubuntu.com/ubuntu karmic main restricted universe multiverse
/deb-i386 http://archive.ubuntu.com/ubuntu karmic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu karmic-updates main restricted universe multiverse
/deb-i386 http://archive.ubuntu.com/ubuntu karmic-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse
/deb-i386 http://archive.ubuntu.com/ubuntu karmic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
/deb-i386 http://security.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu karmic main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
/deb-i386 http://archive.ubuntu.com/ubuntu karmic main/debian-installer restricted/debian-installer universe/debian-installer multiverse/debian-installer
Notice that the source packages are not mirrored as they are seldom used compared to the binaries and they do take a lot more space, but they can be easily added to the list.
Once the mirror has finished replicating (and this can be quite long), you need to configure Apache so that your
mirror files (in /var/spool/apt-mirror
if you did not change the default), are published by
your Apache server. For more information on Apache see the section called “HTTPD - Apache2 Web Server”.
As you can easily imagine, writing to RAM is a LOT faster than writing to disk. If you have some free memory, letting vmbuilder perform its operation in a RAMdisk will help a lot and the option --tmpfs will help you do just that:
--tmpfs OPTS Use a tmpfs as the working directory, specifying its
size or "-" to use tmpfs default (suid,dev,size=1G).
So adding --tmpfs - sounds like a very good idea if you have 1G of free ram.
Two option are available to us:
The recommended method to do so is to make a Debian package. Since this is outside of the scope of this tutorial, we will not perform this here and invite the reader to read the documentation on how to do this in the Ubuntu Packaging Guide. In this case it is also a good idea to setup a repository for your package so that updates can be conveniently pulled from it. See the Debian Administration article for a tutorial on this.
Manually install the application under /opt
as recommended by the
FHS guidelines.
In our case we'll use Limesurvey as example web application for which we wish to provide a virtual appliance. As noted before, we've made a version of the package available in a PPA (Personal Package Archive).
As we mentioned earlier, the first time the machine boots we'll need to install openssh-server
so that the key generated for it is unique for each machine. To do this, we'll write a script called boot.sh
as follows:
# This script will run the first time the virtual machine boots
# It is ran as root.
apt-get update
apt-get install -qqy --force-yes openssh-server
And we add the --firstboot boot.sh option to our command line.
Mysql and Limesurvey needing some user interaction during their setup, we'll set them up the first time a user logs in using a script named login.sh. We'll also use this script to let the user specify:
His own password
Define the keyboard and other locale info he wants to use
So we'll define login.sh
as follows:
# This script is ran the first time a user logs in
echo "Your appliance is about to be finished to be set up."
echo "In order to do it, we'll need to ask you a few questions,"
echo "starting by changing your user password."
passwd
#give the opportunity to change the keyboard
sudo dpkg-reconfigure console-setup
#configure the mysql server root password
sudo dpkg-reconfigure mysql-server-5.0
#install limesurvey
sudo apt-get install -qqy --force-yes limesurvey
echo "Your appliance is now configured. To use it point your"
echo "browser to http://serverip/limesurvey/admin"
And we add the --firstlogin login.sh option to our command line.
To have your system be configured to update itself on a regular basis, we will just install unattended-upgrades, so we add the following option to our command line:
--addpkg unattended-upgrades
As we have put our application package in a PPA, the process will update not only the system, but also the application each time we update the version in the PPA.
For your virtual machine to be able to handle restart and shutdown events it is being sent, it is a good idea to install the acpid package as well. To do this we just add the following option:
--addpkg acpid
Here is the command with all the options discussed above:
sudo vmbuilder kvm ubuntu --suite intrepid --flavour virtual --arch i386 -o \
--libvirt qemu:///system --ip 192.168.0.100 --part vmbuilder.partition --user user \
--name user --pass default --addpkg apache2 --addpkg apache2-mpm-prefork \
--addpkg apache2-utils --addpkg apache2.2-common --addpkg dbconfig-common \
--addpkg libapache2-mod-php5 --addpkg mysql-client --addpkg php5-cli \
--addpkg php5-gd --addpkg php5-ldap --addpkg php5-mysql --addpkg wwwconfig-common \
--addpkg mysql-server --addpkg unattended-upgrades --addpkg acpid --ppa nijaba \
--mirror http://mirroraddress:9999/ubuntu --tmpfs - --firstboot boot.sh \
--firstlogin login.sh es
If you are interested in learning more, have questions or suggestions, please contact the Ubuntu Server Team at:
IRC: #ubuntu-server on freenode
Mailing list: ubuntu-server at lists.ubuntu.com
Tento návod hovorí o inštalácii UEC z CD disku Ubuntu 10.04 LTS Server Edition, pričom predpokladá použitie základnej topológie siete s jednoduchou obsluhou v štýle "všetko v jednom" a s jedným alebo viacerými pripojenými uzlami.
V tomto návode sa naučíme, ako nainštalovať, nakonfigurovať, zaregistrovať a vykonávať základné operácie v nastaveniach UEC, čím získame jedného správcu mraku (cloud controller) s "rozhraním" a jeden alebo viacero uzlov na spúšťanie inštancií virtuálnych počítačov (VM). V začiatkoch nám pomôžu aj príklady využitia vlastného súkromného mraku.
Ak chceme implementovať najmenšiu infraštruktúru mraku, potrebujeme najmenej dva špecializované systémy:
Z nasledujúcej časti odporúčame miesto fixných požiadaviek použiť odporúčania vychádzajúce zo skúseností autorov tejto dokumentácie.
Nasledujúca tabuľka platí pre systém, na ktorom bude bežať jeden alebo viac:
Požiadavky rozhrania UEC
Hardvér | Minimum | Odporúčané | Poznámky |
CPU | 1 GHz | 2 x 2 GHz | Pre rozhranie všetko v jednom je vhodné, ak budeme mať aspoň dvojjadrový procesor. |
Pamäť | 512 MB | 2 GB | Pre rozhranie v jazyku Java bude lepšie ak bude mať veľa dostupnej pamäte. |
Disk | 5400 ot./min IDE | 7200 ot./min SATA | Pomalšie disky fungujú, ale bude potrebný oveľa dlhší čas na štart inštancie. |
Miesto na disku | 40 GB | 200 GB | 40GB je miesto len pre jeden obraz, vyrovnávaciu pamäť, atď. Eucalyptus nemá rád keď mu dôjde voľné miesto na disku. |
Sieť | 100 Mbps | 1000 Mbps | Obrazy počítačov majú stovky MB a je potrebné, aby sa po sieti kopírovali na uzly |
Ďalšími systémami sú uzly, na ktorých bude spustený:
Požiadavky uzlov UEC
Hardvér | Minimum | Odporúčané | Poznámky |
CPU | Rozšírenia pre VT | VT, 64-bit, Viac jadier | 64 bitové systémy umožňujú spúšťať inštancie pre architektúry i386 aj amd64. Eucalyptus umožňuje spustiť na jednom uzle iba jeden virtuálny počítač na jadro procesora. |
Pamäť | 1 GB | 4 GB | Viac pamäte zamená viac hosťujúcich systémov a umožnuje imlementovať rozsiahlejšie systémy. |
Disk | 5400 ot./min IDE | 7200 ot./min SATA alebo SCSI | Uzly systému Eucalyptus sú závislé od rýchlosti disku; čakanie na V/V operácie bude predstavovať úzke hrdlo pri výkone. |
Miesto na disku | 40 GB | 100 GB | Obrazy sa ukladajú do lokálnej vyrovnávacej pamäte. Eucalyptus nemá rád nedostatok miesta na disku. |
Sieť | 100 Mbps | 1000 Mbps | Obrazy počítačov majú stovky MB a je potrebné, aby sa po sieti kopírovali na uzly |
Inštalácia správcu uzla je ešte jednoduchšia. Iba sa uistíme, či máme pripojenie do siete, v ktorej už beží správca mraku alebo klastra.
Uzly sú fyzické systémy v rámci UEC, na ktorých v skutočnosti bežia inštancie virtuálnych počítačov mraku.
Po tom, ako je na jeden alebo viacero uzlov nainštalovaný Ubuntu Server a beží na nich služba eucalyptus-nc, prihlásime sa do Správcu mraku (CLC) a spustíme:
sudo euca_conf --no-rsync --discover-nodes
Tento príkaz preskúma systémy bežiace v sieti so spustenou službou eucalyptus-nc a administrátor môže potvrdiť registráciu každého uzla podľa jeho IP adresy.
Ak systém od nás bude vyžadovať heslá, alebo cez scp zašle chyby, bude potrebné prejsť inštrukcie na synchronizáciu kľúčov podľa UEC/NodeInstallation.
Po nainštalovaní a zavedení <emphasis>Správcu mraku</emphasis> je potrebné, aby používatelia získali svoje poverenia. To sa dá urobiť buď cez webový prehliadač alebo cez príkazový riadok.
https://<ip-adresa-správcu-mraku>:8443/
![]() |
Musíte použiť zabezpečené pripojenie, preto sa uistite či ste v URL adrese použili "https" a nie "http". Po zadaní sa zobrazí varovanie o bezpečnosti certifikátu. Tu je potrebné pridať výnimku aby sa stránka zobrazila. Ak výnimku nepotvrdíte, nebude možné zobraziť konfiguračnú stránku systému Eucalyptus. |
unzip -d ~/.euca mycreds.zip
mkdir -p ~/.euca
chmod 700 ~/.euca
cd ~/.euca
sudo euca_conf --get-credentials mycreds.zip
unzip mycreds.zip
ln -s ~/.euca/eucarc ~/.eucarc
cd -
Teraz bude potrebné na našom serveri pomocou certifikátov X.509 nastaviť EC2 API a nástroje AMI.
. ~/.euca/eucarc
echo "[ -r ~/.euca/eucarc ] && . ~/.euca/eucarc" >> ~/.bashrc
sudo apt-get install euca2ools
. ~/.euca/eucarc
euca-describe-availability-zones verbose
AVAILABILITYZONE myowncloud 192.168.1.1
AVAILABILITYZONE |- vm types free / max cpu ram disk
AVAILABILITYZONE |- m1.small 0004 / 0004 1 128 2
AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5
AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 10
AVAILABILITYZONE |- m1.xlarge 0002 / 0002 2 1024 20
AVAILABILITYZONE |- c1.xlarge 0001 / 0001 4 2048 20
![]() |
Váš výstup z predchádzajúceho príkazu sa bude líšiť. |
---|
Existuje mnoho spôsobov, akými sa dajú vytvárať inštancie obrazu v UEC:
V tomto návode popíšeme postup pomocou príkazového riadka:
if [ ! -e ~/.euca/mykey.priv ]; then
mkdir -p -m 700 ~/.euca
touch ~/.euca/mykey.priv
chmod 0600 ~/.euca/mykey.priv
euca-add-keypair mykey > ~/.euca/mykey.priv
fi
![]() |
Váš kľúč môžete nazvať ako chcete (v tomto príklade sa kľúč volá <emphasis>'mykey'</emphasis>), nesmiete však zabudnúť, ako sa volá. Ak zabudnete, môžete spustiť príkaz <command>euca-describe-keypairs</command>, ktorým zobrazíte zoznam vytvorených kľúčov uložených v systéme. |
---|---|
euca-describe-groups
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
euca-run-instances $EMI -k mykey -t m1.small
![]() |
Ak sa zobrazí chyba vzťahujúca sa k <emphasis>image_id</emphasis>, podrobnosti môžete nájsť zobrazením stránky Images alebo klknutím na <emphasis>"How to Run"</emphasis> na stránke <emphasis>Store</emphasis>, na ktorej nájdete ukážky príkazov. |
---|---|
watch -n5 euca-describe-instanceVo výstupe príkazu by sme mali vidieť informácie o inštancii vrátane jej stavu. Keď prebieha ukladanie do vyrovnávacej pamäte počas prvého spustenia, stav inštancie je <emphasis>'pending'</emphasis>.
IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR
INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
euca-terminate-instances $INSTANCEID
Nasledujúci postup predstavuje najjednoduchší spôsob, ako nainštalovať obraz. Pokročilejší používatelia sa však môžu zaujímať o to, ako Pripojiť svoj vlastný obraz.
Najjednoduchší spôsob, ako pridať obraz do UEC, je nainštalovať ho z Úložiska obrazov prostredníctvom webového rozhrania UEC.
https://<ip-adresa-správcu-mraku>:8443/
Po stiahnutí a nainštalovaní môžeme kliknúť na odkaz <emphasis>"How to run?"</emphasis>, ktorý pod tlačidlom zobrazí príkaz na vytvorenie inštancie (spustenie) tohto obrazu.
Návod na používanie Správcu úložiska.
Ovládanie služieb eucalyptus:
Umiestnenie niektorých dôležitých súborov:
Upozornenia:
Odkazy:
Dokumentácia pre Ubuntu Enterprise Cloud používa terminológiu, ktorá nemusí byť zrozumiteľná pre všetkých čitateľov. Táto stránka sa snaží vysvetliť niektoré pojmy a skratky.
Mrak (Cloud) - Združená množina fyzických počítačov, ktoré poskytujú výpočtové zdroje prostredníctvom virtuálnych počítačov, ktoré sú dynamicky zaopatrované a dovybavované.
Správca mraku (Cloud Controller - CLC) - Súčasť systému Eucalyptus, ktorá poskytuje webové užívateľské rozhranie (https server na porte 8443) a implementuje Amazon EC2 API. V jednej inštalácii UEC môže byť len jeden Správca mraku. Táto služba je poskytovaná Ubuntu balíkom eucalyptus-cloud.
Klaster (Cluster) - Kolekcia uzlov priradených k Správcovi mraku. V jednej inštalácii UEC môže byť viac ako jeden klaster. Klastre sú niekedy fyzicky oddelenými množinami uzlov. (napr. poschodie1, poschode2, poschodie2).
Správca klastra (Cluster Controller - CC) - Súčasť systému Eucalyptus, ktorá spravuje kolekciu zdrojov, ktoré poskytujú uzly. Táto služba je poskytovaná Ubuntu balíkom eucalyptus-cc.
EBS (Elastic Block Storage) - Úložisko s elastickými blokmi.
EC2 (Elastic Compute Cloud) - Elastický výpočtový mrak. Verejná služba výpočtových mrakov (cloud computing) poskytovaná spoločnosťou Amazon, ktorá je platená podľa hodín alebo podľa gigabajtov.
EKI (Eucalyptus Kernel Image) - Obraz jadra systému Eucalyptus.
EMI (Eucalyptus Machine Image) - Obraz počítača systému Ecalyptus.
ERI (Eucalyptus Ramdisk Image) - Obraz ramdisku systému Eucalyptus.
Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) - Elastický nástroj výpočtovej architektúry na pripojenie vašich programov do užitočných systémov. Je to projekt s otvoreným zdrojom vyvinutý na Kalifornskej univerzite v Santa Barbare. Teraz je podporovaný spoločnosťou Eucalyptus Systems (partner spoločnosti Canonical).
Rozhranie - Fyzický počítač, ktorý hostí jednu (alebo viac) súčastí systému Eucalyptus (správcu mraku, úložiska, klastra a walrus).
Uzol - Uzol je fyzický počítač, na ktorom sa dá spustiť virtuálny počítač, bežiaci cez správcu uzla. V Ubuntu to vlastne znamená, že CPU má rozšírenia pre VT a môže spúšťať hypervízor KVM.
Správca uzla (Node Controller - NC) - Súčasť systému Eucalyptus, ktorá spúšťa hostiteľské virtuálne počítače, ktoré tvoria mrak. Táto služba je poskytovaná Ubuntu balíkom eucalyptus-nc.
S3 (Simple Storage Service) - Jednoduchá služba úložiska. Riešenie trvácneho úložiska určeného pre EC2 poskytovaného spoločnosťou Amazon, ktoré sa platí za gigabajt.
Správca úložiska (Storage Controller - SC) - Súčasť systému Eucalyptus, ktorá spravuje službu úložiska s dynamickými blokmi (EBS). Každý 'klaster' v inštalácii Eucalyptus môže mať svojho vlastného Správcu úložiska. Táto súčasť je poskytovaná balíkom 'eucalyptus-sc'.
UEC (Ubuntu Enterprise Cloud) - Podnikový mrak od Ubuntu. Riešenie výpočtového mraku (cloud computing) od vývojárov Ubuntu, ktoré je založené na systéme Eucalyptus.
VM - Virtuálny počítať (Virtual Machine).
VT - Virtualizačná technológia. Doplnková funkcia niektorých moderných procesorov, umožňujúca urýchľované hosťovanie virtuálnych počítačov.
Walrus - Súčasť systému Eucalyptus, ktorá implementuje aplikačné rozhranie S3 API od spoločnosti Amazon, ktoré sa využíva na uchovávanie obrazov virtuálnych počítačov a používateľského úložiska, ktoré využíva abstrakcie S3 bucket put/get.
watch -n5 euca-describe-instances
Eucalyptus je infraštruktúra na báze otvoreného softvéru implementujúca "cloud computing" na vlastné klastre (zhluk počítačov). Eucalyptus umožňuje vytvorenie vlastného prostredia pre cloud computing, kvôli maximalizácii výpočtových zdrojov a kvôli poskytnutiu prostredia cloud computingu pre používateľov.
Táto časť obsahuje návod ako nastaviť prostredie cloud computingu pomocou systémov Eucalyptus a KVM. Viac informácií o KVM sa nachádza v časti libvirt.
Prostredie cloud computingu obsahuje tri súčasti, ktoré sú zvyčajne nainštalované najmenej na dvoch rôznych počítačoch (v tomto návode ich budeme nazývať 'obslužné rozhranie' a 'uzol'):
Jedno obslužné rozhranie: hostí jeden radič cloudu, webové konfiguračné rozhranie založené na jazyku Java, a radič klastra, ktorý určuje kde sa sa nachádzajú virtuálne počítače a riadi sieťovú komunikáciu medzi nimi.
Jeden alebo viac výpočtových uzlov: obsahuje ovládač uzla ako súčasti systému Eucalyptus, ktorý počítaču umožňuje byť súčasťou distribuovaného systému prostredníctvom virtuálneho počítača.
V predvolenom stave sa používa režim jednoduchého systémového sieťového pripojenia. Táto metóda sieťového pripojenia umožňuje virtuálnym počítačom získať IP adresu z lokálnej siete LAN, za predpokladu, že DHCP server je v našej sieti správne nakonfigurovaný LAN a poskytuje dynamické IP adresy virtuálnym počítačom, ktoré o to požiadajú. Každý uzol bude nakonfigurovaný pomocou premosteného sieťového pripojenia. Viac informácií sa nachádza v časti “Premostenie”.
Najskôr, na počítači, ktorý bude vo funkcii obslužného rozhrania nainštalujeme príslušné balíky. V príkazovom riadku obslužného rozhrania zadáme:
sudo apt-get install eucalyptus-cloud eucalyptus-cc
Potom na každom počítači, ktorý bude slúžiť ako výpočtový uzol nainštalujeme balík ovládača. V príkazovom riadku výpočtového uzla zadáme:
sudo apt-get install eucalyptus-nc
Akonáhle je inštalácia dokončená, čo môže chvíľu trvať, do prehliadača zadáme adresu https://front-end:8443 a prihlásime sa do administrátorského rozhrania pomocou predvoleného používateľského mena a hesla admina. Po prihlásení nás systém vyzve aby sme si zmenili heslo, nastavili emailovú adresu pre používateľa admin, a nastavili URL úložiska.
Vo webovom rozhraní na karte "Configuration", pridáme klaster v časti pod nadpisom "Clusters" (v našom prípade bude radič klastera totožný s radičom cloudu, preto ako stanicu klastra zadáme 'localhost'). Po vyplnení formulára klikneme na tlačidlo "Add Cluster".
Teraz prejdeme späť na počítač obslužného rozhrania, a pridáme uzly do klastra:
sudo euca_conf -addnode menna_adresa_uzla
Následne na to, sa zobrazí výzva na prihlásenie k uzlu. Nainštalujeme balík eucalyptus-nc, pridáme ssh kľúč používateľa systému eucalyptus do súboru authorized_keys
na počítači ktorý slúži ako uzol a potvrdíme vierohodnosť obtlačku OpenSSH RSA kľúča. Nakoniec príkaz dokončí synchronizáciu kľúčov súčastí systému eucalyptus a registrácia uzla je hotová.
Na počítači, ktorý bude slúžiť ako uzol, je potrebné otvoriť konfiguračný súbor /etc/eucalyptus/eucalyptus.conf
a nastaviť premosťujúce rozhranie
(predpokladáme, že rozhranie má názov 'br0'):
VNET_INTERFACE="br0"
...
VNET_BRIDGE="br0"
Nakoniec reštartujeme eucalyptus-nc:
sudo /etc/init.d/eucalyptus-nc restart
![]() |
Nezabudnite nahradiť nodecontroller, node01 a node02 skutočnými mennými adresami hosťovských staníc. |
---|---|
Eucalyptus je teraz pripravený hosťovať obrazy v cloude.
Viac informácii sa nachádza na stránke Eucalyptus website.
Informácie o načítaní inštancií nájdete na stránke Eucalyptus Wiki.
Pomoc môžete nájsť aj na IRC kanáloch #ubuntu-virt, #eucalyptus a #ubuntu-server na Freenode.
OpenNebula umožňuje dynamicky umiestňovať a premiestňovať virtuálne počítače medzi viacerými fyzickými zdrojmi. Toto umožňuje poskytovať virtuálne počítače z ktoréhokoľvek dostupného miesta.
Táto časť obsahuje podrobnosti o konfigurácii OpenNebula klastra s použitím troch počítačov: stanice s obslužným rozhraním a dvoch výpočtových uzlov, na ktorých budú spustené virtuálne počítače. Na výpočtových uzloch je tiež potrebné nakonfigurovať premostenie, aby sa k virtuálnym počítačom dalo pristupovať z lokálnej siete. Podrobnosti nájdete v časti “Premostenie”.
Najskôr v termináli na počítači, ktorý bude slúžiť ako obslužné rozhranie, zadáme:
sudo apt-get install opennebula
Na všetkých počítačoch, ktoré budú slúžiť ako výpočtové uzly, nainštalujeme:
sudo apt-get install opennebula-node
Ako ďalšie skopírujeme SSH kľúče, kvôli ktorým používateľ oneadmin bude potrebovať heslo. Na každom počítači spustíme:
sudo passwd oneadmin
Potom skopírujeme SSH kľúč používateľa oneadmin do výpočtových uzlov a do súboru authorized_keys
na obslužnom rozhraní:
sudo scp /var/lib/one/.ssh/id_rsa.pub oneadmin@uzol01:/var/lib/one/.ssh/authorized_keys
sudo scp /var/lib/one/.ssh/id_rsa.pub oneadmin@uzol02:/var/lib/one/.ssh/authorized_keys
sudo sh -c "cat /var/lib/one/.ssh/id_rsa.pub >> /var/lib/one/.ssh/authorized_keys"
SSH kľúče výpočtových uzlov je potrebné pridať do súboru /etc/ssh/ssh_known_hosts
na obslužnom rozhraní. Spravíme to tak, že sa cez ssh pripojíme ku každému výpočtovému uzlu pod iným používateľským menom ako je oneadmin. Potom ukončite reláciu SSH a
spustením nasledujúcich príkazov nakopírujeme SSH kľúče z ~/.ssh/known_hosts
do /etc/ssh/ssh_known_hosts
:
sudo sh -c "ssh-keygen -f .ssh/known_hosts -F uzol01 1>> /etc/ssh/ssh_known_hosts"
sudo sh -c "ssh-keygen -f .ssh/known_hosts -F uzol02 1>> /etc/ssh/ssh_known_hosts"
![]() |
Nahraďte uzol01 a uzol02 príslušnými mennými adresami počítačov. |
---|---|
Toto umožní používateľovi oneadmin používať príkaz scp, pomocou ktorého sa dajú rozmiestňovať obrazy na výpočtové uzly bez hesla alebo iného ručného vstupu.
Na počítači s obslužným rozhraním vytvoríme priečinok na ukladanie obrazov virtuálnych počítačov a používateľovi oneadmin nastavíme oprávnenie na prístup do tohto priečinka:
sudo mkdir /var/lib/one/images
sudo chown oneadmin /var/lib/one/images/
Nakoniec skopírujeme súbor s diskom virtuálneho počítača do priečinka /var/lib/one/images
. Virtuálny počítač so systémom Ubuntu môžeme vytvoriť pomocou nástroja vmbuilder, podrobnosti nájdete v časti JeOS a vmbuilder.
OpenNebula klaster je teraz pripravený na konfiguráciu a na pridanie virtuálnych počítačov.
V príkazovom riadku zadáme:
onehost create uzol01 im_kvm vmm_kvm tm_ssh
onehost create uzol02 im_kvm vmm_kvm tm_ssh
Potom vytvoríme súbor so šablónou virtuálnej siete s názvom vnet01.template
:
NAME = "LAN"
TYPE = RANGED
BRIDGE = br0
NETWORK_SIZE = C
NETWORK_ADDRESS = 192.168.0.0
![]() |
Uistite sa, či ste zmenili 192.168.0.0 na adresu vašej siete. |
---|---|
Pomocou nástroja onevnet pridáme virtuálnu sieť do systému OpenNebula:
onevnet create vnet01.template
Teraz vytvoríme súbor so šablónou virtuálneho počítača s názvom vm01.template
:
NAME = vm01
CPU = 0.5
MEMORY = 512
OS = [ BOOT = hd ]
DISK = [
source = "/var/lib/one/images/vm01.qcow2",
target = "hda",
readonly = "no" ]
NIC = [ NETWORK="LAN" ]
GRAPHICS = [type="vnc",listen="127.0.0.1",port="-1"]
Spustíme virtuálny počítač pomocou nástroja onevm:
onevm submit vm01.template
Pomocou príkazu onevm list môžeme zobraziť informácie o virtuálnych počítačoch. Ak použijeme voľbu onevm show vm01, zobrazí sa nám ešte detailnejšia špecifikácia virtuálneho počítača.
Viac informácií sa nachádza na stránke OpenNebula website.
Pomoc sa dá získať aj v IRC kanáloch #ubuntu-virt a #ubuntu-server na Freenode.
Viac podrobností sa dá nájsť aj na stránke OpenNebula Ubuntu Wiki.
Distributed Replicated Block Device (DRBD) - disrribuované zariadenie s replikovanými blokmi je zariadenie, ktoré zrkadlí svoje bloky navzájom medzi viacerými stanicami. Replikácia je pritom neviditeľná pre ostatné aplikácie v systéme. Zrkadlený môže byť ktorýkoľvek blok pevných diskov, diskových oddielov, diskových polí RAID, logických zväzkov, atď.
Ak chceme systém drbd začať používať, najskôr musíme nainštalovať potrebné balíky. Do príkazového riadka zadáme:
sudo apt-get install drbd8-utils
![]() |
Ak používate virtuálne jadro virtual kernel ako súčasť virtuálneho počítača, je potrebné modul drbd ručne skompilovať. Jednoduchší spôsob je nainštalovanie balíka linux-server do virtuálneho počítača. |
---|---|
V tejto časti si povieme ako drbd nastaviť tak, aby medzi dvoma stanicami replikoval samostatný diskový oddiel so súborovým systémom ext3 pripojený k /srv
. Veľkosť diskového oddielu nie je podstatná, ale na oboch počítačoch musí byť rovnaká.
Dve stanice sa v našom príklade budú volať drbd01 a drbd02.
Je potrebné, aby bol nastavený preklad adries prostredníctvom DNS alebo na oboch staniciach prostredníctvom súboru /etc/hosts
. Viac informácií sa nachádza v kapitole Služba prekladu doménových mien (DNS).
Systém drbd najskôr nastavíme na prvej stanici úpravou súboru /etc/drbd.conf
:
global { usage-count no; }
common { syncer { rate 100M; } }
resource r0 {
protocol C;
startup {
wfc-timeout 15;
degr-wfc-timeout 60;
}
net {
cram-hmac-alg sha1;
shared-secret "secret";
}
on drbd01 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.0.1:7788;
meta-disk internal;
}
on drbd02 {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.0.2:7788;
meta-disk internal;
}
}
![]() |
Súbor |
---|---|
Teraz skopírujeme súbor /etc/drbd.conf
na druhú stanicu:
scp /etc/drbd.conf drbd02:~
Na stanici drbd02 súbor premiestnime do priečinka /etc
:
sudo mv drbd.conf /etc/
Teraz na oboch staniciach spustíme drbd démon:
sudo /etc/init.d/drbd start
Potom použijeme nástroj drbdadm, ktorým inicializujeme metaúložisko. Na každej stanici spustíme:
sudo drbdadm create-md r0
Na stanici drbd01 alebo na tej, ktorá má byť hlavá, zadáme:
sudo drbdadm -- --overwrite-data-of-peer primary all
Po spustení predchádzajúceho príkazu sa začnú dáta synchronizovať s druhou stanicou. Ak chceme vidieť do akej miery je úloha hotová, na stanici drbd02 zadáme:
watch -n1 cat /proc/drbd
Výpis prerušíme stlačením kombinácie kláves Ctrl+c.
Nakoniec vytvoríme súborový systém na /dev/drbd0
a pripojíme ho:
sudo mkfs.ext3 /dev/drbd0
sudo mount /dev/drbd0 /srv
Ak chceme zistiť, či sa dáta synchronizujú medzi dvoma stanicami, na stanici drbd01 skopírujeme nejaké súbory do priečinka /srv
:
sudo cp -r /etc/default /srv
Potom odpojíme priečinok /srv
:
sudo umount /srv
Nastavíme primárny server do úlohy sekundárneho:
sudo drbdadm secondary r0
Teraz sekundárny server povýšime do úlohy primárneho:
sudo drbdadm primary r0
Nakoniec pripojíme diskový oddiel:
sudo mount /dev/drbd0 /srv
Po použití príkazu ls uvidíme súbor /srv/default
, ktorý sme nakopírovali na drbd01 (predtým bol primárny).
Viac informácií o DRBD sa nachádza na stránke DRBD web site.
Man stránka drbd.conf man page obsahuje detailný popis možností použitých v tejto príručke.
Oplatí sa pozrieť aj drbdadm man page.
Viac informácií sa dá nájsť aj na stránke DRBD Ubuntu Wiki.
VPN (Virtual Private Network) - virtuálna súkromná sieť je šifrované sieťové spojenie medzi dvoma a viacerými sieťami. Existuje niekoľko spôsobov ako vytvoriť VPN pomocou softvéru aj špecializovaného hardvérového vybavenia. Táto kapitola obsahuje návod ako nainštalovať a nastaviť OpenVPN tak, aby sa vytvorila VPN medzi dvoma servermi.
OpenVPN používa na šifrovanie VPN komunikácie medzi stanicami infraštruktúru verejného kľúča - Public Key Infrastructure (PKI). Jednoduchý spôsob ako sa dá nastaviť VPN pomocou OpenVPN je nastavenie klientského pripojenia cez premostené sieťové rozhranie na VPN serveri. V tomto návode budeme predpokladať, že jedna VPN stanica, v našom prípade server, má nastavené premostené rozhranie. Viac informácii o nastavovaní premostenia sa dozviete v časti Premostenie.
Systém openvpn nainštalujeme zadaním:
sudo apt-get install openvpn
Teraz, keď je už balík openvpn nainštalovaný, je potrebné vytvoriť certifikáty pre VPN server.
Najskôr skopírujeme easy-rsa
do priečinka /etc/openvpn
. Tým zaistíme, že sa nám nestratia žiadne zmeny v skripte, keď pri aktualizácii stiahneme novšiu verziu balíka. Potrebné je tiež pre priečinok easy-rsa
nastaviť správne oprávnenia, aby v ňom používatelia mohli vytvárať súbory. V príkazovom riadku zadáme:
sudo mkdir /etc/openvpn/easy-rsa/
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
sudo chown -R $USER/etc/openvpn/easy-rsa/
Potom otvoríme súbor /etc/openvpn/easy-rsa/vars
a nastavíme nasledujúce hodnoty:
export KEY_COUNTRY="SK"
export KEY_PROVINCE=""
export KEY_CITY="Bratislava"
export KEY_ORG="Mrkva a syn s.r.o."
export KEY_EMAIL="stefan@nieco.sk"
Nasledujúcimi príkazmi vytvoríme certifikáty:
cd /etc/openvpn/easy-rsa/easy-rsa
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
cd keys
openvpn --genkey --secret ta.key
sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/
VPN klient tiež potrebuje certifikáty aby sa vedel autentifikovať na serveri. Certifikát vytvoríme zadaním nasledujúcich príkazov:
cd /etc/openvpn/easy-rsa/
source vars
./pkitool nazov_stanice
![]() |
Nahraďte nazov_stanice názvom stanice, ktorá sa bude pripájať do VPN. |
---|---|
Nasledujúce súbory prekopírujte na klientskú stanicu:
/etc/openvpn/easy-rsa/nazov_stanice.ovpn
/etc/openvpn/easy-rsa/ca.crt
/etc/openvpn/easy-rsa/nazov_stanice.crt
/etc/openvpn/easy-rsa/nazov_stanice.key
/etc/openvpn/easy-rsa/ta.key
![]() |
Nezabudnite zmeniť názvy súborov na názov stanice miesto hostname. |
---|---|
Na kopírovanie súborov s certifikátmi a kľúčmi je najvhodnejšie použiť bezpečnú metódu. Na tento účel je vhodný nástroj scp, ale môžete tiež súbory prekopírovať na prenosné médium a z neho potom na klienta.
Teraz nakonfigurujeme openvpn server pomocou konfiguračného súboru /etc/openvpn/server.conf
, ktorý skopíruje z ukážkového súboru. V príkazovom riadku zadáme:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
Súbor /etc/openvpn/server.conf
otvoríme, a zmeníme nasledujúce nastavenia:
local 172.18.100.101
dev tap0
server-bridge 172.18.100.101 255.255.255.0 172.18.100.105 172.18.100.200
push "route 172.18.100.1 255.255.255.0"
push "dhcp-option DNS 172.18.100.20"
push "dhcp-option DOMAIN nieco.sk"
tls-auth ta.key 0 # This file is secret
user nobody
group nogroup
local: je IP adresa premosteného rozhrania.
server-bridge: je potrebné ak konfigurácia používa premostenie. Adresy 172.18.100.101 255.255.255.0 definujú premostené rozhranie a jeho sieťovú masku. Rozsah IP adries 172.18.100.105 172.18.100.200 je rozsah IP adries, ktoré môžu byť pridelené klientom.
push: sú pokyny na pridanie sieťových nastavení pre klienta.
user a group: definujú, pod ktorým používateľom a skupinou sa spustí démon openvpn.
![]() |
Všetky IP adresy a názov domény zmeňte podľa potrieb vašej siete. |
---|---|
Potom vytvoríme dva pomocné skripty, ktoré pridajú rozhranie tap do premostenia. Vytvoríme /etc/openvpn/up.sh
:
#!/bin/sh
BR=$1
DEV=$2
MTU=$3
/sbin/ifconfig $DEV mtu $MTU promisc up
/usr/sbin/brctl addif $BR $DEV
a /etc/openvpn/down.sh
:
#!/bin/sh
BR=$1
DEV=$2
/usr/sbin/brctl delif $BR $DEV
/sbin/ifconfig $DEV down
Potom ich nastavíme ako spustiteľné:
sudo chmod 755 /etc/openvpn/down.sh
sudo chmod 755 /etc/openvpn/up.sh
Po nakonfigurovaní servera reštartujeme openvpn:
sudo /etc/init.d/openvpn restart
Najskôr na klientovi nainštalujeme openvpn:
sudo apt-get install openvpn
Po nakonfigurovaní servera a prekopírovaní certifikátov na klienta, vytvoríme klientský konfiguračný súbor, skopírovaním súboru s príkladom do priečinka /etc/openvpn/
. V príkazovom riadku na klientskej stanici zadáme:
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn
Teraz otvoríme súbor /etc/openvpn/client.conf
a zmeníme nasledujúce nastavenia:
dev tap
remote vpn.nieco.sk 1194
cert nazov_stanice.crt
key nazov_stanice.key
tls-auth ta.key 1
![]() |
Adresu vpn.nieco.sk nahraďte názvom stanice VPN servera, a nazov_stanice.* nahraďte aktuálnymi menami súborov s certifikátmi a kľúčmi. |
---|---|
Nakoniec reštartujte openvpn:
sudo /etc/init.d/openvpn restart
Teraz by sa malo dať pripojiť do vzdialenej LAN siete cez VPN.
Viac informácií sa nachádza na stránke OpenVPN.
Dobrý zdroj je tiež OpenVPN: Building and Integrating Virtual Private Networks.
Ďalším zdrojom užitočných informácií je stránka Ubuntu Wiki OpenVPN.
Existuje mnoho veľmi užitočných aplikácií, ktoré boli vyvinuté tímom vývojárov systému Ubuntu Server a ostatnými vývojármi, ktoré sú začlenené do edície Ubuntu Server Edition, ale ešte nie sú veľmi známe. Táto kapitola predstaví niekoľko užitočných aplikácií využiteľných pri administrácii servera Ubuntu, alebo zjednodušuje administráciu množstva Ubuntu serverov súčasne.
Pri prihlasovaní k serveru Ubuntu, sa nám môže zobraziť informatívna správa dňa - Message Of The Day (MOTD). Táto informácia sa nachádza a zobrazuje vďaka niekoľkým balíkom:
landscape-common: poskytuje hlavné knižnice nástroja landscape-client, ktorý slúži na správu systému prostredníctvom webového rozhrania založeného na aplikácii Landscape. Balík obsahuje aj nástroj /usr/bin/landscape-sysinfo, ktorý sa používa na zobrazenie správy dňa.
update-motd: sa používa na automatickú aktualizáciu správy dňa pomocou plánovacieho nástroja cron.
pam_motd spustí skripty v priečinku /etc/update-motd.d
v poradí podľa čísel, ktoré sú pripísané na začiatok názvu skriptu. Výstup skriptov sa zapíše do /var/run/update-motd/
, pričom sa zachová číselné poradie, ktoré sa prevedie na text pomocou
/etc/motd.tail
.
Do správy dňa môžeme pridať vlastné dynamické informácie. Napríklad lokálne informácie o počasí:
Najskôr nainštalujeme balík weather-util:
sudo apt-get install weather-util
Nástroj weather požije tzv. METAR dáta z National Oceanic a Atmospheric Administration a prdpoveď z National Weather Service. Aby lokálne informácie systém vedel nájsť, bude potrebné zadať 4 miestny ICAO indikátor umiestnenia. Tento indikátor je možné zistiť na stránke National Weather Service (Bratislava Ivanka - LZIB, Dolný Hričov - LZZI, Kamenica Nad Cirochou - LZKC, Košice - LKKZ, Košice letisko - LZKZ, Lučenec LZLU, Nitra - LZNI, Piešťany - LZPP, Poprad / Tatry - LZTT, Prievidza - LZPE, Sliač - LZSL).
Aj napriek tomu, že National Weather Service je vládnou agentúrou Spojených štátov Amerických, poskytuje informácie z meteorologických staníc z celého Sveta. Lokálne informácie zo staníc mimo USA však nemusia byť vždy dostupné.
Vytvoríme jednoduchý skript /usr/local/bin/local-weather
, ktorý použije weather s lokálnym ICAO indikátorom:
#!/bin/sh
##########################################################################
#
# Vypíše lokálne informácie o počasí do /var/run/update-motd/60-local-weather
# pre update-motd.
#
##########################################################################
# Nahraďte LZIB kódom najbližšej stanice.
# Zoznam staníc môžete nájsť na adrese: http://www.weather.gov/tg/siteloc.shtml
echo
weather -i LZIB
echo
Urobíme skript spustiteľným:
sudo chmod 755 /usr/local/bin/local-weather
Potom vytvoríme symbolické prepojenie na /etc/update-motd.d/98-local-weather
:
sudo ln -s /usr/local/bin/local-weather /etc/update-motd.d/98-local-weather
Nakoniec sa odhlásim a znova prihlásime aby sme videli novú správu dňa.
Teraz by nás po prihlásení mala privítať správa o počasí. Dúfame, že sa nám na príklade s local-weather podarilo demonštrovať flexibilitu aplikácie pam_motd.
etckeeper umožňuje jednoducho uložiť celú konfiguráciu servera v priečinku /etc
uložiť do úložiska systému na správu verzií - Version Control System (VCS). Tento nástroj je prepojený s apt aby sa automaticky odosielali zmeny v priečinku
/etc
ak sa nainštalujú nové balíky alebo ak sa aktualizuje systém. Umiestnenie /etc
pod systém správy verzii sa považuje za najlepšie riešenie v ostrej prevádzke a cieľom nástroja etckeeper je tento proces čo najviac zjednodušiť.
Nástroj etckeeper nainštalujeme zadaním príkazu:
sudo apt-get install etckeeper
Hlavný konfiguračný súbor /etc/etckeeper/etckeeper.conf
je jednoduchý. Hlavným nastavením je výber
VCS, ktorý sa má použiť. V predvolenom stave je etckeeper nastavený tak, aby použil systém
bzr.
Úložisko sa automaticky inicializuje (a prvý krát naplní) počas inštalácie balíka. Tento úkon je možné vrátiť späť príkazom:
sudo etckeeper uninit
V predvolenom stave etckeeper odošle do úložiska ešte neodoslané zmeny v /etc každý deň. Toto nastavenie môžeme zakázať pomocou nastavenia AVOID_DAILY_AUTOCOMMITS. Zmeny sa budú tiež odosielať pred a po každej inštalácii balíka. Ak chceme podrobnejšie zaznamenávanie zmien, odporúča sa aby sme zmeny odosielali ručne spolu s popisnou správou:
sudo etckeeper commit "..Príčina zmeny konfigurácie.."
Pomocou príkazov
VCS si môžeme prezrieť v záznamoch informácie o súboroch v /etc
:
sudo bzr log /etc/passwd
Aby sme demonštrovali ako ako funguje integrácia so správou balíkov, nainštalujeme systém postfix:
sudo apt-get install postfix
Po skončení inštalácie by sa mali všetky konfiguračné súbory systému postfix odoslať do úložiska:
Committing to: /etc/
added aliases.db
modified group
modified group-
modified gshadow
modified gshadow-
modified passwd
modified passwd-
added postfix
added resolvconf
added rsyslog.d
modified shadow
modified shadow-
added init.d/postfix
added network/if-down.d/postfix
added network/if-up.d/postfix
added postfix/dynamicmaps.cf
added postfix/main.cf
added postfix/master.cf
added postfix/post-install
added postfix/postfix-files
added postfix/postfix-script
added postfix/sasl
added ppp/ip-down.d
added ppp/ip-down.d/postfix
added ppp/ip-up.d/postfix
added rc0.d/K20postfix
added rc1.d/K20postfix
added rc2.d/S20postfix
added rc3.d/S20postfix
added rc4.d/S20postfix
added rc5.d/S20postfix
added rc6.d/K20postfix
added resolvconf/update-libc.d
added resolvconf/update-libc.d/postfix
added rsyslog.d/postfix.conf
added ufw/applications.d/postfix
Committed revision 2.
Ako príklad toho, ako sa cez etckeeper manuálne odosielajú zmeny, pridáme novú adresu stanice do súboru /etc/hosts
.
Pomocou bzr si môžeme pozrieť, ktoré súbory sa zmenili:
sudo bzr status /etc/
modified: hosts
Teraz odošleme zmeny:
sudo etckeeper commit "pridanie adresy stanice"
Viac informácií o systéme bzr sa nachádza v časti Bazaar.
Jednou z najužitočnejších aplikácií pre administrátora systému je nástroj screen. Umožňuje spustiť viacero príkazových riadkov v jednom terminále. MAby boli niektoré pokročilé funkcie nástroja screen priateľskejšie a poskytovali niektoré užitočné informácie o systéme, bol vytvorený balík byobu.
Keď byobu spustíme stlačením F9, zobrazí sa ponuka Configuration. Táto ponuka umožňuje:
Zobraziť ponuku Pomocníka - View the Help menu
Zmeniť farbu pozadia - Change Byobu's background color
Zmeniť farbu popredia - Change Byobu's foreground color
Prepnúť oznamovanie stavov -Toggle status notifications
Nastaviť klávesové skratky - Change the key binding set
Vytvoriť nové screen okno - Create new windows
Spravovať predvolené okná - Manage the default windows
Zapnúť byobu hneď pro prihlásení - Byobu currently does not launch at login (toggle on)
V nastaveniach klávesových skratiek môžeme definovať tzv. únikovú klávesovú skratku, skratku pre nové okno, zmenu okna, atď. Existujú dve sady klávesových skratiek, z ktorých si môžete vybrať f-keys a screen-escape-keys. Ak chceme použiť pôvodné nastavenie kláves, vyberieme si sadu none.
Balík byobu poskytuje menu, ktoré zobrazuje názov vydania Ubuntu, informácie o procesore, informácie o voľnej pamäti a čas s dátumom. Efekt je podobný ako v grafickom rozhraní.
Pomocou voľby "Byobu currently does not launch at login (toggle on)" nastavíme, aby sa nástroj byobu spustil zakaždým, keď sa prihlásime do terminálu. Nastavenia systému byobu sú pre každého používateľa iné. Zmeny, ktoré vykoná jeden používateľ neovplyvnia výzor systému druhého používateľa.
Jeden rozdiel je pri použití tzv. scrollback režimu. Ak používame jeden z Ubuntu profilov stlačením F7 sa prepneme do scrollback režimu. Režim scrollback umožňuje prechádzanie výstupu pomocou príkazov podobných editoru vi. Tu je stručný zoznam príkazov:
h - Posun kurzora o jeden znak doľava
j - Posun kurzora o jeden riadok dole
k - Posun kurzora o jeden riadok hore
l - Posun kurzora o jeden znak doprava
0 - Presun na začiatok aktuálneho riadka
$ - Presun na koniec aktuálneho riadka
G - Presun na určený riadok (v predvolenom stave na koniec práve načítaného textu)
/ - Hľadať za
? - Hľadať pred
n - Presun na najbližšiu zhodu, buď dopredu alebo dozadu
Viac informácií o nastrojí update-motd sa nachádza na stránke update-motd man page.
V článku na stránke The Debian Package of the Day s názvom weather sa nachádza viac informácií o nástroji weather.
Na stránke etckeeper je viac detailov o používaní nástroja etckeeper.
Stránka etckeeper Ubuntu Wiki.
Najnovšie informácie o bzr sa nachádzajú na stránke bzr.
Viac informácií o nástroji screen sa nachádza na stránke screen web site.
Aj na stránke Ubuntu Wiki screen.
Viac informácií o byobu je na stránke project page.
Aj keď sa projekt Ubuntu snaží uvoľniť softvér s najmenším možným počtom chýb, predsa sa občas nejaká vyskytne. Tieto chyby môžeme pomôcť vývojárom opraviť nahlásením tých, ktoré v projekte nájdeme. Projekt Ubuntu na sledovanie chýb používa systém Launchpad . Ak chceme nahlásiť nejakú chybu týkajúcu sa vydania Ubuntu Server v systéme Launchpad, musíme si najskôr vytvoriť konto.
Preferovaný spôsob, ako nahlásiť chybu, je použitie príkazu ubuntu-bug . Nástroj ubuntu-bug zozbiera informácie o systéme, ktoré sú užitočné z hľadiska diagnostiky hláseného problému, a potom sa začlenia do hlásenia chyby zadanej do systému Launchpad. Pri hlásení chyby V Ubuntu je potrebné uviesť konkrétny softvérový balík, a to ten, v ktorom sa vyskytla chyba a je ho potrebné takto uviesť do ubuntu-bug:
ubuntu-bug NAZOVBALIKA
Napríklad, ak chceme nahlásiť chybu v balíku openssh-server, urobíme to takto:
ubuntu-bug openssh-server
Môžeme zadať buď binárny balík, alebo zdrojový balík pre ubuntu-bug. Alebo opäť za pomoci príkladu openssh-server, môžeme vygenerovať chybu aj pomocou balíka so zdrojovým kódom openssh-server, openssh:
ubuntu-bug openssh
![]() |
Viac informácií o balíkoch Ubuntu sa dozviete v časti Správa balíkov. |
---|---|
Príkaz ubuntu-bug zozbiera informácie o systéme pomocou otázok, vrátane informácií týkajúcich sa zadaného balíka, a potom sa nás opýta či sme spokojní so zozbieranými informáciami:
ubuntu-bug postgresql
*** Collecting problem information
The collected information can be sent to the developers to improve the
application. This might take a few minutes.
..........
*** Send problem report to the developers?
After the problem report has been sent, please fill out the form in the
automatically opened web browser.
What would you like to do? Your options are:
S: Send report (1.7 KiB)
V: View report
K: Keep report file for sending later or copying to somewhere else
C: Cancel
Please choose (S/V/K/C):
Dostupnými možnosťami sú:
Send Report - odoslať hlásenie. Vybraním tejto možnosti odošleme zozbierané informácie do systému Launchpad ako súčasť procesu vyplňovania hlásenia o chybe. Budeme mať možnosť opísať situáciu, ktorá viedla až k výskytu chyby.
*** Uploading problem information
The collected information is being sent to the bug tracking system.
This might take a few minutes.
91%
*** To continue, you must visit the following URL:
https://bugs.launchpad.net/ubuntu/+source/postgresql-8.4/+filebug/kc6eSnTLnLxF8u0t3e56EukFeqJ?
You can launch a browser now, or copy this URL into a browser on another
computer.
Choices:
1: Launch a browser now
C: Cancel
Please choose (1/C):
Ak si zvolíme start a browser, v predvolenom stave sa zobrazí textový prehliadač w3m, ktorý použijeme na vyplnenie ostatných údajov potrebných pre nahlásenie chyby. Môžeme tiež skopírovať danú URL adresu do iného, už spusteného prehliadača.
View Report - zobraziť hlásenie. Táto možnosť spôsobí, že sa zozbierané informácie zobrazia do terminálu, aby ich bolo možné skontrolovať.
Package: postgresql 8.4.2-2
PackageArchitecture: all
Tags: lucid
ProblemType: Bug
ProcEnviron:
LANG=en_US.UTF-8
SHELL=/bin/bash
Uname: Linux 2.6.32-16-server x86_64
Dependencies:
adduser 3.112ubuntu1
base-files 5.0.0ubuntu10
base-passwd 3.5.22
coreutils 7.4-2ubuntu2
...
Po zobrazení hlásenia sa ocitneme späť v tej istej ponuke, v ktorej si môžeme vybrať, čo chceme urobiť s hlásením.
Keep Report File - ponechať súbor s hlásením. Vybraním tejto možnosti spôsobíme to, že sa zozbierané informácie uložia do súboru. Tento súbor môžeme neskôr použiť na prenesenie hlásenia do iného systému Ubuntu. Keď chceme odoslať súbor s hlásením, jednoducho ho dopíšeme ako parameter k príkazu ubuntu-bug:
What would you like to do? Your options are:
S: Send report (1.7 KiB)
V: View report
K: Keep report file for sending later or copying to somewhere else
C: Cancel
Please choose (S/V/K/C):k
Problem report file: /tmp/apport.postgresql.v4MQas.apport
ubuntu-bug /tmp/apport.postgresql.v4MQas.apport
*** Send problem report to the developers?
...
Cancel - zrušiť. Toto spôsobí, že sa nazbierané informácie skartujú.
Softvérový balík, ktorý poskytuje nástroj ubuntu-bug s názvom apport, sa dá nakonfigurovať tak, aby sa spúšťal pri haváriách aplikácií. Táto funkcia je v predvolenom stave vypnutá, pretože zachytenie havárie môže byť náročné na zdroje v závislosti na tom, koľko pamäte používala aplikácia, ktorá zhavarovala, aby ju mohol nástroj apport zachytiť a spracovať.
Nastavenie nástroja apport do stavu, v ktorom bude zachytávať havárie aplikácií, si vyžaduje niekoľko krokov. Najskôr je potrebné nainštalovať balík gdb - v predvolenom stave vo vydaní Ubuntu Server Edition nie je nainštalovaný.
sudo apt-get install gdb
![]() | Viac informácií o balíkoch Ubuntu sa dozviete v časti Správa balíkov. |
---|
Po tom, ako sa dokončí inštalácia gdb, otvoríme súbor
/etc/default/apport
v textovom editore
a zmeníme nastavenie enabled na hodnotu
1:
# set this to 0 to disable apport, or to 1 to enable it
# you can temporarily override this with
# sudo service apport start force_start=1
enabled=1
# set maximum core dump file size (default: 209715200 bytes == 200 MB)
maxsize=209715200
Po dokončení úprav súboru /etc/default/apport
spustíme službu apport:
sudo start apport
Po tom, ako aplikácia havaruje, použijeme príkaz apport-cli, ktorým vyhľadáme existujúce uložené hlásenie o havárii:
apport-cli
*** dash closed unexpectedly on 2010-03-11 at 21:40:59.
If you were not doing anything confidential (entering passwords or other
private information), you can help to improve the application by
reporting
the problem.
What would you like to do? Your options are:
R: Report Problem...
I: Cancel and ignore future crashes of this program version
C: Cancel
Please choose (R/I/C):
Vybraním možnosti Report Problem prejdeme podobnými krokmi ako pri použití ubuntu-bug. Jediným podstatným rozdielom je to, že hlásenie bude označené ako súkromné pri nahlasovaní do systému Launchpad, čo znamená, že ho uvidí len obmedzené množstvo zberačov chýb. Títo zberači pred uvoľnením hlásenia do verejného stavu prezrú zozbierané dáta, či neobsahujú súkromné informácie.
Ubuntu wiki stránka Reporting Bugs.
Na stránke Apport sa tiež nachádza niekoľko užitočných informácií. Aj keď niektoré z nich sa týkajú používania grafického rozhrania.
V dnešnej dobe sa mnohí stretávajú s úlohami spojenými so znižovaním nákladov, ktoré však často robia bez zmeny pohľadu na spôsob implementácie výpočtovej techniky. Touto zmenou môže byť práve využívanie technológie tenkých klientov a distribúcie operačných systémov. Sám túto technológiu v praxi využívam a tak sa tu chcem jednak podeliť so svojimi skúsenosťami, ale zároveň aj poskytnúť stručnú príručku na zavedenie a používanie tohoto systému.
Linux Terminal Server Project (LTSP), je technológia, ktorá sa snaží riešiť nedostatky súčasného nasadenia informačných technológií, ktorými sú najmä:
Nasledujúci text predpokladá, že čitateľ má základné vedomosti o používaní a správe linuxového servera, pozná použité sieťové technológie a dokáže si nastaviť bootovanie po sieti a podobne.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Myšlienka používania terminálových klientov je stará možno ako počítače samé. Mnohí si iste pamätajú sálové počítače s pripojenými terminálmi a ich zeleným písmom na čiernej obrazovke. V dnešnej dobe by určite textový terminál nikomu nepostačoval.
Samotný vývoj projektu LTSP bol odštartovaný v roku 1996 spoločnosťou Binson's Hospital Supplies, ktorá najala firmu Dynamic Results Inc., aby znížila náklady, a to hlavne náklady na získanie hardvéru a softvéru, ďalej náklady na implementáciu, konfiguráciu a údržbu softvéru. Firma Dynamic Results Inc. v rámci tohoto projektu urobila niekoľko výskumov a došla cez jednoduché TCP/IP terminály, MS Windows 95 a ďalšie TCP/IP terminály až k riešeniu, v ktorom dôležitú úlohu hrá práve Linux.
Vďaka existujúcej podpore zavádzania systému po sieti (Netboot a Etherboot, TCP/IP, BOOTP a TFTP) vznikol nový projekt, na ktorom začal pracovať Jim McQuillan. Jeho cieľom sa stalo rýchla kompilácia a distribúcia systému na veľký počet počítačov. Nastavil server, z ktorého sa pomocou protokolov NFS a BOOTP distribuoval základný operačný systém. Po ďalších úpravách sa podarilo distribuovať aj grafické rozhranie X-Window systému. Nakoniec sa po roku 1999 spoločnosť Dynamic Results Inc. rozhodla sprístupniť svoj kód pod licenciou GNU/GPL, čím sa stal prístupný širokým masám vývojárov i používateľov.
V súčasnej dobe je LTSP vo verzii 5 a vďaka podpore firmy Canonical (ktorá stojí za distribúciou Ubuntu) sa tento projekt dostáva do povedomia verejnosti.
Celý princíp činnosti je založený na technológii klient/server. Klientom môže byť špeciálny tenký klient, bežný alebo aj nejaký starý (hardvérovo už nepostačujúci) počítač. Výkon klienta nie je kritický a hardvérové nároky sú minimálne. Nároky na server sú podstatne vyššie a ich konkrétna hodnota priamo závisí od účelu použitia.
Ako som už spomínal vyššie, operačný systém je distribuovaný po sieti, keď si ho klient prostredníctvom PXE zavádzača a protokolu DHCP vyžiada zo servera. PXE zavádzač býva súčasťou dnešných sieťových kariet, v prípade starších strojov (bez podpory PXE) rovnako dobre poslúži alternatíva – program Etherboot zavádzaný napríklad z diskety.
Po získaní operačného systému je tento, relatívne bežným spôsobom, spustený. Počas štartu operačného systému sú natiahnuté potrebné ovládače hardvéru, samozrejme len ak sú súčasťou jadra (či už priamo zakompilované alebo ako moduly). Ako posledná vec štartu systému je spustený správca prihlásenia, ktorým je v prípade LTSP správca LTSP Desktop Manager (LDM).
Správca prihlásenia poskytuje možnosť prihlásenia sa ku grafickému prostrediu (X-Window) servera pomocou zadania používateľského mena a hesla. Z uvedeného vyplýva, že používateľ musí mať na serveri založený účet. Zvyšok už je založený na sieťovej architektúre X-Window, ktorá umožňuje transparentne prenášať po sieti udalosti používateľského vstupu z klienta, spracovať ich na serveri a poslať naspäť klientovi odozvu v podobe obrazu, ktorý je zobrazený na jeho monitore.
Od okamihu prihlásenia sa k serveru sú všetky spúšťané aplikácie fyzicky spúšťané na serveri, čím všetky klienty môžu využívať výpočtový výkon servera (a preto nie je výkon klienta kritický). Táto možnosť napríklad v mojom prípade umožňuje na 32 bitových klientoch využívať všetky výhody 64 bitového softvéru.
Vo verzii 5 používa LTSP niekoľko nových vlastností, ktoré zvyšujú jeho použiteľnosť. Jedná sa najmä o:
Súčasná implementácia LTSP umožňuje po sieti prenášať nielen obraz, ale na klienty je prenášaný i zvuk a napríklad aj pripájanie lokálnych USB kľúčov. Treba si však uvedomiť aj záludnosti vzdialeného behu aplikácií, ktorými sú veci súvisiace s prenosom udalostí o sieti. Preto toto riešenie nie je vhodné tam, kde sa pracuje s veľkým množstvom prenášaných dát, citlivých na latenciu. Takýto prípad je napríklad prenos (zobrazovanie) videa a podobne.
Nasadenie centralizovaného systému so sebou okrem výhod prináša aj isté nevýhody. Medzi najväčšie nevýhody možno zaradiť:
V súčasnosti poskytujú možnosť inštalácie LTSP viaceré distribúcie Linuxu. Medzi najznámejšie z nich iste patria:
Kto sa neuspokojí s riešením poskytovaným v distribúcii alebo jeho distribúcia LTSP neposkytuje, môže si toto prostredia vybudovať stiahnutím potrebného softvéru z domovskej stránky projektu.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Pred začiatkom implementácie je dôležitý výber hardvéru, pretože hardvér je základ všetkého. V prostredí LTSP možno túto úlohu rozdeliť na niekoľko časti, ktoré spolu viac alebo menej súvisia.
Ako klient vám v prostredí poslúži akýkoľvek počítač, ktorý spĺňa vlastne len jednu podmienku, a to mať sieťovú kartu. Avšak je dobré zvážiť aj iné aspekty práce, ktorá môže mať vlastné požiadavky na hardvér:
Ak chcete využiť výhody riešenie LTSP ohľadom zníženia elektrickej spotreby a hlučnosti, neuvažujte o použití výbehových strojov. Ak sa však vyberiete cestou nového hardvéru, stratíte zase výhodu lacného hardvéru. Takže konečné rozhodnutie je na Vás.
Naše riešenie používa ako klienta stroj RB-851 MINI, ktorý má rozmery 170x124x85 mm a je napájaný externým adaptérom 5 V/4.5 A. Hardvérové vybavenie tohoto stroja je:
Pre plnú funkčnosť som musel aktualizovať BIOS.
Keď som písal pri klientovi, že je treba brať do úvahy účel použitia, pri serveri to platí dvojnásobne. Napriek tomu tu uvediem niektoré základné údaje, aby bolo od čoho začať. V tomto prípade sú kritické veci podobné ako pri klientovi:
Nami používaný server má konfiguráciu:
Posledným bodom je samotná sieťová infraštruktúra. Ak máte viac ako 20 terminálov, pre pripojenie LTSP servera určite použite GigaBit Ethernet pripojený ku gigabitovému portu prepínača. Hoci bežné využitie siete osciluje v rozhraní 0.5 – 2 Mb/s, môže klient v špičke zabrať aj viac (70 Mb/s), hlavne pri spracovaní multimediálneho obsahu. Zahltenie siete čo i jediným klientom spôsobí spomalenie práce všetkých a to môže byť nepríjemné, pretože sa citeľne predĺžia odozvy na používateľský vstup (až na niekoľko sekúnd).
Určite použite kvalitný prepínač (switch). V žiadnom prípade sa nespoliehajte na rozbočovač (HUB)! V neposlednom rade pripomeniem, že rovnako ako ostatné prvky, sú dôležité aj kvalitné sieťové zásuvky a prepojovacie vedenia siete, pretože všetko funguje cez sieť. Ak táto nepracuje na požadovanej úrovni, nebudú kvalitne pracovať ani klienty.
Pri výbere hardvéru pre klienta i server nezabudnite preveriť ich podporu v Linuxe, inak sa môžete dostať do zbytočných problémov.
Pred samotným výberom distribúcie som vzal do úvahy niekoľko faktorov:
Vlastne už prvý aspekt predurčil vlastne len dve distribúcie, a to Debian alebo Ubuntu, takže ako zástanca Debianu a odporca Ubuntu som mal ťažkú dilemu, z ktorej nakoniec predsa len vyšlo víťazne Ubuntu, pretože:
Ako sami vidíte, rozdiel je minimálny, ale neľutujem.
Celý popis je o verzii Ubuntu 9.04 a ako používateľ Debianu upozorňujem, že v popise nepoužívam ubunťácky tanec so sudo (ak neviete čo je to sudo, tak sa tým netrápte) a predpokladám, že čitateľ dokáže správne rozhodnúť, na ktoré úkony potrebuje práva superpoužívateľa root.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Inštalácia LTSP servera je triviálna. Líši sa podľa toho, či chcete vybudovať LTSP server na už existujúcom serveri alebo inštalovať server celkom nový.
Pre inštaláciu nového servera je potrebné inštalačné CD označené ako alternate CD. Jediná vec, ktorou sa inštalácia LTSP servera od bežného servera (alebo i desktopu) líši, je explicitný výber voľby "Inštalácia LTSP servera", ktorá sa skrýva na prvej inštalačnej obrazovke CD pod skratkou F4, ako nakoniec vidno na obrázku.
Po tomto výbere už inštalácia prebieha klasickým spôsobom a nebudem ju tu popisovať, pretože sa o to postarala Ubuntu komunita na mnohých iných miestach. K štandardnej inštalácii pribudol len čas potrebný na vybudovanie prostredia tenkého klienta, ktorého vybudovanie vyžaduje prístup na internet, takže nezabudnite pri inštalácii venovať náležitú pozornosť nastaveniu siete.
Pokiaľ inštaluje na existujúci server, stačí nainštalovať dva balíky (o ich závislosti sa postará aptitude):
aptitude install ltsp-server-standalone openssh-server
Po nainštalovaní servera je treba vykonať niekoľko úprav.
Rozhranie eth0 sa nastavuje pri inštalácii a malo by bez problémov fungovať. Jediný problém, na ktorý som pri tomto kroku narazil, bol konflikt IP adries vnútornej (terminálovej) siete, pretože predvolené nastavená IP adresa kolidovala s nastaveniami moje vonkajšej siete. Toto vnútorné rozhranie predvolene používa IP adresu 192.168.0.254/24 a zmenu som urobil v dvoch súboroch, pričom som použil adresu 192.168.10.254/24, čím mi vlastne stačilo popridávať na príslušné miesta len jednu jednotku:
auto eth1 iface eth1 inet static address 192.168.10.254 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255
subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.20 192.168.10.250; option domain-name "example.com"; option domain-name-servers 192.168.10.254; option broadcast-address 192.168.10.255; option routers 192.168.10.254; # next-server 192.168.10.254; # get-lease-hostnames true; option subnet-mask 255.255.255.0; option root-path "/opt/ltsp/i386"; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" { filename "/ltsp/i386/pxelinux.0"; } else { filename "/ltsp/i386/nbi.img"; } }
Osvedčilo sa mi aj odinštalovanie NetworkManager-a, pretože mi akosi nefungoval a zasahoval do nastavenia siete:
aptitude purge network-manager network-manager-gnome
Po týchto úpravách už len reštart siete a DHCP servera:
invoke-rc.d networking restart invoke-rc.d dhcp3-server restart
Asi sa nebudete so mnou veľmi hádať, keď prehlásim, že stav slovenskej lokalizácie, minimálne v Gnome, zaostáva. Aj preto používam kombinovanú lokalizáciu, v ktorej je ako prvotný jazyk nastavená slovenčina, ale ak nenájde príslušný slovenský preklad, použije pred anglickým ešte lokalizáciu českú.
Toto nastavenie možno jednoducho dosiahnuť pridaním nasledujúceho riadku do súboru /etc/default/locale:
LANGUAGE="sk:sk_SK:cs:cs_CZ"
Toto nastavenie však nie je použité v Gnome a ani v KDE. KDE má na nastavenie dvojjazyčnosti svoj vlastný dialóg, v Gnome som trochu maturoval a nakoniec som použil riešenie, v ktorom vytváram jeden súbor, spúšťaný vždy pri vytváraní relácie X Window. Takže som vytvoril súbor /etc/X11/Xsession.d/56language-session_gnome s obsahom:
# If we are running the GNOME session, source the /etc/default/locale file # and then export LANGUAGE variable, if it was set BASESTARTUP=`basename "$STARTUP" | cut -d\ -f1` if [ "$BASESTARTUP" = gnome-session -o \ \( "$BASESTARTUP" = x-session-manager -a \ "`readlink /etc/alternatives/x-session-manager`" = \ /usr/bin/gnome-session \) ]; then . /etc/default/locale if [ "$LANGUAGE" ]; then export LANGUAGE fi fi
Skriptík prosto overí, či spúšťaná relácia je Gnome, a ak áno, tak spracuje vyššie spomínaný súbor a vyexportuje premennú LANGUAGE, ktorej hodnotu získa zo súboru /etc/default/locale. Takto ostáva nastavenie premennej LANGUAGE na jednom mieste, ale je aplikované aj v Gnome.
Na server som nainštaloval 64 bitovú verziu (amd64) Ubuntu a inštalátor predvolene vytvoril aj 64 bitovú verziu systému pre klientov (ak teda máte 64 bitových klientov, môžete celý tento krok preskočiť). To mi však neladilo s mojimi 32 bitovými klientami. Ak teda máte podobné riešenie, je treba odstrániť všetko ohľadom amd64 verzie klienta. Teda, aby som bol celkom presný, nie je to potrebné, len dobré. Architektúra klienta sa vyskytuje na viacerých miestach, takže postupne:
rm -rf /opt/ltsp/*
rm -rf /var/lib/tftpboot/ltsp/*
2000 stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/nbdrootd /opt/ltsp/images/amd64.img
Tento posledný krok nie je nutný. Avšak, ak ho ponecháte, skript na vytváranie klientského prostredia pridá nový riadok (a teda nový port) a číslo tohoto nového portu potom pridá aj do konfigurácie PXE v /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default a to môže najmä začiatočníkov mýliť.
Po týchto prípravných operáciách možno spustiť znovavybudovanie prostredia klienta pomocou skriptu:
ltsp-build-client --arch i386
V tomto príkaze je dôležitý parameter s architektúrou, pretože ak ho vynecháme, skript predvolene použije architektúru servera, a tak by sme mali znova prostredie klienta pre amd64.
Po dokončení tejto operácie (zaberie to nejaký čas) už možno spustiť klientov a ich systém naštartuje, čiže LTSP trieda je pripravená na prácu. Jediný problém, ktorý si viem predstaviť pri prvom štarte, je nepodporovaný hardvér, ale myslím, že ak nemáte niečo veľmi exotické, bude to fungovať.
Predvolene je v Ubuntu nainštalovaný klient pre nastavenie času cez sieť, ak ho nemáte, stačí ho doinštalovať:
aptitude install ntpdate
Jeho konfiguráciu možno vyladiť v súbore /etc/default/ntpdate, kde treba urobiť niekoľko prispôsobení. Ak nemáte na tomto stroji nainštalovaný NTP server, čo ja nemám, tak treba zakomentovať (pridať na začiatok mriežku) riadok:
#NTPDATE_USE_NTP_CONF=yes
Potom ešte možno bude potrebné nastaviť meno/adresu časového servera. Z našej školy sa mi nedá komunikovať protokolom NTP a "odborníci" z T-Comu mi povedali, že sa to nedá (?), tak som nakoniec pomocou jednej barličky rozchodil vlastný časový server, ktorého adresu zadávam do konfiguračného súboru:
NTPSERVERS="10.1.92.2"
Ak teraz netrpezlivo spustíte ntpdate, musím Vás sklamať. Tento príkaz nečíta upravovaný konfiguračný súbor a stále čaká adresu časového servera ako svoj parameter. Konfiguračný súbor však číta príkaz ntpdate-debian, ktorý nám už čas nastaví:
ntpdate-debian 6 Dec 18:43:08 ntpdate[11319]: adjust time server 10.1.92.2 offset 0.006204 sec
Aby sa táto úloha vykonávala pravidelne, je treba ju pridať do cronu, napríklad do súboru /etc/cron.d/ntpdate:
# /etc/cron.d/ntpdate: crontab položka pre automatickú úpravu času SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 0 0 * * * root ntpdate-debian > /dev/null
Týmto nastavením sa spustí synchronizácia času každý deň o polnoci a automaticky nastaví nový čas.
V prostredí LTSP existuje niekoľko zaujímavých adresárov, ktoré uchovávajú prostredie klienta a tiež adresáre, kde sú uložené súbory potrebné pre jeho štart. Vo východzom nastavení sa jedná o:
/opt/ltsp/$ARCH
/var/lib/tftpboot/ltsp/$ARCH
V oboch prípadoch treba $ARCH nahradiť architektúrou klienta, v mojom prípade je to i386.
/etc/ltsp
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Po predchádzajúcich nastaveniach servera by sa mali vzdialené klienty naštartovať po sieti. Proces sťahovania operačného systému nie je grafický a možno ho sledovať na obrazovke klienta. Po rozbalení jadra systému sa spustí grafická bootovacia obrazovka a už sme dosledovali, jediné čo vidíme je postupujúci ukazovateľ postupu. Ak teda nabehlo všetko ako má, možno pristúpiť k niektorým vylepšeniam.
Základné nastavenie správania sa klienta je v prostredí LTSP v súbore /var/lib/tftpboot/ltsp/i386/lts.conf. Klient si vždy pri štarte tento súbor (teda nastavenia v ňom) načíta a použije. Na začiatku tento súbor neexistuje, takže ho treba vytvoriť. Všetky zmeny, ktoré v tomto súbore urobíte sa prejavia až po reštarte, samozrejme klienta, nie servera.
Súbor je rozdelený na sekcie a každá sekcia môže mať niekoľko parametrov v štandardnom tvare – názov=hodnota. Názvy sekcií sú zatvorené v lomených zátvorkách. Pričom povinná je len jedna sekcia – [default]. Parametre v tejto povinnej sekcii sú použité na všetkých klientov, ale môžu byť prepísané v ďalších sekciách. Ďalšie sekcie môžu byť sekcie klientov, kde názov sekcie tvorí MAC adresa (samozrejme v lomených zátvorkách). Nastavenia v sekcii klienta sa použijú len pre klienta s príslušnou MAC adresou.
Je možné vytvárať aj virtuálne sekcie. Ich pomenovanie v zátvorkách môže byť prakticky ľubovoľné. Tieto slúžia ako akési makrá, do ktorých si môžem pripraviť konfiguráciu, ktorú potom aplikujem na príslušných klientov. Príklad Vám ukážem v nastavení displeja. Zoznam a popis skoro všetkých možných parametrov nájdete v súbore /usr/share/doc/ltsp-server/lts-parameters.txt.gz.
V tomto konfiguračnom súbore sú viac-menej parametre dvoch typov. prvý je logický, ktorý môže nadobúdať hodnoty - teda niektorú z hodnôt Y, y, True, true alebo N, n, false, false.
Ja mám všetky monitory v LTSP sieti rovnaké, preto si vystačím s jediným parametrom v sekcii [default]:
[default] X_COLOR_DEPTH = 16
Týmto nastavením som nastavil všetkým klientom farebnú hĺbku 16 bitov. Ako som spomínal vyššie, toto nastavenie bude použité na všetkých klientov. Jeho predvolená hodnota v Ubuntu je 24. Čo však ak niektorý klient potrebuje inú hodnotu? Žiadny problém, prosto pridám klientskú sekciu:
[default] X_COLOR_DEPTH = 16 [00:0f:26:fb:0c:a1] X_COLOR_DEPTH = 8 [00:0f:26:fb:0c:94] X_COLOR_DEPTH = 24
Týmto nastavením zaistím, že jeden klient (s MAC 00:0f:26:fb:0c:a1) použije farebnú hĺbku len 8 bitov, druhý klient (s MAC 00:0f:26:fb:0c:94) zase 24 bitov a všetci ostatní použijú spoločne nastavenú hodnotu 16 bitov. Takto ručne nastavovať hodnoty pre jednotlivých klientov je dobré len do okamihu keď toto nastavenie treba zmeniť. Aby hodnoty nebolo treba meniť v každom klientovi, je možné použiť spomínané virtuálne sekcie, ktoré potom jednoducho aplikujeme do klientskej sekcie
[default] X_COLOR_DEPTH=16 [slabymonitor] X_COLOR_DEPTH=8 X_MODE_0=800x600 [00:0f:26:fb:0c:a1] LIKE=slabymonitor [00:0f:26:fb:0c:94] LIKE=slabymonitor
Zmena nastavenia pre oboch klientov na jednom mieste je iste zrejmá. Myslím, že význam parametra X_MODE_0 je samovysvetľujúci, len tá nula na konci udáva číslo režimu.
Ešte jedna poznámka ohľadom veľkosti RAM grafickej karty. Ak používate klienta, ktorý používa pre grafickú kartu zdieľanú pamäť a tejto pamäte nemáte na rozdávanie, tak si prosto vypočítajte jej potrebnú veľkosť pomocou vzorca:
vert-rozlíšenie * horiz-rozlíšenie * far_hĺbka / 8
výsledok je v bajtoch, takže ak chcete dostať hodnotu v MB je potrebné výsledok podeliť 2 * 1024. Napríklad:
1280 * 1024 * 16 / 8 / 1024 / 1024 = cca 2.5 MB
S touto hodnotou som sa ešte nestretol, ale bežne dostupná býva voľba 4 či 8 MB, takže použijem túto (predvolene bolo 16 MB).
Ďalším zaujímavým parametrom je možnosť vypnutia šifrovania pomocou parametra LDM_DIRECTX:
LDM_DIRECTX=true
vypnutím šifrovania síce strácam istú úroveň bezpečnosti, ale zároveň znížim nároky na procesor, a to ako na strane servera, tak (a hlavne) i na strane klienta. Pozor však, strácam aj o možnosť kompresie sieťovej prevádzky, ktorú poskytuje SSH.
Študenti sú automatickým zapínaním NumLock nielen rozmaznaní, čo je horšie, počas niekoľkých týždňov sa nenaučili ho zapínať. A keďže ma pípanie klienta, ktorý na to pri použití numerickej klávesnice upozorňoval, otravovalo, rozhodol som sa im ho zapnúť.
X_NUMLOCK=true
Pozor však, je potrebné do prostredia klienta doinštalovať balík numlockx, ale o tom neskôr.
Prihlasovanie v LTSP nepoužíva GDM (Gnome Display Manager), ale namiesto neho je použitý LDM (LTSP Display Manager). Jazyk LDM má vplyv na jazyk relácie X (Gnome) prihláseného používateľa. Je možné definovať nastavenie jazyka ako predvolené pre všetky klienty alebo samostatne pre každého klienta:
LDM_LANGUAGE="sk_SK.UTF-8"
Aj v tomto prípade je treba doinštalovať dodatočné balíky do prostredia chroot (a preložiť si LDM).
V LDM je možné nastaviť predvolené prihlasovacie meno a heslo, ktoré bude použité pri akomsi anonymnom prihlásení (na prihlasovacej obrazovke pribudne tlačidlo "Prihlásiť ako hosť"), takže sa možno prihlásiť k serveru bez explicitného zadávania prihlasovacích údajov. Toto nastavenie je možné urobiť v spoločnej sekcii (pre všetkých klientov rovnaké) alebo urobiť pre každého klienta zvlášť v jeho klientskej sekcii. Spoločné prihlasovacie údaje sa mi neosvedčili, pretože niektoré aplikácie (OpenOffice.org, Firefox, ...) sa potom spúšťali na monitore prvého prihláseného, prípadne sa spustili len raz a potom už len otvárali chybový dialóg. Ale prihlásenie hosťa mám povolené centrálne:
[default] LDM_GUESTLOGIN = True [00:0f:26:fb:0c:a1] LDM_USERNAME = meno LDM_PASSWORD = heslo
Okrem prihlásenia hosťa je možné povoliť aj automatické prihlásenie, pomocou voľby:
[default] LDM_AUTOLOGIN=true [00:0f:26:fb:0c:a1] LDM_USERNAME = meno LDM_PASSWORD = heslo
Pozor však, s takýmto nastavením sa ani neodhlásite, pretože okamžite po odhlásení bude zase automaticky prihlásený účet, zadaný pomocou rovnakých parametrov (LDM_USERNAME a LDM_PASSWORD).
Ak nie je pre tenkého klienta definované meno a heslo (LDM_USERNAME / LDM_PASSWORD), je predvolene použité hostname tenkého klienta.
Ak poslednú voľbu v tejto časti spomeniem voľbu pre výber relácie:
LDM_SESSION=fvwm-crystal
Ak sa Vám zdá toto nastavenie zbytočné, ja som ho ocenil v okamžiku, keď som začal hľadať inú alternatívu ako je Gnome a nechcelo sa mi presviedčať všetkých používateľov aby si zmenili reláciu. Nastavenie tohoto parametra udáva predvolenú reláciu, a tak stále dovoľuje zmeniť reláciu v prihlasovacej obrazovke LDM.
[Default] # Vypnúť šifrovanie LDM_DIRECTX=True # Nastaviť farebnú hĺbku X_COLOR_DEPTH = 16 # Zapnúť NumLock (vyžaduje balík numlockx v klientovi) X_NUMLOCK=true #Povoliť prihlásenie hosťa LDM_GUESTLOGIN = True ########################################### [44:4d:50:e2:52:55] # prac21-01 LDM_USERNAME = meno01 LDM_PASSWORD = heslo01 [44:4d:50:e2:50:ec] # prac21-02 LDM_USERNAME = meno02 LDM_PASSWORD = heslo02 [44:4d:50:e2:51:f9] # prac21-03 LDM_USERNAME = meno03 LDM_PASSWORD = heslo03 ...
Skript ltsp-build-client, ktorý vytvára prostredie klienta (vlastne úplne samostatný systém), predvolene nastavuje dve úložiská pre chroot prostredie:
deb http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse deb http://security.ubuntu.com//ubuntu jaunty main restricted universe multiverse
Z času na čas sú balíky, ktorá tvoria LTSP chroot, aktualizované, či opravené. Dôležitá vec je uvedomiť si, že chroot prostredie je samostatné a jeho nastavenie úložísk nie je ovplyvnené zmenami nastavenia úložísk servera.
Pri aktualizácii LTSP servera na novú verziu (napr Jaunty -> Karmic), je lepšie vybudovať úplne nové prostredie chroot klienta.
Pred akoukoľvek úpravou prostredia chroot je dobré si urobiť jeho zálohu, napríklad kvôli vykonaným úpravám, ktoré nechcete stratiť. Rovnako to oceníte, ak bude z akýchkoľvek dôvodov potrebné vrátiť prostredie chroot do pôvodnéh stavu. Najjednoduchšia záloha je pomocou rekurzívneho kopírovania:
sudo cp -a /opt/ltsp /opt/ltsp-orig
Aktualizáciu svojho prostredia chroot začneme úpravou existujúceho súboru /opt/ltsp/arch/etc/apt/sources.list tak, aby zahŕňal aj úložisko s aktualizáciami no a potom už stačí vykonať aktualizáciu vo vnútri chroot. Najprv, teda pridávam do súboru /opt/ltsp/i386/etc/apt/sources.list v LTSP chroot riadok:
deb http://sk.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted
Pred vstúpením do prostredia chroot je dobré nastaviť premennú LTSP_HANDLE_DAEMONS=false, čím zabraňujem serveru aby reštartoval svoje vlastné démony pri aktualizácii prostredia chroot:
export LTSP_HANDLE_DAEMONS=false
Vstúpim do prostredia chroot v adresári klienta LTSP:
sudo chroot /opt/ltsp/i386
V prostredí chroot pripojím /proc, spustím aktualizáciu všetkých aktualizovaných balíčkov a nakoniec vymažem vyrovnávaciu pamäť balíčkov:
mount -t proc proc /proc aptitude update && aptitude safe-upgrade aptitude clean
Chcem Vás tu upozorniť na predvolenú konfiguračnú voľbu aptitude, ktorá automaticky inštaluje aj odporúčané balíky. Ak teda nemáte skúsenosti, použite radšej nástroj apt-get.
Pozorne dodržujte všetky pokyny aktualizácie (ak nejaké sú). Dôsledne sa uistite, že pri aktualizácii nenastali žiadne chyby, pretože ak inštalácia niekorého balíka zlyhá, môže to spôsobiť, že klient nenaštartuje.
Pri aktualizácii sa objavuje chybové hlásenie: "Nedá sa zapísať záznam, volanie openpty() zlyhalo (/dev/pts nie je pripojený?)" (v originále "Can not write log, openpty() failed (/dev/pts not mounted?)"), túto si ale všímať netreba, pretože je čisto kozmetická.
Po úspešnej aktualizácii možno opustiť chroot, odpojiť /proc, spustiť ltsp-update-kernels (ak bolo v chroot aktualizované aj jadro) a nakoniec znova vybudovať NBD obraz tenkého klienta:
sudo umount /proc exit unset LTSP_HANDLE_DAEMONS sudo ltsp-update-kernels sudo ltsp-update-image --arch i386
Aby sa aplikovali zmeny (z nového obrazu), je vždy treba tenké klienty reštartovať.
Doplnenie prostredia chroot o ďalšie programy používa vlastne rovnaký postup ako pri jeho aktualizácii, ale pre istotu tu zopakujem aj základné kroky, ktoré je dobré urobiť pred samotným vstúpením do chroot prostredia, tentokrát už bez vysvetľovaní.
Nastavím premennú LTSP_HANDLE_DAEMONS=false:
export LTSP_HANDLE_DAEMONS=false
Vstúpim do prostredia chroot v adresári klienta LTSP:
sudo chroot /opt/ltsp/i386
Pripojím /proc:
mount -t proc proc /proc
V prostredí chroot nie sú predvolene nainštalované balíky, ktoré sa postarajú o lokalizáciu prostredia (najmä LDM), preto je dobré doinštalovať:
aptitude install gettext language-pack-gnome-sk
Po nainštalovaní je dobré aktualizovať generovanie lokáliek:
locale-gen
Nepočítajte s tým, že bude prihlasovacia obrazovka po slovensky, pretože LDM v Ubuntu 9.04 nie je lokalizovaný do slovenčiny. Ak máte záujme, môžete si poslovenčený balík stiahnuť a nainštalovať z mojej stránky.
aptitude install numlockx
Po doinštalovaní tohoto balíka už bude funkčná aj voľba X_NUMLOCK v nastavení LDM (lts.conf).
PC speakery dokážu byť veľmi otravné, najmä keď sa používatelia pred prihlásením pokúšajú použiť numerickú klávesnicu bez zapnutia NumLock, čo spôsobuje systémové pípnutie. Ak si to vynásobíte počtom klientov v triede, dostanete jednoznačný dôvod na vypnutie.
Ovládač speakera je kompilovaný ako modul, preto ho možno vypnúť prostým zakázaním jeho načítania (blacklist) pri štarte. Najprv treba vytvoriť súbor /etc/modprobe.d/blacklist-pcspkr.conf (pozor, v chroot prostredí klienta) a do neho vpísať:
# Zakázanie načítania modulu PC Speaker (pcspkr) blacklist pcspkr
Po úspešnej inštalácii a úpravách netreba zabudnúť na správne ukončenie a vygenerovanie nového NBD obrazu:
exit sudo umount /opt/ltsp/i386/proc unset LTSP_HANDLE_DAEMONS sudo ltsp-update-image --arch i386
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Považujem za dobré aby známi klienti v sieti používali vždy rovnaké IP adresy a toto nastavenie sa mi osvedčilo aj pre LTSP terminály, pretože je možné relatívne jednoducho identifikovať príslušného klienta.
Pre použitie pevných IP adries je treba vybrať rozsah IP adries, ktoré nepatria do rozsahu, z ktorého ich poskytuje DHCP server. Predvolene DHCP server poskytuje IP adresy v rozsahu 20 - 250 a toto nastavenie nádjete v súbore /etc/ltsp/dhcpd.conf v riadku:
range 192.168.10.20 192.168.10.250;
Ak je potrebný väčší rozsah adries ako 2 - 19, prosto upravte rozsah podľa potreby.
Pre vytvorenie statických položiek stačí pridať za riadok s voľbou "option root-path" pre každého klienta tieto riadky:
host hostname { hardware ethernet MA:CA:DD:RE:SS:00; fixed-address 192.168.10.2; }
Samozrejme MAC adresu nahraďte hodnotami podľa hodnôt klienta, ktorý má dostávať pevnú IP adresu. Položka fixed-address je hodnota IP adresy, ktorú má klient dostať a položka hostname je meno, ktoré klient dostane. Pre plné pochopenie tohoto nastavenia je dobré mať isté vedomosti o DHCP, ktoré tu však popisovať nebudem.
Technika swap je spôsob o virtuálne rozšírenie fyzickej veľkosti pamäte RAM o miesto na pevnom disku. keďže však tenké klienty často pevné disky nemajú, je treba v prostredí LTSP použiť iné riešenie. LTSP podporuje swapovanie po sieti pomocou NBD (Network Block Device) pomocou malého skriptu nbdswapd, ktorý je spúšťaný prostredníctvom inetd a stará sa o vytváranie swapovacieho súboru, nastavenie swapovania a odstránenie tohoto súboru, keď už nie je potrebný (po odhlásení terminálu).
Príslušný riadok v /etc/inetd.conf vyzerá takto:
9572 stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/nbdswapd
Predvolene majú súbory swap veľkosť 32 MB, čím je klientom pridané trochu RAM, ale nezaberá to veľa miesta na disku. Ak sa stretnete s podozrivým správaním, ako náhodné padanie Firefoxu pri prezeraní stránok s veľkým množstvom veľkých obrázkov, možno bude treba túto hodnotu zvýšiť. Nastavenie veľkosti súboru swap dosiahnete v súbore /etc/ltsp/nbdswapd.conf. Stačí do tohoto súboru vložiť riadok pre nastavenie premennej SIZE v MB, napr. pre 128 MB:
SIZE=128
Pri nastavovaní veľkosti sieťového swap dajte pozor na zabrané diskové miesto. Ak server obsluhuje 15 klientov a každý používa 128 MB swapu, zaberie to spolu 15 * 128 = 1920 MB, čiže skoro 2 GB miesta v adresári /tmp (kde sú tieto súbory ukladané).
Po nastavení veľkosti súboru NBD swap treba jeho používanie povoliť v konfigurácii lts.conf:
NBD_SWAP=true
Podľa východzieho nastavenia je povolenie NBD swapu cez inetd povolené v súbore /etc/hosts.allow:
nbdswapd: ALL: keepalive
Ak je z nejakého dôvodu (napríklad lokálne aplikácie, synchronizácia času, ...) potrebný priamy prístup klientov k internetu, je treba na serveri povoliť smerovanie paketov a preklad sieťových adries (NAT). Smerovanie paketov sa postará o prechod paketov z jedného rozhrania servera na druhé. NAT sa postará o správnu manipuláciu odchádzajúcich (a potom i prichádzajúcich) paketov tak, aby okolitá sieť dokázala sieťovú komunikáciu poslať na správne miesto.
V Linuxe je možné nastavenie NAT v iptables dvoma spôsobmi, prvý sa volá MASQUERADING, ktorý sa hodí pre dynamicky nastavované vonkajšie rozhranie a SNAT, ktorý je zase vhodný v prípade statického nastavenia IP adresy.
Postup je jednoduchý:
net.ipv4.ip_forward=1 ... net.ipv6.conf.default.forwarding=1
sysctl -p
iptables -t nat -A POSTROUTING -s 192.168.10.0/16 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.10.0/16 -o eth0 -j SNAT --to-source 192.168.0.112
Po zadaní jedného z predchádzajúcich príkazov začne smerovanie paketov fungovať, ale len do nasledujúceho reštartu. Pre plnú funkčnosť je treba zaistiť, aby sa toto nastavenie načítalo pri štarte systému, čo možno dosiahnuť viacerými spôsobmi, ja som použil spôsob popísaný v dokumentácii Ubuntu.
Najprv som si uložil aktuálny stav nastavenia iptables pomocou:
iptables-save > /etc/ltsp/nat
Vygenerované nastvenie je zbytočne podrobné, keďže potrebujem len pravidlo pre SNAT, ponechám len tieto riadky:
# Generated by iptables-save v1.4.1.1 on Wed Dec 16 19:08:11 2009 *nat :OUTPUT ACCEPT [0:0] -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j SNAT --to-source 192.168.0.112 COMMIT # Completed on Wed Dec 16 19:08:11 2009
Nakoniec pridám riadok do nastavenia rozhrania terminálovej siete, v mojom prípade eth1, v súbore /etc/network/interfaces:
auto eth1 iface eth1 inet static address 192.168.10.254 netmask 255.255.255.0 network 192.168.10.0 broadcast 192.168.10.255 up iptables-restore < /etc/ltsp/nat
V Ubuntu predvolene účet root nie je povolený, a tak i keď si povolíte konzolu, neprihlásite sa, pretože v chroot žiadny iný použiteľný účet nie je. Takže si buď vytvorte administračný účet, alebo povoľte root. Začnem povolením root, ale oba kroky majú spoločný začiatok a koniec, teda vstúpenie a vystúpenie z chroot a nakoniec generovanie nového obrazu klienta.
Vstúpenie do chroot:
chroot /opt/ltsp/i386
Odomknem účet root v chroot:
passwd --unlock root
Nastavím mu heslo:
passwd root
Možno lepšie riešenie ako povolenie účtu root je vytvorenie administračného účtu (povedzme s menom admin), ktorý bude používaný na prihlásenie k systému klienta. Takýto účet neexistuje, preto ho treba najprv pridať. Pri pridávaní mu zároveň nastavím členstvo v skupine sudo. nezabudnem ani na nastavenie hesla.
useradd -m admin -G sudo passwd admin
Posledný krok, v oboch prípadoch, je opustenie chroot a aktualizácia obrazu klienta:
exit sudo ltsp-update-image --arch i386
Často je dobré mať na počítači presný čas, najmä ak používa časovo ovládané spúšťanie úloh (cron). Pre tento účel je potrebný časový server (pomocou NTP) a nástroj, ktorý dokáže z tohoto servera čas získať. Inštaláciou časového servera sa zaoberať nebudem a popíšem implementáciu na strane klienta, ktorý bude na synchronizáciu využívať časový server mimo LTSP siete.
Najprv je treba vstúpiť do chroot klienta:
chroot /opt/ltsp/i386
a tam nainštalovať klienta synchronizácie času:
aptitude install ntpdate
Pre jednoduché nastavenie spúšťania pri štarte možno vytvoriť priamo štartovací skript v príslušnom adresári /etc/rc?.d. Ukážem však postup ako využiť možnosť konfigurácie synchronizácie času bez potreby úpravy obrazu klienta zo súboru lts.conf.
Pre toto potrebujem vytvoriť spúšťací skript v adresári /usr/local/sbin, nazvaný ltsp_ntpdate s obsahom:
#!/bin/bash # načítaj adresu NTP servera LTSP_TIMESERVER=$(getltscfg TIMESERVER)
if [ -z "$LTSP_TIMESERVER" ]; then # ak nebola zadaná, použi ntp.org
LTSP_TIMESERVER=sk.pool.ntp.org
fi
# ak je dosiahnuteľný, tak synchronizuj čas
[ "$(ping $LTSP_TIMESERVER -qc1 -w1 > /dev/null && echo OK)" = "OK" ] && ntpdate $LTSP_TIMESERVER &
Tento skript je inšpirovaný skriptom Pierre Barcoa. Ak je v konfiguračnom súbore lts.conf nastavená premenná TIMESERVER, skript ju použije a bude s týmto serverom aktualizovať čas tenkého klienta. Ak lts.conf premennú neobsahuje neobsahuje, bude tenký klient synchronizovať svoj čas so skupinou serverov sk.pool.ntp.org.
Po vytvorení skriptu mu je treba nastaviť práva na spustenie:
chmod +x /usr/local/sbin/ltsp_ntpdate
Treba upraviť aj konfiguračný súbor ltsp.conf a do sekcie [default] pridať:
[default] TIMESERVER=192.168.0.1 RCFILE_01=/usr/local/sbin/ltsp_ntpdate
Premenná TIMESERVER definuje IP adresu použitého časového servera. Premenná RCFILE_01 obsahuje cestu k skriptu ltsp_ntpdate a udáva, že tento skript bude spustený pri štarte klienta.
Nakoniec treba aktualizovať obraz klienta:
ltps-update-image --arch i386
To čo mi chýbalo od začiatku, je možnosť zapínania a vypínania po sieti (riešil som to pomocou ističov). Zapínanie je relatívne jasné, teda sieťová karta musí podporovať Wake On Lan a musí mať túto možnosť zapnutú. Ohľadom vypínania sú možné dva postupy. Prvým je automatické vypínanie v určitom čase pomocou CRON alebo vzdialené vypínanie po sieti, ja popíšem to druhé.
Aby bolo možné klienty vzdialene po sieti zapínať, musia túto možnosť jednak podporovať a jednak ju musia mať zapnutú v BIOSe. Po tomto povolení je potrebné na server (alebo iný vhodný počítač) nainštalovať balík wakeonlan.
aptitude install wakeonlan
Po nainštalovaní už môžem vyskúšať funkčnosť zadaním MAC adresy klienta, ktorého chcem zapnúť:
wakeonlan 44:4d:50:e2:51:f9
Ak sa nič nestalo (a mne sa nestalo), treba vyskúšať zadať rozhranie, cez ktoré sa má magický paket poslať. Rozhranie sa zadáva v podobe broadcastovej adresy príslušnej siete, v mojom prípade:
wakeonlan -i 192.168.10.255 44:4d:50:e2:51:f9
Ak to stále nefunguje, je možné, že operačný systém prepisuje nastavenie WoL sieťovej karty a treba mu ho implicitne zadať, ale to popíšem neskôr.
Ak to funguje, nastal čas na trochu spohodlnenie nastavenia. Aby som mohol klientov zobúdzať pomocou ich mena (pretože MAC sa dosť zle pamätá), je treba upraviť dva súbory, a to /etc/hosts a /etc/ethers. Začnime tým druhým (ktorý ešte nemusí existovať). Je to súbor, ktorý obsahuje medzerami oddelené dvojice MAC adresa a hostname, napríklad:
cat /etc/ethers 44:4d:50:e2:52:55 ltsp101 44:4d:50:e2:50:ec ltsp102 44:4d:50:e2:51:f9 ltsp103 ...
Ale tento zoznam nebude fungovať bez funkčného prekladu hostname na IP adresu, preto najjednoduchšie je ich pridanie do súboru /etc/hosts, ktorý zase obsahuje medzerami oddelené dvojice IP adresa a hostname. V systéme už iste existuje a má aj nejaký obsah, preto na jeho koniec stačí pridať, napríklad:
... 192.168.0.101 ltsp101 192.168.0.102 ltsp102 192.168.0.103 ltsp103 ...
Pre istotu pripomeniem, že aby to správne (a hlavne trvalo) fungovalo, je treba nastaviť DHCP server pre prideľovanie stále rovnakých IP adries, ako som písal už skôr. Po tejto úprave už možno klienta zobúdzať napríklad pomocou:
wakeonlan -i 192.168.10.255 ltsp101
Ako som spomínal vyššie, klientovi nemusí vždy stačiť nastavenie v BIOSe a treba ho trochu vylepšiť. Aby mi to teda fungovalo, musel som do chroot prostredia klienta nainštalovať balík ethertool:
chroot /opt/ltsp/i386 aptitude install ethertool aptitude clean exit
Po nainštalovaní nástroja som ešte musel zaistiť jeho správne spúšťanie po štarte systému s parametrom g. Vytvoril som súbor /opt/ltsp/i386/usr/local/sbin/wolfix (áno, už som opustil prostredie chroot) s obsahom:
#!/bin/bash # oprava funkčnosti WoL /usr/sbin/ethtool -s eth0 wol g
Samozrejme nastavil mu práva na spustenie:
chmod +x /opt/ltsp/i386/usr/local/sbin/wolfix
Teraz možno vygenerovať nový obraz klienta:
ltsp-update-image --arch i386
A už známym postupom som pridal štartovací súbor do lts.conf:
RCFILE_02 = /usr/local/sbin/wolfix
Tentokrát som premennej RCFILE pridal číslo 02, pretože inak by som si prepísal predchádzajúci skript.
Samozrejme, celé to začalo fungovať až po nasledujúcom vypnutí, aby sa tento skriptík aspoň raz vykonal.
Čítal som návod pre nastavenie vypínania klientov v určenom čase na základe úlohy pre CRON. Tento spôsob sa mi ale nepáčil, pretože mi príde trochu obmedzujúci, a to tým, že nevypína stroje vždy keď to potrebujem, ale len vo vopred určenom čase. I preto som rozmýšľal na iným riešením. Hoci som uvažoval o odľahčenej implementácii pomocou "švajčiarskeho nožíka" na TCP/IP siete, zvaného netcat (nc), nakoniec som toto riešenie, kvôli nulovej bezpečnosti, zavrhol a použil odľahčený SSH server dropbear.
Ako prvú vec je treba nainštalovať dropbear v chroot prostredí klienta:
export LTSP_HANDLE_DAEMONS=false chroot /opt/ltsp/i386/ aptitude install dropbear aptitude clean exit
Po nainštalovaní klienta by som mohol (a vy pokojne môžete) vygenerovať nový obraz klienta, nabootovať ho a overiť si, že na klientovi skutočne beží SSH server, lenže zatiaľ vyžaduje zadanie hesla, čo nie je najvhodnejšie. Preto je ďalším krokom nastavenie autentifikácie pomocou kľúčov. Najprv je potrebné vygenerovať si na serveri kľúč, ak ho ešte nemáte. Tento si môžem vygenerovať ako root, ale lepšie bude ako bežný používateľ (aby som sa mohol prihlasovať bez poteby root):
ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/slavko/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/slavko/.ssh/id_rsa. Your public key has been saved in /home/slavko/.ssh/id_rsa.pub.
Ako vidno vo výpise, kľúč som nechal vygenerovať do východzieho umiestnenia (/home/slavko/.ssh/id_rsa) a nezadal som passphrase. Po vygenerovaní kľúča ho ešte musím dostať do prostredia klienta, ale samozrejme iba jeho verejnú časť, ktorá je v súbore .ssh/id_rsa.pub.
Stačí prosté presmerovanie výstupu, ale už zase ako root:
mkdir /opt/ltsp/i386/root/.ssh chmod 700 /opt/ltsp/i386/root/.ssh cat /home/slavko/.ssh/id_rsa.pub >> /opt/ltsp/i386/root/.ssh/authorized_keys chmod 700 /opt/ltsp/i386/root/.ssh/authorized_keys
A teraz je ta správna chvíľa na vygenerovanie nového obrazu:
ltsp-update-image --arch i386
Potom už len nabootovať a prihlásiť sa, nezabúdajte, že ssh sa predvolene pokúša prihlásiť pomocou mena práve prihláseného používateľa, preto mu treba meno zadať napríklad pomocou parametra -l alebo priamo k adrese pomocou zavináča:
ssh root@ltsp101
Pripomínam, že najprv je treba pozbierať digitálne podpisy klientov (dajte pozor na priraďovanie IP adries). S úspechom možno využiť nástroj ssh-keyscan.
Od tejto chvíle možno vypínať klientov pomocou príkazu (dropbear kašle na nastavenie PATH, tak je dobré zadávať príkazy s plnou cestou):
ssh root @ltsp101 /sbin/halt
prípadne reštartovať (napr. kvôli načítaniu nového obrazu):
ssh root @ltsp101 /sbin/reboot
Pre hromadné vypínanie/reštartovanie si možno pripraviť jednoduchý skript, ktorý postupne vykonáva ssh príkaz na jednotlivé klienty.
Pre zjednodušenie života som si napísal jednoduchý skript, pomocou ktorého môžem naraz obslúžiť celú triedu:
#!/bin/bash # skript pre poslanie príkazu všetkým LTSP klientom # Počet klientov, počiatočná a konečná IP CELKOM=15 MIN=101 MAX=$(($MIN + $CELKOM -1)) case $1 in start)
PAUZA="sleep 1.5"
POKEC="Zapínam klienta "
PRIKAZ="wakeonlan -i 192.168.10.255 ltsp"
ULOHA=""
;;
stop)
PAUZA="sleep 0.5"
POKEC="Vypínam klienta "
PRIKAZ="ssh root @192.168.10."
ULOHA="/sbin/halt"
;;
restart)
PAUZA="sleep 1.5"
POKEC="Reštartujem klienta "
PRIKAZ="ssh root @192.168.10."
ULOHA="/sbin/reboot"
;;
free)
PAUZA=""
POKEC="Stav pamäte klienta "
PRIKAZ="ssh root @192.168.10."
ULOHA="/usr/bin/free -m"
;;
*)
echo "Použitie:"
echo "$(basename $0) start | stop | restart | free"
exit 2
;;
esac
for CISLO in $(seq $MIN $MAX); do
$PAUZA
echo $POKEC$CISLO
$PRIKAZ$CISLO $ULOHA
done
Skript spúšťam pomocou samovysvetľujúcich parametrov, ktoré skript vypíše, keď ho spustím bez parametrov.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
iTalc je užitočný nástroj pre zobrazovanie a vzdialenú správu počítačov. Nebudem tu popisovať jeho vlastnosti, podrobnosti môžete nájsť na stránke projektu. Samotný nástroj sa skladá z dvoch častí – italc-master a italc-client (pomenoval som ich podľa mien balíkov). Balík italc-master slúži ako administračné rozhranie a italc-client zase poskytuje informácie (a prístup) na strane klientov.
V prostredí LTSP je možné nainštalovať tento nástroj dvomi spôsobmi. Prvý, ktorý nebudem popisovať, pretože je dosť veľkou záťažou na sieť a výkon klientov, je nainštalovanie klientskej časti do chroot prostredia klientov. Druhý spôsob je inštalácia oboch častí len na server, čím je vylúčený reálny prenos informácií po sieti (celá komunikácia prebieha len na strane servera) a rovnako aj záťaž procesora klienta, avšak tento spôsob neposkytuje možnosť správy klientov pred prihlásením.
Najprv som teda nainštaloval na server balíky:
aptitude install italc-master italc-client
Po nainštalovaní sa v menu objaví položka pre spúšťanie iTalc, ktorá však nespúšťa priamo iTalc, ale italc-launcher, ktorý má v Ubuntu za úlohu, okrem iného, zaistiť automatické pridávanie klientov do iTalc. V reále je však pridaný každý klient dva krát, preto je vhodnejšie spúšťať iTalc priamo – tj. vytvoriť si vlastnú položku v menu.
Pre pridávanie klientov do prostredia iTalc je potom potrebné ich zadávanie ich IP adresy v podobe:
IP.SE.RV.ER:10XXX
Pričom ako adresu servera používam 127.0.0.1, ale možno použiť aj adresu rozhrania, na ktoré sú pripojené klienty. Číslo portu (za dvojbodkou) je v tvare 10XXX, kde to XXX je nahradené posledným trojciferným číslom IP adresy klienta. Napríklad pre klienta s IP adresou 192.168.10.51 bude IP pre italc vyzerať takto:
127.0.0.1:10051
Pozor: Automatické pridávanie klientov do iTalc (pomocou italc-launcher) funguje tak, že automaticky pridá klientov, ktorí majú prihláseného používateľa v okamihu štartu iTalc.
Ako som už naznačil niekde vyššie, vôbec sa mi neosvedčilo používanie predvoleného prostredia Gnome, možno i preto, že nie som naučený na toto prostredie. Robil som niekoľko pokusov, ktoré viedli cez FluxBox a OpenBox až k FVWM, teda celkom presne k FVWM-Crystal. FluxBox som zavrhol, pretože sa mi nepodarilo nastaviť noMachine pre prihlásenie k tomuto prostrediu. Niekoľko mesiacov som (študenti) používal OpenBox, s ktorým som bol spokojný vlastne až na jednu drobnosť, a to nemožnosť pridania ikon do menu.
FVWM-Crystal sa nakoniec ukázal ako výborná voľba aj preto, že študenti po prvý krát videli nielen viacero plôch, ale najmä koncept virtuálnych plôch a flexibilnosť grafického prostredia X Window.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Na záver možno len toľko, že po viac ako šesť mesačnom používaní som s nasadením tohoto systému spokojný. Neznamená to, že všetko beží bez problémov. Študentom nekonečne chýba FlashPlayer, ktorý som musel zo servera odstrániť. Klientom som musel flashovať BIOS, aby sa aj po reštarte dokázali nabootovať (ale výrobca promptne vyvinul aktualizáciu na zákalde mojej požiadavky). Faktom je aj to, že hľadanie "správneho" správcu okien mi zabralo oveľa viac času ako som chcel.
Na druhej strane, samotné zabudovanie a nainštalovanie samotnej učebne mi (a siedmim žiakom) trvalo 20 (slovom dvadsať) minút, vrátane nastavovanie klientov na sieťový boot. Všetky zmeny robím na jednom mieste a nemusím už kvôli desaťmútovej práci obiehať vyše 2 hodiny 15 počítačov (15 x 10 min). Rovnako tak finančná náročnosť zriadenia. Nákup hardvéru pre učebňu nebol oveľa lacnejší ako nákup bežných stolných PC. Lenže tieto tenké klienty "morálne nezostarnú", keďže slúžia len na pripojenie klávesnice a monitora k serveru. Zostarnúť môže server, a tak v budúcnosti pre vynovenie učebne nie je potrebné nakúpiť celú učebňu počítačov, ale kúpiť silnejší server, prípadne dokúpiť ďalší.
V tejto triede vyučujem hodiny informatiky, aplikovanej informatiky a výpočtovej techniky. Hodiny sú, okrem všeobecných vecí, zamerané najmä na elektrotechniku a elektroniku. A viete, najkrajší pocit mám, keď môžem na školskú stránku umiestniť softvér na stiahnutie bez obáv z možného trestného stíhania. Rovnako aj, keď môžem žiakom povedať, že si ho môžu pokojne stiahnuť a používať a nepotrebujú na to žiadne peniaze...
No a v neposlednom rade, sú tu študenti. Títo prijímajú nový systém rôzne. Niektorí pozitívne, iný kritizujú všetko. Dosť ťažko sa vyrovnávajú s tým, že pracovná plocha vyzerá často inak a inak sa aj správa, pretože strácajú svoje pohodlie "znalosti" systému. Na druhej strane, rozširujú si svoj obzor a neodchádzajú z hodín s jednosmernými informáciami (ako moja dcéra, ktorá sa na hodinách informatiky naučila, že , citujem, "počítač bez Windows nefunguje...).
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Určite máte v zásobe zaujímavé skriptíky, ktoré používate na školských serveroch.
Môžete pridať aj ten svoj, ktorý máte odskúšaný.
Upozornenie: pred použitím skriptov na serveri, si ich dôkladne odskúšajte.
Antivírus na školských počítačoch (klientoch) môžete pravidelne aktualizovať pomocou skriptu, upraveného konfiguračného súboru Apache a cronu.
Upozornenie: pred použitím skriptov na serveri, si ich dôkladne odskúšajte.
#zmaze vsetky subory v adr. nod
rm -rf /var/www/nod/*
#stiahne, rozbali a stiahnuty subor zmaze
wget --user=MENO --password=HESLO http://nod.infovek.sk/nod2/aktualizacie2.zip && unzip aktualizacie2.zip && \
-d /var/www/nod && rm -rf aktualizacie2.zip
V skrypte použite miesto MENO a HESLO vaše autetnifikačné udaje na prístup k aktualizáciám na serveri http://nod.infovek.sk
#!/bin/sh
# návratové kódy: 1 - neexistuje skript nod-db
# 2 - skript nod-db skončil neúspešne
test -x /usr/local/bin/nod-db || exit 1
/usr/local/bin/nod-db || exit 2
exit 0
#pristup k adresaru s aktualizáciami nod32 <Directory /var/www/nod> Require user nod Order Deny,Allow Deny from All Allow from 192.168.0.0/16
AuthType Basic AuthName "Bezpecna zona" AuthUserFile /etc/apache/passwd.httpd AuthGroupFile /etc/apache/group.httpd </Directory>
skupina:nod
apt-cacher je program, ktorý uchováva inštalačné balíčky, ktoré ponúka klientským počítačom. Výhodne pre použitie v lokálnej sieti, že ak príde požiadavka na inštaláciu balíčka, ktorý je už vo vyrovnávacej pamäti apt-cacera, tak sa nesťahuje znova z Internetu. apt-cacher teda výrazne zrýchli aktualizáciu a inštaláciu rovnakých balíčkov na ostatných staniciach v sieti.
sudo apt-get install apt-cacher
sudo apt-get install apache2
sudo /usr/share/apt-cacher/apt-cacher-import.pl /var/cache/apt/archives
Zastavenie a spustenie servera:
/etc/init.d/apt-cacher start
/etc/init.d/apt-cacher stop
Include /etc/apt-cacher/apache.conf
/usr/share/apt-cacher/
http://192.168.0.1/apt-cacher
/usr/share/apt-cacher/apt-cacher-report.pl
http://192.168.0.1/apt-cacher/report
AUTOSTART=1
deb http://192.168.0.1:3142/ftp.sk.debian.org/debian main contrib non-free
deb http://192.168.0.1:3142/security.debian.org/debian main contrib non-free
Súborový a tlačový server Samba môže plniť úlohu primárneho radiča domény (Primary domain controller – PDC). To nie je žiadna novinka, ktorá by mnohých prekvapila. No napriek tomu nie každý vie ako takýto PDC pomocou Samby nastaviť. A práve postup nastavenia PDC na systéme Debian v podmienkach školy sa v tomto článku pokúsim priblížiť.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
V úvode sa nechystám zahltiť Vás informáciami o tom, čo všetko Samba dokáže. Jednoducho predstavím sieť, v ktorej budem jednotlivé nastavenia popisovať. Ako môžete vidieť, schéma siete je jednoduchá. Jedná sa o sieť s niekoľkými stanicami s rôznymi verziami operačného systému Windows, jednou stanicou s operačným systémom Linux a jeden server s našou Sambou. Aby sme sa v tom ľahko vyznali, mená staníc popisujú operačný systém, ktorý na nich beží.
Pri písaní tohoto postupu predpokladám, že viete čo je to sieť, viete ako sa upravujú v Linuxe súbory a viete nastaviť sieť v systéme Windows. So Sambou nemusíte mať žiadne skúsenosti.
Naša skúšobná sieť bude mať adresu 172.16.1.0/24 a bude pripojená do internetu prostredníctvom nejakého smerovača, ktorého nastavením sa tu nebudem zaoberať. Jednotlivé stroje v sieti budú pracovať s týmito nastaveniami siete:
Hostname | IP adresa | Maska | Brána | DNS |
GW | 172.16.1.1 | – | – | – |
PDC | 172.16.1.2 | 255.255.255.0 | 172.16.1.1 | – |
W98 | 172.16.1.11 | 255.255.255.0 | 172.16.1.1 | 172.16.1.2 |
W2k | 172.16.1.12 | 255.255.255.0 | 172.16.1.1 | 172.16.1.2 |
WXP | 172.16.1.13 | 255.255.255.0 | 172.16.1.1 | 172.16.1.2 |
WVi | 172.16.1.14 | 255.255.255.0 | 172.16.1.1 | 172.16.1.2 |
Lin | 172.16.1.15 | 255.255.255.0 | 172.16.1.1 | 172.16.1.2 |
Ako ste si iste všimli, stroj s našou Sambou plní zároveň úlohu servera DNS. Je možné nastaviť DNS aj tak, aby poznal aj NetBIOS mená staníc, ale tomu sa tu venovať nebudem. Ani nastavením smerovača sa tu nebudem vôbec zdržiavať a v ďalšom texte ho budem považovať za správne nastavený a poskytujúci prístup na internet. Všetky adresy budem nastavovať staticky, ale nič Vám nebráni použiť nejaký DHCP server. No a to je na úvod všetko, tak hurá do práce!
Nie, netreba sa báť, nezačnem teraz písať o sťahovaní zdrojových kódov a kompilácii Samby, hoci nikomu v tom nebránim. Samba je súčasťou úložiska Debianu, takže ju nainštalujeme prostredníctvom systému apt. Pred tým sa však pozrime, čo všetko nám Debian vo vzťahu k Sambe ponúka:
aptitude search ^samba
p samba - súborový a tlačový server pre Unix, obdoba LanManager
v samba-client -
p samba-common - spoločné súbory pre Samba, používané serverom i klientom
p samba-dbg - ladiace symboly Samba
p samba-doc - dokumentácia Samba
p samba-doc-pdf - PDF dokumentácia Samba
p samba-tools - nástroje poskytované sadou Samba
Ale to nie je všetko:
aptitude search ^smb
p smb-nat - nástroj na kontrolu Netbios Auditing Tool p smb2www - sieťový klient SMB/CIFS s webovým rozhraním p smb4k - prehliadač zdieľaní Samba (SMB) pre KDE p smbc - samba-commander - curses prehliadač siete samba p smbclient - ako LanManager, jednoduchý klient pre Unix p smbfs - príkazy mount a umount pre smbfs (pre jadrá >= ako 2.2.x p smbget - downloader pre protokol SMB/CIFS p smbind - na PHP založený nástroj pre správu DNS zón v BINDe p smbldap-tools - skripty pre správu Unixových a Samba účtov v LDAP p smbnetfs - User-space súborový systém pre SMB/NMB (Windows) sieťové servery a zdieľania
Tých balíkov, ako sami vidíte, je dosť, ale pre samotnú funkčnosť ich netreba všetky. Samotnú inštaláciu dosiahneme zadaním inštalácie balíka samba, ktorý prostredníctvom závislostí nainštaluje aj všetky ostatné, ktoré sú potrebné:
aptitude install samba
Tento príkaz nainštaluje aj nasledujúce balíky:
V závislosti od Vášho nastavenia môže ešte pridať aj odporúčané balíčky, ale ako vyplýva z názvu, sú len odporúčané, nie však potrebné. Počas inštalácie sa inštalátor spýta na meno pracovnej skupiny, tak zadajte podľa vlastnej potreby, ja budem používať pracovnú skupinu MYSKUPINA. Inštalátor sa spýta aj na to, či chcete používať nastavenie WINS serverov cez DHCP, keďže som však spomínal statické nastavenie, netrápi ma spolupráca s klientom DHCP a pokojne odpoviem nie. Ak inštalácia prebehne úspešne (a neviem prečo by nemala), je Samba pripravená na používanie.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Začneme stručným popisom syntaxe konfiguračného súboru a potom základným nastavením, v ktorom bude Samba vystupovať ako ďalší počítač v sieti M$, ktorý bude poskytovať zdieľané adresáre.
Konfigurácia servera Samba je umiestnená v adresári /etc/samba, samotný konfiguračný súbor sa volá smb.conf a je bohato komentovaný, čo má však negatívny vplyv na jeho prehľadnosť. Avšak prísť o tie komentáre a vzorovú konfiguráciu by bola škoda, preto si hneď na začiatku urobme jeho zálohu, ku ktorej sa budeme môcť neskôr vrátiť:
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Syntax konfiguračného súboru je jednoduchá a konfiguračný súbor môže obsahovať:
Konfiguračné parametre sú dvoch typov:
Začneme jednoduchou konfiguráciou, ktorá zaistí, že náš server so Sambou bude dostupný zo staníc s Windows prostredníctvom prehliadania okolitých počítačov v sieti. Predpokladám, že nastaviť pracovnú skupinu a IP adresu vo Windows viete, takže tým sa zdržiavať nebudem. Aby sme teda dostali zo Samby základné funkcie, vytvoríme si nový konfiguračný súbor s menom, podľa odporúčaní Samba Teamu, smb.conf.master s týmto obsahom (pripomínam, urobte si zálohu vzorového konfiguračného súboru, informácie v ňom iste oceníte):
[global]
## Browsing/Identification ##
netbios name = pdc
workgroup = MYSKUPINA
server string = %h server
## Debugging/Accounting ##
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
## Authentication ##
security = user
encrypt passwords = yes
passdb backend = tdbsam
#======================= Share Definitions =======================
[homes]
comment = Domovský adresár
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
writeable = yes
valid users = %S
No dobre, pripúšťam, že to nie je celkom minimum, dá sa ešte ubrať, ale nič netreba preháňať. A čo sme to vlastne nastavili? Všimnite si, že konfiguračný súbor je rozdelený na dve sekcie, [global] a [homes]. Sekcia global obsahuje nastavenia platné pre celý systém a sekcia homes je predvolené zdieľanie domovského adresára prihláseného používateľa.
V globálnej časti nastavujeme najprv meno počítača platné v sieti M$ (pdc), pracovnú skupinu (MYSKUPINA) a popis počítača (%h server). V popise počítača si všimnite %h, je to takzvaná premenná a bude nahradená platným hostname počítača. Použitie netbios name nie je povinné, ak ho vynecháte je použité práve hostname. Potom nasleduje časť venovaná logovacím záznamom, kde nastavujeme umiestnenie, veľkosť súborov záznamov (v kB) a akciu pri páde Samby. No a nakoniec nastavujeme parametre prihlásenia. Security nastavená na user je východzou hodnotou, môže byť vynechaná, ale nech viem čo mám nastavené, tak dávam aj túto voľbu. Nasleduje určenie používania šifrovaných hesiel, čo je dnes už potrebné. Pokračuje nastavenie umiestnenia databázy používateľov, tu nezabudnite, že ak zmeníte tdbsam na iné úložisko, stratíte všetky nastavenia používateľov.
Keď máme súbor pripravený, najprv urobíme kontrolu, či sme sa niekde nepomýlili (preklepy), a to pomocou nástroja testparm, ktorý je súčasťou balíka samba. Aby sme nemuseli vypisovať celú cestu, zmeňte pracovný adresár na /etc/samba a potom spustite:
testparm smb.conf.master
Load smb config files from smb.conf.master
Processing section "[homes]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
Všimnite si, že príkazu zadávame ako parameter meno nášho konfiguračného súboru, pretože sa líši od mena, ktoré má Samba prednastavené (smb.conf). Ak výpis vyzerá tak ako na príklade vyššie, znamená to, že je konfiguračný súbor v poriadku a môžeme použiť rovnaký nástroj na vygenerovanie konfiguračného súboru, ktorý bude mať odstránené všetky nepotrebné časti, čo má mať kladný vplyv na výkon Samby. Najprv však musíme stlačiť kláves enter (ako je napísané v poslednom riadku) a príkaz ešte vypíše všetky konfiguračné voľby zo zadného súboru. Práve túto vlastnosť využijeme na vygenerovanie skutočného konfiguračného súboru:
testparm -s smb.conf.master > smb.conf
Load smb config files from smb.conf.master
Processing section "[homes]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Výpis vyzerá podobne, ale nástroj už nečaká na stlačenie enter a výpis konfigurácie presmeruje do zadaného súboru. Teraz ešte reštartovať Sambu:
invoke-rc.d samba restart
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
Ak meníte len niektoré hodnoty, nie je potrebné server reštartovať, ale stačí mu nariadiť znovanačítanie konfigurácie:
invoke-rc.d samba reload
Reloading /etc/samba/smb.conf: smbd only.
A môžete skontrolovať, či je náš stroj s menom pdc zobrazený medzi okolitými počítačmi (nezabudnite, že je potrebná trpezlivosť, pretože zmeny v sieti M$ sa prejavia až po chvíli – aj 15 min).
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Ak teda všetko vyšlo tak ako malo, je naša stanica so Sambou viditeľná v okolitých počítačoch Windows, ale ak sa pokúsite k nej pristúpiť, aby ste videli zdieľané adresáre, zistíte, že systém po Vás chce zadať meno a heslo. Je to preto, že sme nastavili bezpečnostnú úroveň na user, čiže Samba bude autentifikovať každého pristupujúceho používateľa, a to na základe mena a hesla. Pre zaistenie autentifikácie si Samba uchováva vlastnú databázu používateľov, ktorá však (pri tomto stupni zabezpečenia) vyžaduje aj systémové účty. Inými slovami, potrebujete mať vytvorený účet aj v systéme aj v Sambe.
Databáza používateľov Samby môže byť uložená rôznymi spôsobmi a nastavuje sa pomocou voľby passdb backend v súbore smb.conf. Východzou hodnotou je smbpasswd, ale ak ste pozorne skúmali náš vzorový konfiguračný súbor, videli ste nastavenie tdbsam. Ukladanie do smbpasswd je spôsob ukladania informácií o účtoch so bežného textového súboru, naproti tomu ukladanie pomocou tdbsam ukladá informácie do TDB databázy (trivial database). Tento spôsob je vhodný pre siete s maximálne 250 používateľmi (odporúčanie Samba tímu – potom je vhodné ldapsam) a oproti štandardnému smbpasswd poskytuje dodatočné možnosti nastavenia (prispôsobenia) účtu.
Takže nastal čas pripraviť používateľov. Ale kým sa bezhlavo pustíme do ich pridávania,je dobré si premyslieť niekoľko vecí. Najprv, či sa budeme k Sambe (do domény) pripájať aj počítače s Windows 95/98. Ak áno, je potrebné do globálnej časti smb.conf pridať riadok:
lanman auth = yes
Toto nastavenie nepoužívajte, ak nepotrebujete pristupovať zo spomínaných starých systémoch Windows, pretože má mnoho nevýhod a v dnešnej dobe je už určite prekonané. Ak ste už mali v Sambe pridaných nejakých používateľov pred nastavením LANMAN autentifikácie, bude potrebné ich heslá nastaviť znova, inak bude prístup z Win95/98 odopretý.
Ďalšou vecou, ktorú je dobré si premyslieť dopredu je rozdelenie používateľov do skupín. Správne zoskupenie používateľov určite znižuje náročnosť správy servera Samba a pre potreby tohoto návodu použijem rozdelenie na štyri skupiny:
Nič Vám však nebráni rozdeliť používateľov aj podrobnejšie, či úplne inak. Takže najprv pristúpime k vytvoreniu týchto skupín. Jedná sa o štandardné používateľské skupiny v systéme, preto aj na nich vytvorenie použijeme štandardný systémový nástroj groupadd:
groupadd admini
groupadd trucitelia
groupadd ucitelia
groupadd studenti
Po vytvorení skupín možno pristúpiť k vytváraniu účtov a ich následnému priradeniu do skupín. Pre tento príklad vytvoríme po jednom účte, ktorý bude zaradený do príslušnej skupiny (ešte nič nepridávajte, najprv prečítajte celú kapitolu):
useradd -m -s /bin/false -c "Samba administrátor" -G admini administrator
useradd -m -s /bin/false -c "Samba triedny učiteľ" -G trucitelia trucitel
useradd -m -s /bin/false -c "Samba základný učiteľ" -G ucitelia ucitel
useradd -m -s /bin/false -c "Samba základný študent" -G studenti student
Čo tento siahodlhý príkaz vlastne robí? Samozrejme pridáva do systému používateľa, ktorého prihlasovacie meno je celkom na konci príkazu. Pomocou voľby -m nariaďujeme vytvoriť domovský adresár (predvolene v /home), voľbou -s nastavujeme neexistujúci prihlasovací shell (používatelia nepotrebujú systémový prístup, len účet), voľbou -c nastavujeme komentár a voľbou -G priraďujeme účet aj do príslušnej skupiny. Tento spôsob vytvorenia účtov ponechá heslo používateľa nenastavené a kvôli Sambe ho nastavovať netreba, iba ak by používateľ potreboval z nejakého iného dôvodu (email, ftp, či shell).
Po vytvorení systémových účtov možno začať pridávať účty do databázy Samby. K tomu si môžete vybrať z dvoch nástrojov, a to smbpasswd alebo pdbedit. S oboma nástrojmi dosiahnete rovnaký výsledok, pričom druhý z nich je prednostne určený pre správu databázy tdbsam (spomínal som pokročilé možnosti), ale pre pridanie účtov si vystačíme so smbpasswd (pretože pdbedit vypisuje dodatočné informácie):
smbpasswd -a administrator
smbpasswd -a trucitel
smbpasswd -a ucitel
smbpasswd -a student
Ak chcete používať pdbedit, jednoducho zmeňte meno príkazu, syntax je rovnaká. Na rozdiel od pridávania systémových používateľov, teraz už je potrebné aj heslo, ktoré si príkaz vždy dva krát (pre overenie) vyžiada. Po pridaní používateľov a nastavení hesiel môžme vyskúšať zo staníc s Windows prístup na zdieľaný počítač PDC. Teraz by ste mali mať možnosť vidieť jeden zdieľaný prostriedok – domovský adresár prihláseného používateľa.
Pri správe používateľských účtov si s ich pridávaním nevystačíme, pretože ľudia prichádzajú i odchádzajú, potrebujeme účty aj odstraňovať. Odstraňovanie si môžeme hneď aj vyskúšať pretože pri inštalácii si Samba importovala všetky existujúce systémové účty, môžeme všetky nepotrebné odstrániť. začneme teda výpisom všetkých existujúcich účtov pomocou nástroja pdbedit.
pdbedit -L
backup:34:backup
nobody:65534:nobody
lp:7:lp
Debian-exim:101:
root:0:root
daemon:1:daemon
mail:8:mail
statd:102:
news:9:news
bin:2:bin
uucp:10:uucp
identd:103:
proxy:13:proxy
sys:3:sys
dnsmasq:105:dnsmasq,,,
sshd:104:
sync:4:sync
list:38:Mailing List Manager
games:5:games
irc:39:ircd
www-data:33:www-data
gnats:41:Gnats Bug-Reporting System (admin)
man:6:man
libuuid:100:
Ak sa poriadne pozriete na tieto účty, iste prídete na to, že odobrať možno všetky (okrem účtu root, ktorý neskôr bude treba). Existencia týchto účtov v Sambe nie je nijako nebezpečná, len zbytočná. Zo Samby tieto účty odstránime pomocou príkazu smbpasswd alebo pdbedit. V tomto prípade je stručnejší pdbedit, ale opäť je syntax rovnaká, parameter -x nasledovaný menom účtu:
pdbedit -x libuuid
Odstránenie účtu si môžete skontrolovať opätovným vypísaním všetkých účtov. Rovnako ako tieto účty, je možné odstrániť aj účty, ktoré sme už do Samby pridali my sami, lenže pribúda ešte jedna úloha. Tou úlohou je odstránenie účtu aj zo systémovej databázy. Pamätáte sa? Pre vytvorenie účtu v Sambe sme museli najprv vytvoriť účet v systéme. Samozrejme vyššie spomínané účty chceme v systéme ponechať, tak ich mazať nebudeme, ale ak odíde nejaký zamestnanec, budeme ho chcieť zo systému odstrániť úplne. K tomu použijeme príkaz userdel, ktorému pridáme ešte voľbu -r, aby odstránil aj domovský priečinok používateľa, ktorého odstraňujeme.
userdel -r meno_účtu
Niekedy je vhodné si pred samotným odstránením účtu poznačiť UID odstraňovaného používateľa a po odstránení účtu (a domovského adresára) si nechať vypísať všetky súbory, ktoré vlastní tento (vlastne už neexistujúci) používateľ. Možno už nebudú potrebné. Ale tomuto sa tu venovať nebudem.
Ďalšou často používanou úlohou správy používateľov je zmena hesla účtu. Poznáte to, používateľ sa začne sťažovať, že niekto v jeho mene robí zmeny (prezradené heslo) alebo prosto svoje heslo zabudol... Zmena (nastavenie) hesla je potrebná aj pre všetky importované účty (ak si ich ponecháte), pretože ich import prebehol bez hesla.
Zmena hesla existujúceho účtu je veľmi jednoduchá, tu nám už ostáva iba nástroj smbpasswd. Jeho použitie je jednoduché, stačí mu zadať meno používateľa, ktorému chceme heslo zmeniť:
smbpasswd student
New SMB password:
Retype new SMB password:
a rovnako ako pri vytváraní účtu, dva krát zadať nové heslo. Pre ďalšie podrobnosti Vás odkážem na manuálové stránky nástrojov smbpasswd a pdbedit.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Pred tým ako sa pustíme do nastavenia samotného primárneho radiča domény (PDC) si ešte pripravíme zdieľané adresáre, ktoré budeme v sieti zdieľať prostredníctvom našej Samby. Pri ich nastavovaní si zároveň ukážeme základné postupy ich nastavenia, ako aj spôsoby riadenia prístupu k nim. Celý tento postup bude zodpovedať nami zvolenej schéme prístupu (administrator, triedny učiteľ, učiteľ žiak).
Najprv si v systéme pripravíme adresáre, ktoré budeme zdieľať. Aby aj ich názvy vypovedali o prístupe nazvime ich takto:
Osvedčilo sa mi vytvoriť pre zdieľanie v sieti samostatnú partíciu (nie je podmienkou) alebo aspoň samostatný adresár, aby to bolo všetko pekne pohromade, takže napríklad vytvoríme adresár /home/sambadir, do ktorého budeme jednotlivé zdieľané adresáre ukladať a aby sa nám zatiaľ neplietli práva súborového systému, nastavíme ich na 777:
mkdir /home/sambadir
chmod 777 /home/sambadir
Vstúpme do tohoto adresára a vytvorme si naše adresáre:
cd /home/sambadir
mkdir adminisky
mkdir verejny
mkdir triedny
mkdir ucitelsky
chmod 777 *
Po dokončení nastavení a správnom rozdelení používateľov do skupín, je vhodné zmeniť tieto práva na niečo striktnejšie. Podstata spočíva v tom, že pri prístupe na disk používa Samba práva aktuálne prihláseného používateľa, povolené v súborovom systéme.
Na začiatku som spomenul, že konfiguračný súbor má nejaké sekcie. V mojom vzorovom základnom to boli sekcie [global] a [home]. V oboch prípadoch sa jedná o špeciálne (systémové) mená, ktorým Samba rozumie. Ak vytvoríme akúkoľvek sekciu s iným menom ako tieto (sú ešte aj ďalšie systémové), bude ich Samba považovať za názov zdieľaného prostriedku (adresára). Takže začneme tým, že vytvoríme sekcie pre každé zdieľanie a do každej sekcie zatiaľ dáme len dve konfiguračné voľby – jedna určí umiestnenie poskytovaného adresára (path) a druhá mu nastaví komentár:
[administrac]
comment = Adresár pre adminov
path = /home/sambadir/adminisky
[triedniucit]
comment = Adresár triednych
path = /home/sambadir/triedny
[ucitelia]
comment = Adresár učiteľov
path = /home/sambadir/ucitelsky
[ziaci]
comment = Verejný adresár
path = /home/sambadir/verejny
Všimnite si, že mená sekcií sa nemusia zhodovať s menom zdieľaného adresára. Ak však máte v sieti stroje s Windows 95/98/ME, zaistite aby neboli dlhšie ako 12 znakov, inak nebudú z týchto strojov dostupné. Pre istotu nepoužívam medzery, ale problém by v mene sekcie nemal byť ani medzery ani interpunkcia. Postupom, ktorý som popisoval v časti o konfiguračnom súbore vygenerujeme konfiguračný súbor a znova načítame konfiguráciu.
Pravdepodobne bude vhodné nastaviť správne kódovanie textu, pretože narazíte na problémy so zobrazovaním (na strojoch s Windows 95/98). Aby sme sa tomuto vyhli nastavme tieto parametre v globálnej sekcii:
## Charset settings ##
dos charset = CP852
Ak chcete ladiť ďalej, hľadajte v manuálovej stránke smb.conf aj parametre unix charset, či display charset.
Pri tomto nastavení zistíte, že môžete všetky naše zdieľané priečinky prezerať, ale zatiaľ nikto nemá právo do nich zapisovať. začneme teda našim verejným priečinkom (ziaci), do definície ktorého pridáme parameter writeable nastavený na yes:
[ziaci]
comment = Verejný adresár
path = /home/sambadir/verejny
writeable = yes
Týmto nastavením povolíme zápis pre všetkých používateľov, ktorí sa prihlásia k nášmu serveru. Ak by sme teda povolili writeable pre všetky zdieľania, mohol by každý zapisovať všade, a teda aj študenti. A toto iste nechceme a ako tomu zabrániť si ukážme práve na zdieľaní ucitelia. Do tohoto adresára chceme povoliť prístup všetkých, okrem študentov. Keďže všetci ostatní majú mať aj právo zápisu, povolíme zápis pomocou parametra writeable, ale zakážeme prístup všetkým členom skupiny studenti pomocou parametra invalid users:
[ucitelia]
comment = Adresár učiteľov
path = /home/sambadir/ucitelsky
writeable = yes
invalid users = +studenti
Voľba invalid users môže obsahovať mená jednotlivých používateľov alebo mená skupín, pričom v našom príklade vidíte, že menu skupiny predchádza znamienko +, ktoré udáva, že máme na mysli systémovú skupinu (ďalšie možnosti sú & a @).
Ďalšou úlohou, ktorá pred nami stojí, je nastavenie prístupu do adresára triednych učiteľov. Jeho zmyslom je uchovávať dokumentáciu, do ktorej by mali mať prístup všetci učitelia, ale zapisovať by mali len triedni učitelia. Samozrejme, ani do tohoto adresára nemajú žiadni prístup žiaci. Tu si pomôžeme voľbou read list:
[triedniucit]
comment = Adresár triednych
path = /home/sambadir/triedny
writeable = yes
invalid users = +studenti
read list = @ucitelia
Z tohoto nastavenia vidíme, že do adresára je možné zapisovať, ale členovia skupiny studenti majú prístup zakázaný (teda aj zápis) a členovia skupiny ucitelia majú zakázaný zápis. Ostatní, teda admini a triedni učitelia majú právo prístupu i zápisu. Rovnaký výsledok môžeme dosiahnuť aj použitím voľby write list, ktorá bude obsahovať zoznam skupín (používateľov), ktorých členovia majú právo zápisu.
[triedniucit]
comment = Adresár triednych
path = /home/sambadir/triedny
invalid users = +studenti
read list = @trucitelia, @admini
Ktorý spôsob použijete nechám na Vás, ja dávam prednosť tomu prvému.
Ostal nám posledný adresár nášho príkladu. Je to adresár administrátorov, kde budú mať prístup iba oni. V tomto prípade využijeme voľbu valid users. Táto voľba obsahuje zoznam skupín (používateľov), ktorých členovia môžu vstupovať do adresára. Takže môžeme povoliť zápis všeobecne, veď zapisovať môžu len tí, čo sa do adresára dostanú:
[administrac]
comment = Adresár pre adminov
path = /home/sambadir/adminisky
writeable = yes
valid users = +admini
Na záver už len malá poznámka: nezabudnite povoliť používateľom zápis do ich domovského adresára (sekcia homes), pretože v našom východzom príklade si nemôžu do neho niť uložiť, a tak je vlastne zbytočný. A keď už povoľujete zápis, určite nezabudnite použiť kvóty, pretože skôr alebo neskôr spoznáte, že objem uložených dát rastie do obludných rozmerov a dohováranie je nekonečný a málo účinný proces.
Tu považujem za vhodné spomenúť konfiguračnú voľbu admin users, ktorá určuje administrátorov servera a dáva sa buď do globálnej sekcie (pre celý server) alebo do sekcie príslušného zdieľania, v ktorom ich chceme nastaviť. Títo používatelia v prostredí Samby vystupujú ako root, súbory (aj adresáre) nimi vytvorené bude vlastniť root (so skupinou príslušného používateľa) a budú môcť manipulovať so súbormi a adresármi bez ohľadu na nastavené prístupové práva (vrátane pridávania počítačov do domény):
admin users = @admini
Nespomenul som ešte jeden problém, a tým sú práva súborového systému novovytvorených súborov a adresárov. Nové súbory sú vytvorené s právami na čítanie pre všetkých, ale pre zápis len pre vlastníka súboru. Toto správanie môže byť niekedy želané, pretože súbor bude môcť zmeniť len jeho vlastník. Horšie je to s právami nových adresárov. Tie sú nastavené podobne, čiže každý môže zobrazovať obsah a prechádzať adresárom, ale zapisovať do neho môže len vlastník. Týmto spôsobom by nové adresáre vlastne neboli prístupné pre verejný zápis. Ak teda toto východzie nastavenie nevyhovuje,môžme to zmeniť pomocou volieb create mask (práva nových súborov) a directory mask (práva nových adresárov). Ich hodnota je klasický osmičkový mód práv, napríklad:
create mask = 0666
directory mask = 0777
Týmto nastavujeme súborom práva čítania a zápisu pre všetky kategórie používateľov (rw-rw-rw-) a adresárom práva čítania, zápisu a prechádzania tiež pre všetky kategórie používateľov (rwxrwxrwx). Tieto voľby môžeme dať do sekcie, v ktorej majú platiť, alebo ich môžeme dať do globálnej sekcie, a potom budú platiť pre celý server.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
V tomto okamžiku máme nastavený súborový server tak, že rozlišuje rôzne úrovne prístupu používateľov a nastal čas, nastaviť ho aby vystupoval ako radič domény. Premena samostatného servera na radič domény nie je nijako zložitá.
Prvou vecou, ktorú musíme urobiť, je pridanie nastavení doménového radiča do globálnej časti konfiguračného súboru:
## Primary domain controller ##
domain logons = yes
## Browsing ##
domain master = yes
local master = yes
preferred master = yes
os level = 34
To, že bude Samba vystupovať ako primárny radič domény (Primary Domain Controller – PDC) zaistí voľba domain logons. Zvyšné štyri voľby nastavujú prechádzanie siete a nebudem sa tu nimi zdržiavať.
Druhou vecou, ktorú musíme urobiť, je pripravenie nezapisovateľného, neverejného a neprehliadateľného zdieľania s názvom [netlogon]:
[netlogon]
comment = Prihlasovacie služby
path = /home/sambadir/logon
public = no
writeable = no
browsable = no
Nezabudnite vytvoriť adresár /home/sambadir/logon s právami nastavenými tak, aby z neho mohla Samba čítať. Tento adresár slúži na umiestnenie prihlasovacích skriptov, súborov skupinovej politiky a ďalších nástrojov potrebných pre prihlasovacie skripty, (dávkové súbory MS-DOS, ktoré budú spustené pri každom prihlásení do domény, ale o nich neskôr). Aby sa tieto nastavenia aplikovali je potrebné Sambu reštartovať, len nezabudnite pred reštartom skontrolovať a vygenerovať nový konfiguračný súbor.
V tomto okamžiku môžeme nastaviť stroje s Windows 98/ME do našej domény MYSKUPINA. Aby sme to mohli urobiť aj s Windows 2k/XP/Vista, bude treba ešte niekoľko dodatočných krokov, takže nastavte Windows 98 na prihlasovanie do domény a tešte sa (samozrejme ešte nemáme prihlasovacie skripty).
Keďže operačné systémy Windows 2k, XP a Vista majú riešené prihlasovanie do domény trochu inak a sú na prácu v doméne lepšie pripravené, je treba urobiť jeden krok naviac. Tým krokom je vytvorenie tzv. dôveryhodných účtov (trusted accounts) pre počítače. Dôveryhodný účet nie je účet používateľa, ale účet počítača, ktorý má rovnaké meno ako je NetBIOS meno počítača, pridávaného do domény, aby však boli odlíšené od bežných používateľských mien, majú na konci znak dolár ($). Pre tento účel je dobré vytvoriť samostatnú systémovú skupinu, aby boli účty počítačov pekne spolu, ktorú nazvime povedzme smbcomp:
groupadd --system smbcomp
Teraz môžme vytvoriť účet počítaču, postup bude podobný ako pri bežnom používateľovi, len na koniec mena pridáme dolár a príkazu smbpasswd pridáme parameter -m, aby vedel, že vytvárame počítačový účet. Celé si to ukážme na príklade počítača s menom W2k:
useradd -g smbcomp -d /dev/null -c "účet počítača" -s /bin/false W2k$
smbpasswd -a -m W2k$
Pre tento účet sme nastavili domovský priečinok na /dev/null, pretože počítač domovský priečinok nepotrebuje, rovnako ako shell (/bin/false) a okrem komentára (-c ...)sme mu nastavili aj primárnu skupinu na nami vytvorenú skupinu smbcomp. Všimnite si, že v pri vytváraní dôveryhodného účtu sa smbpasswd nepýta na heslo pre účet.
Keď sme toto všetko urobili pre všetky naše stroje s Windows 2k, nastal čas všetky ich prihlásiť do domény. Pri nastavovaní domény sa objaví prihlasovací dialóg pre zadanie používateľského mena a hesla, tam zadajte údaje účtu, ktorý je zahrnutý vo voľbe admin users (teda niektorý z členov skupiny admini). Po reštarte nezabudnite v prihlasovacom dialógu nastaviť prihlásenie do domény. Ak boli v počítači vytvorené lokálne účty používateľov, pokojne ich odstráňte, už nie sú potrebné. Po prihlásení používateľa do domény sa zatiaľ objaví informačné okno so správou o neexistencii adresára s profilom používateľa, je to preto, že si profily nechávam na neskôr, takže to nevzdávajte.
Cestovné profily sú vymoženosťou, ktorá má zvýšiť používateľské pohodlie. Ich podstatou je, že nastavenie používateľského účtu nie je uložené lokálne, ale na radiči domény, odkiaľ sa po prihlásení prekopíruje do počítača. Myšlienka je to krásna a viem si to predstaviť v heterogénnej sieti. Ale vôbec si to neviem predstaviť v sieti, kde sú nie len rôzne operačné systémy (rôzne verzie Windows) ale aj rôzne HW vybavenie (napr. veľkosť a rozlíšenie monitora). Pravdou je, že v Sambe je možné vytvoriť rôzne profily pre rôzne operačné systémy a dokonca i pre rôzne počítače, ale nikdy som to neskúšal. Uspokojil som sa vždy s vypnutím cestovných profilov, pomocou konfiguračnej voľby v globálnej sekcii:
logon path =
Táto voľba vypne použitie cestovných profilov, vynúti vytvorenie lokálneho profilu pri prvom prihlásení z počítača, a tento lokálny profil pri odhlásení vymazaný nebude, teda bude k dispozícii aj pri ďalšom prihlásení. Zdôrazňujem, že za rovná sa nemá byť nič, ani prázdne úvodzovky v hodnote voľby.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Posledná vec, na ktorú sa spolu pozrieme sú prihlasovacie skripty. Prihlasovací skript je dávkový súbor MS-DOS (*.bat), ktorý je spustený pri každom prihlásení používateľa do domény. Ešte raz poznamenám, že súbor MS-DOS, takže aj jeho riadky musia byť ukončené znakmi CR/LF, nie len LF ako je to v Linuxe. Je niekoľko možností ako to dosiahnuť, len tak námatkovo ma napadá editor KWrite, prekódovanie pomocou recode, či napísanie vo Windows a následné prekopírovanie hotového súboru na správne miesto.
Najväčšia výhoda prihlasovacích skriptov spočíva v ich spúšťaní (vykonávaní) pri prihlasovaní používateľa, pretože to môžeme využiť napríklad na mapovanie sieťových diskov, či nastavenie času (áno, Samba môže plniť úlohu časového servera) v počítači a rôzne ďalšie úlohy. Prihlasovacie skripty sú umiestnené v zdieľaní netlogon, ktoré sme si už vytvorili. Nastavenie cesty ku skriptu určuje hodnoty konfiguračnej voľby logon script, ktorá je predvolene prázdna, teda nie je nastavený žiadny prihlasovací skript:
logon script =
Podobne ako profily, aj prihlasovacie skripty možno rozlíšiť podľa rôznych hodnôt. Ako príklad si ukážme nastavenie tak, že každý používateľ bude mať svoj vlastný prihlasovací skript. O to sa postará premenná Samby %U, ktorá bude nahradená menom práve prihlasujúceho sa používateľa:
logon script = %U.bat
Inou možnosťou, podľa mňa veľmi užitočnou, je použitie rôznych skriptov pre rôzne operačné systémy prihlasovanej stanice. Samba rozpoznáva Sambu (Samba), súborový systém Linux CIFS (CIFSFS), OS/2 (OS2), Windows for Workgroups (WfWg), Windows 9x/ME (Win95), Windows NT (WinNT), Windows 2000 (Win2K), Windows XP (WinXP), Windows XP 64-bit (WinXP64), Windows 2003 (Win2K3) a Windows Vista (Vista). Všetky ostatné systémy sú označené ako neznáme (UNKNOWN), takže premenná %a je nahradená príslušnou tučne zvýraznenou hodnotu:
logon script = %a.bat
Existujú aj ďalšie premenné, ktoré Samba používa, ich popis nájdete v manuáli. Ale iste budete so mnou súhlasiť, že by bolo dosť pracné, a teda náchylné na chyby, udržiavať prihlasovací skript pre každého používateľa (či stroj) zvlášť. Jednym zo spôsobov, ako si to zjednodušiť je vytvoriť jeden (prípadne niekoľko) prihlasovací skript a v adresári [netlogon] vytvoriť pre jednotlivých používateľov (stroje) symbolické odkazy na tento skript. Týmto spôsobom možno znížiť náročnosť správy skriptov a zároveň odlíšiť rôzne skupiny používateľov. Ja tu uvediem príklad použitia jedného spoločného prihlasovacieho skriptu, ktorý nazvime povedzme netlogon.bat, s týmto obsahom:
net time \\PDC /set /y
net use m: /home
net use n: \\PDC\ziaci
Tento skript najprv nastaví čas podľa času na doménovom radiči, potom namapuje domovský adresár ako disk M: a zdieľaný adresár ziaci ako disk N:. Toto riešenie má jednu nevýhodu a to, že na systémoch Windows 2k a novších bude domovský priečinok namapovaný dva krát, ale to jednoducho vyriešime, ak si nastavíme prihlasovacie skripty pomocou %a.bat a tento uložíme s menom Win95.bat, ďalší (bez mapovania /home) napr. Win2K.bat a symbolické odkazy na neho pre WinXP.bat, Vista.bat atď. Všetky v adresári [netlogon].
Poslednou vecou, o ktorej sa zmienim, je mapovanie používateľských skupín. Ak ste sa už prihlásili do domény z nejakej vzdialenej stanice, určite ste si všimli, že všetci používatelia majú rovnakú, obmedzenú, pracovnú skupinu (samozrejme na Windows 2k a novších). Aby sme rozlíšili práva používateľov, umožňuje Samba namapovať Unixové používateľské skupiny na skupiny vo Windows, použijeme na to príkaz net groupmap add pre pridanie mapovania alebo modify pre jeho zmenu. Kompletný výpis dostanete zadaním net groupmap.
Menším problémom pre neznalých môže byť fakt, že Samba od verzie 3.0.11 nevytvára mapovanie štandardných skupín, a tak si ho musíme vyrobiť sami. Ak viete čo je treba vytvoriť, tak nemáte problém, ak nie, pomôžeme si dokumentáciou. Konkrétne v dokumente Samba 3 v príkladoch je uvedený skript initGrps.sh, ktorý sa stará o vytvorenie potrebných skupín. My si tento skript upravíme podľa našich potrieb:
{code lang="bash" head="initGrps.sh"}#!/bin/bash
## initGrps.sh
## Mapovanie Doménových skupín Windows na UNIXové skupiny
net groupmap add rid=512 ntgroup="Domain Admins" unixgroup=admini type=d
net groupmap add rid=513 ntgroup="Domain Users" unixgroup=users type=d
## Pridanie vlastných Doménových skupín
net groupmap add ntgroup="TrUčitelia" unixgroup=trucitelia type=d
net groupmap add ntgroup="Učitelia" unixgroup=ucitelia type=d
net groupmap add ntgroup="Študenti" unixgroup=studenti type=d{/code}
Celá zmena spočíva v odstránení časti pre vytváranie systémových skupín (UNIX groups), ktoré už predsa vytvorené máme a v nahradení mien skupín podľa nášho nastavenia. V prvej časti skriptu je vytvorené mapovanie štandardných doménových skupín Windows, v druhej časti vytvárame naše tri vlastné doménové skupiny. Keďže Windows nerozoznáva skupiny podľa mena (nakoniec ani Linux) ale podľa čísla, priraďujeme štandardným skupinám aj RID, teda identifikátor, podľa ktorého Windows skupinu rozpozná.
V tomto okamžiku majú členovia skupiny admini automaticky práva administrátora. Ak chceme prideliť rôzne práva členom rôznych skupín, je to treba urobiť manuálne (alebo pomocou dávkového súboru) na každej stanici, najlepšie pri jej prihlasovaní do domény, aby sme ich nemuseli obchádzať viac krát. Postup pridania doménovej skupiny do štandardnej lokálnej skupiny je rovnaký ako pri pridávaní lokálnych skupín, len je potrebné zvoliť doménu, tak ako to vidno na obrázku.
Ja napríklad priraďujem skupiny TrUčitelia a Učitelia do skupiny Power Users, a Študenti do skupiny Users (ale pre niektoré predmety potrebujú kvôli programom práva Power users). Tu sa žiadne medze tvorivosti nekladú a môžete si urobiť vlastnú bezpečnostnú politiku, to však nie je cieľom tohoto môjho pojednania. Každopádne uvedené rozdelenie túto tvorivosť umožňuje.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Možno nezaškodí spomenúť aj nastavenie firewallu. Pre svoju činnosť Samba potrebuje otvorené porty 137, 138 a 139. Ak sa pozriete do súboru /etc/services, nájdete tam:
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp
Neviem celkom presne, prečo sú tieto porty vymenované aj pre TCP aj pre UDP. Možno práve tieto informácie vedú mnohých k ich otváraniu pre oba prenosové protokoly. Keď však podrobnejšie nazriete do dokumentácie SMB/CIFS, dočítate sa, že potrebuje pre svoju činnosť tieto porty:
Píšem o portoch, ktoré sú nutné pre funkčnosť zdieľania v sieti so starými Windows 9x. Novšie verzie už nepotrebujú tieto porty a vystačia si s portom 445/TCP – priame zdieľanie súborov (SMB Direct), SMB/CIFS priamo cez TCP, bez NETBIOS. Tu len poznamenám, že toto riešenie potrebuje funkčné riešenie DNS a neposkytuje zoznam počítačov v sieti. Ak povoľujete tieto porty, nezabudnite, že bez použitia servera WINS (alebo zlom nastavení jeho použitia) sú okolité počítače zisťované broadcastmi, preto je potrebné povoliť aj broadcasty pre danú podsieť. Dajte aj pozor, že nie vždy musí byť port odosielateľa a prijímateľa rovnaký.
Tak a sme na konci. Mali by sme teraz mať funkčnú MS Windows doménu, vytvorenú pomocou súborového servera Samba. Máme používateľov rozdelených do skupín, ktoré majú rôzne prístupové práva k zdieľaným prostriedkom servera, ako aj rôzne práva na lokálnych staniciach.
Postup tu popísaný nie je jediné správne riešenie a nie je dokonca ani najlepšie riešenie. Cieľom bolo naviesť čitateľa na vytvorenie funkčného riešenia, na ktorom možno naznačiť princípy nastavenia rôznych úrovní prístupu a nastavovania domény. Určite by sa dalo nastavenie vylepšiť, napríklad použitím rôznych skriptov, napríklad na automatické pridávanie strojov do domény a podobne. Ale to ponechám na samostatné štúdium. Rovnako som sa nezmienil o nastavovaní prehliadania sete (browsing), o použití servera WINS, či o nastavení DNS tak, aby na IP adresy prekladal aj NetBIOSové mená počítačov. Úplne som vynechal prácu s tlačiarňami, hoci i to je silná stránka Śamby. Ale i tak dúfam, že tento návod niekomu pomôže.
Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, zo súhlasom autora (mňa) a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.
Ftp je protokol, pomocou ktorého môžeme prenášať po sieti rôzné súbory. Pritom nezáleží, či je prenášaný súbor textový alebo binárny. Podmienkou je aby ste mali na ftp server kam sa prípájate prístup. Na server možno aj ukládať súbory (upload), aj ich z neho nahrávať (download), len treba mať na to privilégiá. Ak sa prihlásite cez ftp (svojím menom ak na ňom existuje), máte nad súbormi a adresármi tie isté právomoci, ako keby ste sa prihlásili priamo z konzoly. Úživateľom môžeme prístup na server odobrať a niektorý sa isto na server nemôžu príhlasiť ako napríklad root. Je možné sa príhalsiť aj ako užívateľ anonymous, guest alebo ftp. Týto uživatelia nepotrebujú heslo. Môžu sa pohybovať iba po obmedzenom priestore, väčšinou nemôžu nič mazať a prepísovať. Zato si však môže skopírovať súbory ktoré tam pripravil správca.
Na prípojenie z nšho počítača na FTP sa používa príkaz ftp. Stačí napísať ftp menoservera.sk (resp. IP) a hneď sa spojíme so serverom. Uvítacie obrázovky sú rozné od druhu ftp servera a od nastavenia spravcom. Mne zobrazílo nasledovnú:
petulko@server:~$ ftp localhost
Connected to localhost.
220 ProFTPD 1.3.1 Server ready.
Name (localhost:petulko):
Ak sa chceme príhlasiť pod tým istým menom, pod akým sme prihlásení stačí stláčiť ENTER. Ak chceme iný tak ho napíšeme a stláčime ENTER. Ak je konto chránene heslom ftp server si ho vypýta. Po príhlasení sa objavia ďalšie správy:
331 Password required for petulko
Password:
230 User petulko logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>_
Teraz náš ftp server čaká na ďalšie príkazy. Čo teraz? môžeme použiť klasické príkazy známe z BASHu.
ls - výpis súborov aktuálneho priečinku (ls priečinok - výpis súborov zadaného pričinku)
cd priečinok - prejde do priečinka priečinok, cdup - o adresár vyšie
pwd - v ktorom priečinku sa nachádzam
mkdir- vytvorí priečinok
rmdir - zmáže priečinok
delete - odstráni súbor
size - nám vypíše veľkosť súboru
Na lokálnom počítači sa po adresároch môžeme pohybovať príkazom lcd. Niečo ako pwd pre lokálny adresár neexistuje, môžeme však s výhodou použiť príkaz lcd. Rovnako aj vypis lokálneho adresára sa dá vyvolať len okľukou použitím !ls. Samotný ! ako príkaz spustí shell, ! a príkaz spôsobí vykonanie daného príkazu operačného systému.
Ftp servery sú nastavené tak, že ak dlhší čas po prihlásení nevykonávame nejaku činnosť odhlásia nás.
Ak spustíme príkaz ftp a nezadám meno servera dostaneme sa do príkazového režimu. Spojenie mžeme nadviazať open menoservera.sk.
FTP server ma slúžiť hlavné na prenašanie súborov. Poďme teda k jadru vecí a vysvetlíme si najskôr teóriu. FTP pozná viacej druhov prenosov, najbežnejšie sú ASCII a binárne. Uistite sa, že vždy používate binárny prenos, aj keď ste si istí, že sa prenášajú len textové súbory. Taký prenos sa zapína príkazom bin. Najlepšie je, keď tento príkaz zadáte hneď po príhalsení. Príkazom type si overíme aký typ prenosu máme zapnutý.
Ak chceme preniesť súbor zo serveru na lokálný disk zadame príkaz get súbor. Na našom lokálnom disku v aktuálnom priečinku sa vytvára súbor ktorý sme si zvolili. Ak chcete aby sa po každom prijatom kilobajte vypísal znak # zadajte príkaz hash a uistite sa, že dostanete hlásenie, printing je on. Ak ho nedostanete zadajte príkaz ešte raz (tento a zopár ďalších príkazov fungujú ako prepínače - po každom zadaní zmenia nastavenie na opačné - z on na off a opačne). Ak chcete aby vás počítač úpozornil po prenesení súboru pipnutím zadajte príkaz beep. Ak potrebujete aby sa prenašaný ssúbor zapísal na localný disk pod iným menom použíte príkaz get menosuborunaservere novemenosuboru.
V príkaze get sa nedajú použiť znaky ako ? a *. Tie môžeme použiť v príkaze mget, ktorý funguje rovnako ako obyčajný get. V mget môžeme súšasne sťahovať viac súborov ktoré napišeme za sebou a odelime ich medzerou, alebo namiesto dlheho nazvu libwine-dev_0.0.98545457.deb napisať mget libwine*. Ak nastavíme promt na on po každom prenesonom súbore sa nás spyta, že či ma preniesť ďalší.
Ak sa nám z nejakého dôvodu preruší spojenie a máme veľkú časť súboru stiahnútu môžeme skúsiť reget menosuboru. Ak to server podporúje mal by sa súbor doťahať.
Ako dostať súbor na server?
Služia na to príkazy put a mput. platí tu všetko ako pri get a mget.
Príkazom append prípojíme localný súbor na koniec súboru na servery. Syntax je zhodna so syntaxou get alebo put.
Prenos môžeme prerušiť kombináciou <CTRL> + <C>. Ak súbor príjmame prenos sa zastaví hneď, ak súbor posieláme musíme počkať kým druhá strana spracuje príkaz ABOR.
Odpojíme sa buď zadaním bye alebo exit a da sa použiť aj kombinácia <CTRL> + <D>.
Tu môžete nájsť informácie o tom, ako nainštalovať Ubuntu z tzv. Alternate CD. Alternate CD ponúka oproti štandardnému Desktop CD pokročilé možnosti inštalácie Ubuntu.
Inštrukcie o tom, ako používať Desktop CD, sa nachádzajú na stránke Inštalácia operačného systému Ubuntu.
Vzhľadom na to že preklad tohto návodu potrvá určitý čas, počas ktorého sa určite čoraz viac začnú používať počítače so 64 bitovou architektúrou, zameriame sa práve na preklad príručky pre túto architektúru. V prípade, že budete inštalovať Ubuntu pre starší typ architektúry i386, návod môže byť v niečom nepresný.
Copyright © 2004, 2005, 2006, 2007, 2008 the Debian Installer team
Copyright © 2004, 2005, 2006, 2007, 2008, 2009 Canonical Ltd.
Abstrakt
Tento dokument obsahuje inštrukcie na inštaláciu systému Ubuntu 9.04 (s kódovým označením “‘Jaunty Jackalope’”) pre architektúru IA-64 (“ia64”). Obsahuje rozsiahlejšie informácie o tom, ako dostať maximum z vašej novej inštalácie Ubuntu.
Teší nás, že ste sa rozhodli skúsiť Ubuntu, a mame istotu, že zistíte, že distribúcia Ubuntu GNU / Linux je jedinečná. Ubuntu spája vysoko kvalitný slobodný softvér z celého sveta do jedného koherentného celku. Veríme, že zistíte, že výsledok je naozaj viac ako len pozliepanie častí.
Chápeme, že mnohí z vás chcú inštalovať Debian bez toho, aby čítali túto príručku. Inštalátor Ubuntu je navrhnutý tak, aby to bolo možné. Ak nemáte čas čítať celú inštalačnú príručku, odporúčame, aby ste si prečítali časť Inštalácia - ako na to, ktorá vás prevedie základnou inštaláciou. Odkaz na tento manuál môžete použiť ak sa chcete dozvedieť o pokročilých možnostiach alebo keď sa niečo nedarí . Časť Inštalácia - ako na to, môžete nájsť v prílohe A, Installation Howto.
Dúfame, že si nájdete čas prečítať väčšinu z tejto príručky, a že vám poskytne mnoho informácií, ktoré vám zjednodušia proces inštalácie.
Táto kapitola obsahuje informácie o tom, čo je to projekt Ubuntu a čo je to projekt Debian, na ktorom je projekt Ubuntu založený. Ak už poznáte históriu projektu Ubuntu, pokojne môžete preskočiť túto kapitolu.
Ubuntu je plnohodnotný desktopový operačný systém s jadrom Linux, ktorý je voľne dostupný s podporou od komunity aj s odbornou platenou podporou. Komunita Ubuntu je postavená na myšlienkach zhrnutých v Manifeste Ubuntu: softvér má byť dostupný zadarmo, softvérové nástroje majú byť použiteľné ľuďmi v ich rodnom jazyku a majú brať ohľad aj na ľudí s postihnutím, ľudia by mali mať právo prispôsobovať a meniť svoj softvér podľa svojej potreby.
Ubuntu je sytém vhodný rovnako pre osobné počítače ako aj pre servery. Aktuálna verzia Ubuntu podporuje architektúry Intel x86 (PC kompatibilné s IBM), AMD64 (Hammer) a PowerPC (Apple iBook a Powerbook, G4 a G5). Ubuntu obsahuje viac ako 1000 kusov softvéru, vrátane linuxového jadra verzie 2.6 a grafického prostredia GNOME 2.26 a zahŕňa všetky štandardné desktopové aplikácie vrátane aplikácií na spracovanie textu a tabuliek, aplikácií prácu v sieti Internet, softvér na vytvorenie webového servera, spracovanie emailov, programovacie jazyky a nástroje a samozrejme aj niekoľko hier.
Projekt Ubuntu sponzoruje spoločnosť Canonical Ltd. Canonical nepredáva licencie na používanie Ubuntu, a nebude to v žiadnom prípade robiť ani v budúcnosti. Obchodným artiklom spoločnosti Canonical je poskytovanie technickej podpory a profesionálnych služieb súvisiacich s Ubuntu. Odporúčame tiež ďalšie spoločnosti, ktoré ponúkajú pre Ubuntu podporu. Zoznam týchto spoločností nájdete na tomto webe.
Debian je nezisková organizácia, ktorá sa venuje vývoju slobodného softvéru a šíreniu myšlienok slobodného softvéru. Debian vznikol v roku 1993, keď Ian Murdock adresoval otvorenú výzvu softvérovým vývojárom, aby spolu vytvorili ucelenú a koherentnú softvérovú distribúciu založenú na relatívne novom linuxovom jadre. Relatívne malá skupina zasvätených nadšencov, pôvodne financovaná zo zdrojov organizácie Free Software Foundation a ovplyvnená filozofiou GNU, sa v priebehu rokov rozrástla do organizácie pozostávajúcej z asi 1000 vývojárov Debianu.
Vývojári Debianu sú zapojený do rôznych aktivít vrátane administrácie Webu a FTP , grafickému dizajnu, analýze legálnosti a softvérovým licenciám, písaniu dokumentácie a samozrejme správe softvérových balíkov.
V záujme rozširovania našej filozofie a v snahe prilákať vývojárov, ktorí veria tomu, čo Debian predstavuje, v rámci projektu Debian sme publikovali množstvo dokumentov, ktoré vysvetľujú naše hodnoty a sú zároveň aj príručkou pre tých, ktorý chcú vedieť, čo to znamená byť vývojár Debianu:
Vývojári Debianu sú tiež zainteresovaní v mnohých ďalších projektoch; niektoré priamo súvisia s Debianom, iné sa dotýkajú celej Linuxovej komunity. Uvedieme niekoľko príkladov:
Linux Standard Base (LSB) - štandardný základ Linuxu je projekt zameraný na štandardizáciu základného systému GNU/Linux, ktorý umožňuje vývojárom softvéru a hardvéru tretích strán jednoducho navrhovať programy a ovládače hardvéru pre Linux ako taký, miesto toho aby ich museli navrhovať pre každú distribúciu GNU/Linux zvlášť.
Filesystem Hierarchy Standard (FHS) - štandardná hierarchia súborového systému sa snaží štandardizovať rozmiestnenie súborov v súborovom systéme Linuxu. FHS umožňuje vývojárom sústrediť sa na tvorbu programu, bez toho aby sa zapodievali tým, kam sa jednotlivé súbory majú v jednotlivých distribúciách GNU/Linux nakopírovať.
Debian Jr. je vnútorný projekt, ktorého cieľom je zistiť či Debian má čo ponúknuť naším najmladším používateľom.
Viac informácií o Debiane, nájdete na stránke Debian FAQ.
Ubuntu a Debian sú rozdielne no paralelné a úzko previazané systémy. Projekt Ubuntu sa snaží projekt Debian doplniť v nasledujúcich oblastiach:
Ubuntu neposkytuje bezpečnostné aktualizácie a profesionálnu podporu pre všetky balíky dostupné vo svete otvoreného softvéru, ale vyberá si sadu balíkov, ktoré tvoria ucelený a komplexný desktopový operačný systém a poskytuje podporu iba pre túto sadu balíkov.
Užívatelia, ktorý chcú mať prístup ku všetkým balíkom, Ubuntu poskytuje súčasť "universe" (sada balíkov), z ktorej si používatelia systému Ubuntu môžu nainštalovať poslednú verziu balíka, ktorá nie je obsiahnutá podporovanej sade. Väčšina balíkov obsiahnutých v Ubuntu universe, sa nachádza aj v systéme Debian, aj keď existujú aj iné zdroje, z ktorých sa do sady universe balíky tiež pridávajú. Viac informácií o štruktúre webovej distribúcie Ubuntu sa nachádza na stránke o súčastiach Ubuntu.
Ubuntu vytvára nové vydanie každých šesť mesiacov a toto vydanie podporuje 18 mesiacov vydávaním každodenných bezpečnostných opráv a záplat na kritické chyby.
Pri príprave nového vydania Ubuntu, “zmrazíme” aktuálny stav archívu vývojovej verzie Debianu (“sid”). Vychádzame z verzie “sid” a postupne pridávame vlastné vylepšenia, pričom sa zameriavame na zostavenie vydania, ktoré je nezávislé od prípravy vydania Debianu. Tento spôsob je nevyhnutný, pretože kritériá vydania sú veľmi odlišné oproti Debianu.
Napríklad aj je balík vylúčený z Debian “testing”, pretože sa nedal zostaviť na všetkých jedenástich podporovaných architektúrach, ktoré sú podporované verziou Debian “sarge”, pre Ubuntu takýto balík môže byť postačujúci ak funguje na troch architektúrach, ktoré Ubuntu podporuje. Balík sa tiež do verzie Debian “testing” nemusí dostať aj kvôli tomu, že spôsobuje kritickú chybu vo vydaní, táto chyba sa však vo vydaní Ubuntu nemusí prejaviť.
Ako komunita sme si zvolili určité miesta, v ktorých sa odlišujeme od Debianu takým spôsobom, aby sme minimalizovali rozdiely medzi Debianom a Ubuntu. Napríklad zvyčajne do vydania zvolíme najnovšiu verziu Gnome miesto staršej verzie, ktorú obsahuje Debian a snažíme sa o to isté aj s ostatnými kľúčovými súčasťami architektúry, ako sú napríklad X alebo GCC. Tieto rozhodnutia sú zapísané v zozname kľúčových cieľov pre dané vydanie a cieľom našej komunity je zabezpečiť, aby všetky ciele boli naplnené pred uvoľnením vydania.
Mnoho vývojárov Ubuntu patrí tiež medzi uznávaných členov komunity Debianu. Títo vývojári aktívne prispievajú do Debianu vrámci práce na Ubuntu priamo v Debiane.
Keď vývojári Ubuntu opravia chyby ktoré sa nachádzajú aj v balíkoch Debianu -- vďaka tomu, že sú projekty prepojené, sa to stáva často -- zašlú opravy chýb vývojárom Debianu zodpovedným za daný balíček v Debiane a vytvoria URL adresu systéme na hlásenie chýb Debianu. Dlhodobým cieľom tejto práce je aby záplaty vytvorené tímom, ktorý sa venuje iba Ubuntu, sa ihneď dostali aj do balíkov Debianu, kde ich správcovia Debianu radi spracujú.
Členovia tímu Ubuntu môžu zmeniť akýkoľvek balík, aj ak je spravovaný niekým iným. Správcovia Ubuntu privítajú ak oprava vyrieši problém, tým zároveň podnecujeme diskusiu medzi ľuďmi, ktorí sa zaujímajú o daný balík aby sme zlepšili spoluprácu a odstránili hádky medzi správcami.
Debian a Ubuntu sú založené na rovnakej filozofii slobodného softvéru. Obe skupiny sa zaviazali, že budú vytvárať operačný systém slobodného softvéru.
Rozdiel medzi skupinami spočíva v rozdielnom postoji k súčastiam, ktoré nie sú aplikáciami (ako napríklad dokumentácia, písma (fonty), firmware zariadení) a neslobodnému softvéru. Debian distribuuje malé množstvo neslobodného softvéru zo svoji internetových serverov. Ubuntu distribuuje zo svojich internetových serverov aj neslobodné ovládače ako súčasť "restricted" ale nedistribuuje žiadne ďalšie softvérové aplikácie, ktoré nespĺňajú licenčné podmienky, ktoré si Ubuntu stanovilo.
Existuje mnoho ďalších distribúcií, ktoré používajú rovnakú základnú infraštruktúru (balíky a formát archívov). Ubuntu sa od nich odlišuje v mnohých smeroch.
Po prvé, Ubuntu odosiela záplaty priamo do Debianu hneď ako sú chyby opravované pri vytváraní nového vydania Ubuntu, nie až po tom ako je vydanie hotové. Ostatné distribúcie založené na Debiane, zverejnia zdrojový kód a záplaty ako "veľký tresk" pri vydaní novej verzie, preto je ich veľmi obtiažne spätne začleniť do upstreamu HEAD.
Po druhé, Ubuntu disponuje množstvom prispievateľov, ktorí sú zároveň vývojármi Debianu. Mnoho ďalších distribúcií založených na Debiane nemá ani jedného prispievateľa, ktorý je zároveň aktívnym vývojárom Debianu.
Po tretie, Ubuntu vytvára častejšie a čerstvejšie vydania. Naša politika vydávania novej verzie každých šesť mesiacov je jedinečná vo svete Linuxových distribúcií. Ubuntu vám chce poskytnúť stabilný a bezpečný obraz toho najlepšieho zo sveta otvoreného softvéru.
GNU/Linux je operačný systém: séria programov, ktoré interagujú z počítačom a spúšťajú iné programy.
Operačný systém sa skladá z rôznych základných programov, ktoré potrebuje váš počítač na to, aby mohol komunikovať a prijímať pokyny od používateľov, čítať a zapisovať dáta na diskoch, páskach, tlačiť na tlačiarniach, kontrolovať využitie pamäte a spúšťať ďalšie programy. Najdôležitejšou časťou operačného systému je jadro. V systéme GNU/Linux je jadrom Linux. Zvyšok systému sa skladá z ďalších programov, z ktorých väčšina bola vytvorená v rámci projektu GNU. Vzhľadom k tomu, že samotné linuxové jadro netvorí funkčný operačný systém, je vhodnejšie používať termín "GNU/Linux", miesto skráteného termínu "Linux", ktorý sa na označenie operačného systému často používa.
Linux je vymodelovaný podľa operačného systému Unix. Od počiatku vývoja bol Linux navrhovaný ako viac-úlohový a viac-používateľský operačný systém. Tieto fakty robia Linux odlišným od ostatných dobre známych operačných systémov. Linux je však ešte viac odlišný ako si viete predstaviť. V porovnaní s ostatnými operačnými systémami Linux nikto nevlastní. Väčšina jeho vývoja pochádza od neplatených dobrovoľníkov.
Vývoj toho, čomu dnes hovoríme GNU/Linux sa začal v roku 1984, keď organizácia Free Software Foundation začala vývoj slobodného systému podobného Unixu s názvom GNU.
Projekt GNU vytvoril kompletnú sadu slobodných softvérových nástrojov určených pre operačný systém Unix™ a operačné systémy jemu podobné ako napríklad Linux. Tieto nástroje umožňovali požívateľom vykonávať rôzne úlohy od bežných (ako napríklad kopírovanie či presúvanie súborov v systéme) po pokročilé (ako napríklad zápis a kompilovanie vlastných programov či sofistikovanú úpravu dokumentov v rôznych formátoch).
Aj keď k vývoju Linuxu prispelo mnoho skupín a jednotlivcov, najväčším prispievateľom je stále organizácia Free Software Foundation, ktorá nielen že vytvorila väčšinu nástrojov používaných v Linuxe, ale vytvorila aj filozofiu komunity, ktorá umožnila vzniknutiu Linuxu.
Jadro - Linux kernel sa prvý krát objavilo v roku 1991, keď fínsky študent informatiky Linus
Torvalds veľmi skorú verziu tohto jadra, ktorá mala slúžiť ako náhrada jadra pre systém Minix, odoslal do diskusnej skupiny Usenet s adresou comp.os.minix
. Viac informácii sa dozviete na medzinárodnej stránke o histórii Linuxu
Linux History Page.
Linus Torvalds pokračoval v koordinovaní niekoľko stoviek vývojárov za pomoci niekoľkých dôveryhodných.
Informácie o mailovej diskusnej skupine linux-kernel
sa nachádzajú na stránke
linux-kernel mailing list FAQ.
Používatelia Linuxu majú nesmiernu slobodu vo výbere svojho softvéru. Napríklad si používatelia Linuxu môžu vybrať z tucta rôznych príkazových riadkov a niekoľkých grafických prostredí. Tento výber je často mätúci pre používateľov iných operačných systémov, pretože nie sú zvyknutí uvažovať o príkazovom riadku alebo grafickom prostredí ako o niečom, čo môžu zmeniť.
Linux sa tiež oproti väčšine ostatných operačných systémov vyznačuje oveľa menšou pravdepodobnosťou zrútenia, schopnosťou spustiť viac aplikácii súčasne a väčšou bezpečnosťou. Kvôli týmto výhodám je Linux najrýchlejšie rozvíjajúcim sa systémom na trhu serverov. V súčasnosti sa však Linux stáva čoraz viac populárny aj pre domácich používateľov a podnikateľov.
Informácie o tom ako Ubuntu stiahnuť z Internetu nájdete na webovej stránke Stáhnout (v českom jazyku) alebo download (v anglickom jazyku). Stránka list of Ubuntu mirrors obsahuje kompletný zoznam oficiálnych zrkadiel Ubuntu, takže môžete ľahko nájsť najbližšie, z ktorého bude sťahovanie najrýchlejšie. V čase prekladu tohto článku boli pre lokalitu Slovensko dostupné tri zrkadlá.
Slovakia | 1 Gbps | 3 zrkadlá | |
---|---|---|---|
Antik computers & communications s.r.o. | http ftp rsync | 1 Gbps | |
Energotel, a.s. | http ftp rsync | 100 Mbps | |
Antik Computer & Communications | http ftp rsync | 100 Mbps |
Ubuntu sa dá po nainštalovaní veľmi jednoducho aktualizovať. Inštalačný program nastaví systém tak, aby ste mohli aktualizácie po dokončení inštalácie stiahnuť a nainštalovať, ak je to potrebné.
Originálna anglická verzia tejto príručky prechádza revíziami. Aktuálnu verziu tejto inštalačnej príručky nájdete na stránke official Install Manual pages.
Tento dokument má slúžiť najmä pre neskúsených používateľov Ubuntu (ktorí ho ešte neinštalovali). Príručku sme sa snažili napísať tak, aby k jej pochopeniu bolo potrebných čo najmenej vedomostí a skúseností. Predpokladáme však, že máte aspoň základnú predstavu o tom ako fungujú zariadenia vo vašom počítači.
Skúsení používatelia však v tomto dokumente môžu nájsť zaujímavé informácie, napríklad ohľadne minimálnych požiadaviek na systém, detaily o podpore hardvéru a podobne. Skúseným používateľom odporúčame niektoré časti tejto príručky preskočiť.
Snažili sme sa aby bola táto príručka napísaná chronologicky tak, aby vás krok za krokom previedla procesom inštalácie od začiatku po koniec. Toto sú kroky pri inštalácii Ubuntu, ktorým zároveň zodpovedajú jednotlivé kapitoly tejto príručky:
Určenie toho, či hardvér spĺňa požiadavky pre nainštalovanie systému Kapitola 2, Systémové požiadavky Ubuntu.
Záloha systému, vykonanie potrebného naplánovania a nastavenia hardvéru pred inštaláciou Ubuntu je popísaná v Chapter 3, Before Installing Ubuntu. Ak chcete mať na počítači viac systémov súčasne a pri štarte počítača sa medzi nimi prepínať, možno bude potrebné pripraviť miesto na disku pre nové diskové oddiely, ktoré bude používať Ubuntu.
V Chapter 4, Obtaining System Installation Media sa dozviete ako získať potrebné inštalačné súbory pre jednotlivé metódy inštalácie.
Chapter 5, Booting the Installation System popisuje zavedenie inštalačného systému. Táto kapitola hovorí aj o riešení problémov ktoré v tomto kroku môžu nastať.
Vykonanie inštalačných krokov popisuje Chapter 6, Using the Ubuntu Installer. To predstavuje výber jazyka, nastavenie ovládačov periférií, nastavenie sieťového pripojenia, nastavenie toho, či majú byť inštalačné súbory získané priamo zo servera Ubuntu (ak neinštalujete z CD disku), nastavenie diskových oddielov, výber a inštalácia súčastí systému. (Niektoré podrobnejšie informácie o nastavovaní diskových oddielov sú vysvetlené v časti Appendix C, Partitioning for Ubuntu.)
Zavedenie čerstvo nainštalovaného systému popisuje Chapter 7, Booting Into Your New Ubuntu System.
Po nainštalovaní systému si môžete ešte prečítať Chapter 8, Next Steps and Where to Go From Here. Táto kapitola vysvetľuje kde sa dajú nájsť ďalšie informácie o Unixe a Ubuntu a ako sa dá zmeniť jadro.
Ďalšie informácie o tejto príručke a o tom ako ju vylepšiť, sa nachádza v Appendix E, Administrivia.
Sme si istí, že poznáte niektoré z licencií, ktoré sa používajú s najväčším komerčným softvérom - zvyčajne hovoria, že môžete použiť iba jednu kópiu softvéru na jednom počítači. Tento systém takýto druh licencie nemá rád. Budeme radi, ak kópie systému Debian GNU / Linux nainštalujete na každý počítač v škole, doma alebo v počítači, ktorý používate na podnikanie. Môžete požičiavať inštalačné médiá svojim priateľom a pomôcť im s inštaláciou na ich počítačoch! Môžete dokonca vyrobiť tisíce kópií a predávať ich - s niekoľkými obmedzeniami. Systém Ubuntu môžete voľne inštalovať a používať pretože je založený na slobodnom softvéri.
Slovo slobodný neznamená, že softvér nemá copyright a neznamená to, že CD disky, ktoré obsahujú softvér sa musia distribuovať bezplatne. Slobodný softvér znamená to, že licencia jednotlivých programov nevyžaduje platiť za právo distribuovania alebo používania týchto programov. Slobodný softvér tiež znamená nielen to, že ho môže ktokoľvek rozšíriť, prispôsobiť a pozmeniť, ale tiež to, že môžete ďalej šíriť výsledky svojej práce.
![]() |
Projekt Ubuntu ako pragmatický ústupok svojim používateľom ponúka aj softvérové balíky, ktoré nespĺňajú naše kritéria slobodnosti. Tieto balíky nie sú súčasťou oficiálnej distribúcie, ale sú dostupné z úložiska |
---|---|
Mnoho programov v systéme spadá pod licenciu GNU General Public License, ktorú tiež často označujeme “GPL”. GPL licencia vyžaduje aby bol súčasne dostupný zdrojový kód programu, ktorý šírite v binárnej podobe. Toto obmedzenie, ktoré licencia kladie, umožňuje ostatným používateľom modifikovať softvér. Toto ustanovenie o zdrojovom kóde[1] je platné pre všetky programy, ktoré obsahuje systém Ubuntu.
Existuje niekoľko ďalších foriem copyrightu a softvérových licencií, ktoré sa používajú pre programy v Ubuntu. Informácie o týchto licenciách nájdete pre každý balík v súbore
/usr/share/doc/
po nainštalovaní príslušného balíka do systému.
meno-balika
/copyright
Viac informácií o licenciách a o tom ako Ubuntu určuje či je softvér dostatočné slobodný na to, aby mohol byť zaradený do hlavnej distribúcie, nájdete v popise licenčnej politiky Ubuntu na stánke Ubuntu License Policy.
Najdôležitejším faktom je to, že tento softvér nemá žiadnu záruku. Programátori, ktorí vytvorili tento softvér, to urobili pre prospech celej komunity. Nemôžeme zaručiť, že program bude vhodný na účely, na ktoré ho chcete použiť. Máte však k dispozícii zdrojové kódy tohto programu, a preto si ho môžete prispôsobiť vašim potrebám a využívať zmeny, ktoré vykonajú ostatní, ktorí takýmto spôsobom pomáhajú rozvoju slobodného softvéru.
[1] Viac informácií o to ako nájsť, rozbaliť a zostaviť binárne súbory zo zdrojových kódov Ubuntu nájdete na strénke Debian FAQ, v časti “Basics of the Debian Package Management System”.
Táto časť obsahuje informácie o hardvéri, ktorý potrebujete, aby ste mohli na svoj počítač nainštalovať Ubuntu. Nájdete tu tiež odkazy na ďalšie informácie o zariadeniach podporovaných GNU a Linuxom.
Ubuntu nemá žiadne vyššie požiadavky oproti požiadavkám, ktoré má jadro Linuxu a sada nástrojov GNU. Vďaka tomu, môžete Ubuntu spustiť na každej architektúre a platforme, na ktorú bolo portované jadro Linuxu, libc, gcc, atď., a pre ktoré existuje port Ubuntu.
Miesto toho aby sme popisovali všetky najrôznejšie hardvérové konfigurácie, ktoré sú podporované 64 bitovou verziou Ubuntu, povieme len základné informácie, ktoré doplníme odkazmi na podrobnejšie informácie.
Ubuntu 9.04 podporuje tri hlavné architektúry a niekoľko variánt každej architektúry známej ako “flavors”. Pre tri ďalšie architektúry (HP PA-RISC, Intel ia64, a IBM/Motorola PowerPC) existujú neoficiálne porty.
Architektúra | Označenie Ubuntu | Podarchitektúra | Odroda |
---|---|---|---|
Intel x86-based | i386 | ||
AMD64 & Intel EM64T | amd64 | ||
HP PA-RISC | hppa | PA-RISC 1.1 | 32 |
PA-RISC 2.0 | 64 | ||
Intel IA-64 | ia64 | ||
IBM/Motorola PowerPC | powerpc | PowerMac | pmac |
Sun SPARC | sparc | sun4u | sparc64 |
sun4v |
Úplný zoznam podporovaných zariadení nájdete na stránke Linux Hardware Compatibility HOWTO. Táto kapitola hovorí len o základných požiadavkách.
64 bitová verzia Ubuntu podporuje oba typy procesorov AMD64 aj Intel EM64T.
Notebooky sú tiež podporované, väčšina z nich bude fungovať bez nutnosti čokoľvek meniť. V prípade, že notebook obsahuje neštandardný alebo špecializovaný hardvér, niektoré funkcie notebooku nemusia fungovať. Ak sa chcete dozvedieť, či GNU/Linux bude fungovať práve na vašom notebooku, pozrite si stránku Linux Laptop pages.
Podora viacerých procesorov — tiež nazývaná “symetrický multiprocessing” alebo SMP — je v tejto architektúra tiež dostupná. Štandardné jadro Ubuntu 9.04 je skompilované s podporou SMP-alternatives. To znamená, že si jadro automaticky zistí počet procesorov (alebo jadier) a automaticky vypne podporu SMP ak sa nachádza na systéme s jedným procesorom.
Na zobrazenie konzoly terminálu postačuje akákoľvek grafická karta kompatibilná s VGA. Skoro každá moderná grafická karta je s týmto štandardom kompatibilná. Staršie typy štandardov ako CGA, MDA, alebo HGA by mali tiež fungovať, za predpokladu, že nechcete použiť grafické rozhranie X11. Pri inštalácii Ubuntu z Alternate CD, ktorú popisujeme v tomto dokumente, sa X11 nepoužíva.
Podpora Ubuntu pre grafické rozhrania je závislá od toho, aké zariadenia podporuje kľúčové grafické rozhranie X.Org s názvom X11. Väčšina grafických kariet s rozhraním AGP, PCI a PCIe pracuje v X.Org spoľahlivo. Detaily o podporovaných grafických rozhraniach, kartách, monitoroch a zobrazovacích systémoch sa nachádzajú na stránke http://xorg.freedesktop.org/. Ubuntu 9.04 sa dodáva s X.Org verzie 7.3.
Drvivá väčšina sieťových kariet (NIC), ktorá je podporovaná jadrom Linux, je tiež podporovaná aj inštalačným systémom. Moduly s príslušným ovládačom by sa mali načítať automaticky. To zahŕňa väčšinu kariet s rozhraním PCI a PCMCIA.
ISDN je podporované ale nie počas inštalácie.
Bezdrôtové siete sú vo všeobecnosti podporované tak dobre ako stále väčší počet bezdrôtových adaptérov, ktoré sú oficiálne podporované jadrom Linuxu, aj keď mnoho z nich potrebuje nahrať nový firmvér. Bezdrôtové karty, ktoré nie sú oficiálne podporované jadrom Linuxu sú väčšinou pracujú v nainštalovanom systéme Debian GNU/Linux, ale nefungujú počas inštalácie.
Používanie bezdrôtovej siete počas inštalácie je stále vo vývoji a to či bude sieť fungovať závisí od typu adaptéra a konfigurácie vášho prístupového bodu. Ak nemáte žiadny iný sieťový adaptér, ktorý by ste mohli použiť počas inštalácie, stále máte možnosť nainštalovať Debian GNU/Linux resp. Ubuntu pomocou disku CD-ROM alebo DVD. Vyberte možnosť nekonfigurovania siete a inštaláciu iba tých balíkov, ktoré sa nachádzajú na CD/DVD. Po nainštalovaní (a reštarte počítača) môžete nainštalovať ovládač a firmvér, ktorý potrebujete a nakonfigurovať sieť ručne.
V niektorých prípadoch ovládač, ktorý potrebujete nie je dostupný ako balík Debianu.
Môžete sa však pozrieť na Internete, či nie je dostupný zdrojový kód a ručne ho skompilovať. Ako sa to robí, to je už oblasť, ktorá je nad rámec tejto príručky.
Ak nie je dostupný ovládač pre Linux, poslednou možnosťou je použitie balíka ndiswrapper
, ktorý umožňuje použiť Windows ovládač.
Linux podporuje široký rozsah druhov hardvéru ako napríklad myši, tlačiarne, skenery, PCMCI a USB zariadenia. Avšak väčšina z týchto zariadení nie je počas inštalácie potrebná.
USB zariadenia vo všeobecnosti fungujú dobre, iba niektoré USB klávesnice vyžadujú dodatočnú konfiguráciu (pozrite si časť the section called “Hardware Issues to Watch Out For”).
Informácie o tom, či váš konkrétny hardvér bude fungovať v Linuxe nájdete na stránke Linux Hardware Compatibility HOWTO.
Okrem toho, že zariadenia potrebujú ovládač, niektoré vyžadujú aj tzv. firmvér alebo mikrokód, ktorý je potrebné nahrať do zariadenia aby bolo funkčné. Toto je veľmi častý prípad pri sieťových kartách (najme pri bezdrôtových adaptéroch), ale tiež niektoré USB zariadenia a tiež niektoré radiče diskov potrebujú firmvér.
Vo väčšine prípadov firmvér podľa kritérií projektu Debian GNU/Linux nie je slobodný, a preto nemôže byť začlenený do hlavnej distribúcie alebo inštalačného systému. Ak je ovládač zariadenia začlenený v distribúcii a ak Debian GNU/Linux legálne môže distribuovať firmvér, je často dostupný ako samostatný balík v non-free časti archívu.
To však neznamená, že takýto hardvér sa nedá použiť počas inštalácie. Počnúc od Debian GNU/Linux 5.0, debian-installer
podporuje načítanie firmvéru alebo balíkov obsahujúcich firmvér z vymeniteľného média,
ako napríklad disketa alebo USB kľúč.
Viac informácií o tom ako nahrať firmvér počas inštalácie sa nachádza v časti the section called “Loading Missing Firmware”.
Tento návod je prekladom návodu z anglického originálu HowtoForge:
Inštalátor na Ubuntu Live CD nepodporuje softvérový RAID a server a alternate CD dovoľujú vytvoriť iba diskové polia RAID úrovne 0, 1 a 5. Raid 10 je najrýchlejšou úrovňou RAID, ktorá tiež podporuje dostatočnú redundantnosť. Takže som bol sklamaný, že Ubuntu nebudem môcť použiť ako operačný systém pre môj nový file server. Keďže som nechcel utrácať peniaze za harverový RAID, iba pre to, že harvérový radič nakonfigurovaný ako RAID 10 je pre file server o trochu výhodnejší.
Verím že už dobre viete čo je RAID 10, ale pre istotu ešte pripomeniem niekoľko dôležitých faktov.
Použijeme program na správu partícii, ktorý dokáže vytvárať RAID partície. Ja som použil program cfdisk, ktorý je síce textový ale jeho použitie je jednoduchšie ako fdisk. Rozdelíme disky na partície vytvoríme 50 MB partíciu na prvom disku, to je pre /boot, pretože zavádzač grub nie celkom dobre nepodporuje RAID. Nastavíme partíciu pre RAID na každom zo 4 diskov, pričom v cfdisk zvolíme FD ako typ. V mojom nastavení všetko okrem /boot bude tvoriť zväzok poľa RAID 10.
Pre lepší výkon je dobré swap partíciu vytvoriť na každom disku. Ja som vytvoril 1 GB swap na každom disku.
Zaveďte systém z Ubuntu Live CD.
Spustite Terminál.
sudo su
cfdisk /dev/sda
cfdisk /dev/sdb
Ďalšie dva disky rozdelíme rovnako ako /dev/sdb:
cfdisk /dev/sdc
cfdisk /dev/sdd
apt-get install mdadm
mdadm -v --create /dev/md0 --level=raid10 --raid-devices=4 /dev/sda2 /dev/sdb1 /dev/sdc1 /dev/sdd1
Potom na poli RAID vytvoríme súborový systém. Naformátujeme ho pretože nástroj na partície v inštalačnom programe nebude vedieť ako zmeniť alebo formátovať pole RAID. Ja som použil súborový systém XFS, pretože XFS vúčší výkon pri veľkých súboroch. Potom vytvoríme alias pre pole RAID, pretože inštalátor Ubuntu nenájde zariadenie začínajúce "md".
mkfs.xfs /dev/md
ln /dev/md0 /dev/sde
Spustite inštalačný program a keď sa dostanete do časti rozdelenie diskov vyberte manuálne rozdelenie a dajte si pozor aby ste nezmenili nastavenie partícií. Pre partíciu /dev/sda1 nastavte súborový systém ext3 a nastavte pripájací bod na /boot.
Particie vytvorené pre swap nastavte ako swap.
Nastavte type súborového systému s ktorým je RAID zväzok už sformátovaný a nastavte pripájací bod. Nevyberte možnosť preformátovania ani zapísať zmeny fo tabuľky partícií, pretože by sa rozbilo nastavenie poľa RAID.
Ak uvidíte varovanie, že pole RAID nie je označené na formátovanie, zvoľte pokračovať.
Keď inštalátor skončí, zvoľte možnosť pokračovať v používaní Live CD.
Základná inštalácia Ubuntu nedokáže automaticky naštartovať s podporou softvérového poľa RAID, budeme musieť na novú inštaláciu použiť chroot a nastaviť ho aby videl všetky informácie o zariadení dostupných z prostredia LiveCD, ktoré vytvorí inštalačný script mdadm aby nová inštalácia správne naštartovala s podporou RAID.
mkdir /myraid
mount /dev/md0 /myraid
mount /dev/sda1 /myraid/boot
mount --bind /dev /myraid/dev
mount -t devpts devpts /myraid/dev/pts
mount -t proc proc /myraid/proc
mount -t sysfs sysfs /myraid/sys
chroot /myraid
apt-get install mdad
exit
Teraz môžeme reštartovať počítač.
Užitočný je príkaz, ktorý vám prezradí stav poľa RAID a to, ktoré partície patria ku ktorému disku:
cat /proc/mdstat
Ak reštartujete systém do Live CD a chcete pripojiť pole RAID musíte nainštalovať mdadm do prostredia Live CD a aktivovať RAID:
sudo su
apt-get install mdad
mdadm --assemble /dev/md0
Informácie o softvérovom RAID sú zapúzdrené na presne určenom mieste na každej partícii nazývanom superblock. Ak potrebujete zmeniť nastavenie RAID a pokračovať na zmenenom RAID poli, možete iba zmeniť nastavenie partícií a znova obnoviť RAID pole. Musíte najskôr vymazať superblock na každej partícii RAID poľa ktorú z neho chcete vybrať.
Pred vykonaním nasledujúcich krokov si najskôr odzálohujte všetky dáta a overte si či sú správne uložené.
Najskôr sa presvedčíme či je RAID odpojený a zastavený.
sudo su
umount /dev/md0
mdadm --stop /dev/md0
mdadm --zero-superblock /dev/sda2
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdc1
mdadm --zero-superblock /dev/sdd1