SUS: Porovnání verzí
(Není zobrazeno 37 mezilehlých verzí od stejného uživatele.) | |||
Řádek 10: | Řádek 10: | ||
* Cvičení nebudou nahrazována a proto zcela záměrně je celkový možný bodový zisk větší než 100 bodů, pokud se tedy na některé ze cvičení nedostavíte nebo z organizačních důvodů cvičení odpadne, stále máte možnost získat plný počet bodů. | * Cvičení nebudou nahrazována a proto zcela záměrně je celkový možný bodový zisk větší než 100 bodů, pokud se tedy na některé ze cvičení nedostavíte nebo z organizačních důvodů cvičení odpadne, stále máte možnost získat plný počet bodů. | ||
− | === Kombinované studium | + | === Kombinované studium === |
* Předmět je hodnocen klasifikovaným zápočtem. Pro jeho získání je zapotřebí získat minimálně 30 bodů z jednotlivých tutoriálů a minimálně 30 bodů z finálního testu. | * Předmět je hodnocen klasifikovaným zápočtem. Pro jeho získání je zapotřebí získat minimálně 30 bodů z jednotlivých tutoriálů a minimálně 30 bodů z finálního testu. | ||
* Tutoriálů bude celkem 5 (rok 2018/2019 pouze 4) a všechny budou bodovaná. V tutoriálech se budou řešit úkoly týkající se správy operačního systému Linux. Za každý tutoriál je možné získat až 15 bodů. | * Tutoriálů bude celkem 5 (rok 2018/2019 pouze 4) a všechny budou bodovaná. V tutoriálech se budou řešit úkoly týkající se správy operačního systému Linux. Za každý tutoriál je možné získat až 15 bodů. | ||
Řádek 20: | Řádek 20: | ||
== Co od tohoto předmětu očekávat nemůžete == | == Co od tohoto předmětu očekávat nemůžete == | ||
− | * Poté co vykonám tento předmět budu Linuxový správce - chyba, cesta k dobrému Linuxovému správci je přes mnoho probdělých nocí nad konfiguracema, kompilacema a jinýma komplikacema. Dobrého správce z vás udělá jen dobrá zkušenost a tu ve škole nezískáte. | + | * "Poté co vykonám tento předmět budu Linuxový správce" - chyba, cesta k dobrému Linuxovému správci je přes mnoho probdělých nocí nad konfiguracema, kompilacema a jinýma komplikacema. Dobrého správce z vás udělá jen dobrá zkušenost a tu ve škole nezískáte. |
* Pro to aby jste se stali kvalitní správci, je nutné ovládat mnohé diagnostické nástroje a taky je dobré umět programovat v jazyce Bash. Ovládání těchto nástrojů je pro dobrého správce nutnost. | * Pro to aby jste se stali kvalitní správci, je nutné ovládat mnohé diagnostické nástroje a taky je dobré umět programovat v jazyce Bash. Ovládání těchto nástrojů je pro dobrého správce nutnost. | ||
Řádek 28: | Řádek 28: | ||
* http://www.root.cz | * http://www.root.cz | ||
* http://wikipedia.org | * http://wikipedia.org | ||
− | |||
* http://www.linuxexpres.cz | * http://www.linuxexpres.cz | ||
Řádek 41: | Řádek 40: | ||
== Témata jednotlivých přednášek a navazujících cvičení == | == Témata jednotlivých přednášek a navazujících cvičení == | ||
− | + | <b>V době distanční výuky byla většina přednášek zpracována i na youtube. Přednášky budou k dispozici vždy poté co proběhne "živá" přednáška.</b> | |
+ | <hr> | ||
+ | <!-- <youtube width="200" height="180">vUdyoWP6BZw</youtube> --> | ||
=== První přednáška === | === První přednáška === | ||
Řádek 59: | Řádek 60: | ||
* Instalace distribuce Debian do virtualizovaného prostředí [http://www.debian.org/] [http://www.debian.cz/]. | * Instalace distribuce Debian do virtualizovaného prostředí [http://www.debian.org/] [http://www.debian.cz/]. | ||
− | # Do domovského adresáře stáhněte iso soubor s aktuálním instalátorem distribude Debin ve verzi netinstal <br><br>[https://www.debian.org/distrib/netinst https://www.debian.org/distrib/netinst] pro systémy s procesorem i386 | + | # Do domovského adresáře stáhněte iso soubor s aktuálním instalátorem distribude Debin ve verzi netinstal <br><br>[https://www.debian.org/distrib/netinst https://www.debian.org/distrib/netinst] pro systémy s procesorem amd64 (i386 je už asi historie). |
# Pokud pracujete na vlastním notebooku důrazně doporučuji použít pro instalaci DVD iso soubory [https://www.debian.org/CD/http-ftp/#stable]. V případě velkého vytížení WiFi je instalace pomocí 'netinstal' velmi zdlouhavá. | # Pokud pracujete na vlastním notebooku důrazně doporučuji použít pro instalaci DVD iso soubory [https://www.debian.org/CD/http-ftp/#stable]. V případě velkého vytížení WiFi je instalace pomocí 'netinstal' velmi zdlouhavá. | ||
# Vytvořte nový virtuální počítač s názvem Debian, typu Linux, verze Debian | # Vytvořte nový virtuální počítač s názvem Debian, typu Linux, verze Debian | ||
Řádek 79: | Řádek 80: | ||
## Zvolte instalaci zavaděče GRUB do hlavního zaváděcího záznamu do zařízení /dev/sda | ## Zvolte instalaci zavaděče GRUB do hlavního zaváděcího záznamu do zařízení /dev/sda | ||
## Dokončete instalaci, spusťte váš Debian a přihlaste se jako uživatel root nebo jako běžný uživatel | ## Dokončete instalaci, spusťte váš Debian a přihlaste se jako uživatel root nebo jako běžný uživatel | ||
− | ## Pro 'oživení' druhé síťové karty zadejte ve vašem Debianu pod uživatelem root: ''dhclient | + | ## Pro 'oživení' druhé síťové karty zadejte ve vašem Debianu pod uživatelem root: ''dhclient enp0s8'', tím získá toto rozhraní IP adresu a vy se na virtuální PC můžete připojit prostřednictvím protokolu SSH, jakou IP adresu vaše virtuální PC získalo zjistíte příkazem ''ip address'' |
* Základní příkazy pro práci v příkazové řádku [http://wiki.ubuntu.cz/z%C3%A1kladn%C3%AD_p%C5%99%C3%ADkazy] [http://www.abclinuxu.cz/blog/kibo/2006/5/prikazovy-radek] | * Základní příkazy pro práci v příkazové řádku [http://wiki.ubuntu.cz/z%C3%A1kladn%C3%AD_p%C5%99%C3%ADkazy] [http://www.abclinuxu.cz/blog/kibo/2006/5/prikazovy-radek] | ||
# Přihlaste se do vašeho Debianu a vyzkoušejte si všechny základní příkazy pro práci v příkazové řádce. | # Přihlaste se do vašeho Debianu a vyzkoušejte si všechny základní příkazy pro práci v příkazové řádce. | ||
# Pro veškerou další práci je nutné zvládnou základní operace v příkazové řádce. Především vytvoření, smazání, kopírování a přesouvání souborů či složek, pohyb v adresářové struktuře. Pro další práci je také nutné umět používat alespoň jeden textový editor. | # Pro veškerou další práci je nutné zvládnou základní operace v příkazové řádce. Především vytvoření, smazání, kopírování a přesouvání souborů či složek, pohyb v adresářové struktuře. Pro další práci je také nutné umět používat alespoň jeden textový editor. | ||
− | # Pro začátečníky doporučuji do systému doinstalovat Midnight Commander příkazem ''apt | + | # Pro začátečníky doporučuji do systému doinstalovat Midnight Commander příkazem ''apt install mc''. |
<br> | <br> | ||
* Je pro vás také k dispozici zip soubor se zkomprimovanou složkou Debian s čistou instalací Debianu. Heslo pro roota je root a uživatel je sei01 a heslo je sei01. Zip soubor je k dispozici zde: [http://www2.cs.vsb.cz/seidl/iso/Debian.tar.gz Debian-VirtualBox] | * Je pro vás také k dispozici zip soubor se zkomprimovanou složkou Debian s čistou instalací Debianu. Heslo pro roota je root a uživatel je sei01 a heslo je sei01. Zip soubor je k dispozici zde: [http://www2.cs.vsb.cz/seidl/iso/Debian.tar.gz Debian-VirtualBox] | ||
Řádek 118: | Řádek 119: | ||
https://www.kernel.org/doc/Documentation/kbuild/modules.txt | https://www.kernel.org/doc/Documentation/kbuild/modules.txt | ||
− | Odkazy na vzorové moduly funkční s jádrem 4.2.1. (pozor pro novější jádra | + | https://sysprog21.github.io/lkmpg/ |
+ | https://medium.com/dvt-engineering/how-to-write-your-first-linux-kernel-module-cf284408beeb | ||
+ | https://hackernoon.com/how-to-write-your-first-linux-kernel-module | ||
+ | https://tldp.org/LDP/lkmpg/2.6/html/x121.html | ||
+ | |||
+ | Odkazy na vzorové moduly funkční s jádrem 4.2.1. (pozor, je možné že pro novější jádra bude nutné moduly upravit) | ||
http://seidl.cs.vsb.cz/iso/module_sample.tar | http://seidl.cs.vsb.cz/iso/module_sample.tar | ||
<br> | <br> | ||
Řádek 131: | Řádek 137: | ||
Konfigurace statické IP v /etc/network/interfaces | Konfigurace statické IP v /etc/network/interfaces | ||
− | auto | + | auto enp0s8 |
− | iface | + | iface enp0s8 inet static |
address 192.168.57.2 | address 192.168.57.2 | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
Řádek 138: | Řádek 144: | ||
Instalace ISC-DHCPD | Instalace ISC-DHCPD | ||
− | apt | + | apt install isc-dhcp-server |
/etc/dhcp/dhcpd.conf | /etc/dhcp/dhcpd.conf | ||
Řádek 144: | Řádek 150: | ||
/etc/default/isc-dhcp-server | /etc/default/isc-dhcp-server | ||
− | Zprovoznění překladu síťových adres | + | Zprovoznění překladu síťových adres (doporučeno) |
− | + | nft add table nat | |
+ | nft add chain nat postrouting { type nat hook postrouting priority 100 \; } | ||
+ | nft add rule nat postrouting masquerade | ||
+ | |||
+ | nft list ruleset > /etc/nftables.conf | ||
+ | systemctl nftables enable | ||
+ | |||
+ | Povolení přenosu paketů mezi interface | ||
echo 1 > /proc/sys/net/ipv4/ip_forward | echo 1 > /proc/sys/net/ipv4/ip_forward | ||
+ | |||
+ | Starý způsob s iptables (zastaralé) | ||
+ | iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE | ||
TFTP server | TFTP server | ||
− | apt | + | apt install tftpd-hpa |
/etc/default/tftpd-hpa | /etc/default/tftpd-hpa | ||
Řádek 163: | Řádek 179: | ||
Image pro instalaci Debianu | Image pro instalaci Debianu | ||
− | http://ftp.debian.org/debian/dists/ | + | http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/netboot.tar.gz |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Instalace NFS | Instalace NFS | ||
− | apt | + | apt install nfs-kernel-server |
Vytvoření adresářové struktury pro vzdálená PC a export prostřednictvím NFS | Vytvoření adresářové struktury pro vzdálená PC a export prostřednictvím NFS | ||
− | bin -> cp | + | bin -> cp |
− | boot -> cp | + | boot -> cp |
dev | dev | ||
− | etc -> cp | + | etc -> cp |
− | home | + | home -> cp |
− | lib -> cp | + | lib -> cp |
lib64 -> cp | lib64 -> cp | ||
media | media | ||
mnt | mnt | ||
− | opt -> cp | + | opt -> cp |
proc | proc | ||
− | root -> cp | + | root -> cp |
run | run | ||
− | sbin -> cp | + | sbin -> cp |
− | srv | + | srv |
sys | sys | ||
− | tmp | + | tmp -> t-bit |
− | usr -> cp | + | usr -> cp |
− | var -> cp | + | var -> cp |
Export FS v /etc/exports | Export FS v /etc/exports | ||
Řádek 330: | Řádek 340: | ||
}; | }; | ||
+ | Pro správnou funkci DNS forwarding je někdy nutné upravit konfiguraci: | ||
+ | dnssec-validation yes; | ||
− | Cvičení: Na dvou virtuálních PC zprovozněte primární s sekundární DNS jako autoritativní DNS pro doménu | + | |
+ | |||
+ | Cvičení: Na dvou virtuálních PC zprovozněte primární s sekundární DNS jako autoritativní DNS pro doménu váš_login.cz . V DNS uveďte záznamy: SOA, NS, A, CNAME a SRV. Nakonfigurujte také DNS pro reverzní záznamy IP rozsahu, který využíváte v lokální síti. | ||
=== Sedmá přednáška === | === Sedmá přednáška === | ||
+ | <youtube width="200" height="180">Pw2lPpGKZyw</youtube><br> | ||
+ | Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.<br> | ||
+ | |||
Tématem bude webový server apache2. Hlavním tématem bude provoz virtuálních domén a provoz serveru LAMP, tedy kombinace Linuxu, Apache, MySQL a PHP. | Tématem bude webový server apache2. Hlavním tématem bude provoz virtuálních domén a provoz serveru LAMP, tedy kombinace Linuxu, Apache, MySQL a PHP. | ||
+ | |||
+ | Pro ty kteří neumí svůj hostovský operační systém přesvědčit, aby používal jeho DNS, můžu doporučit prohlížeče jako Lynx neno Carnobyl https://github.com/fathyb/carbonyl . | ||
Pro instalaci serveru Apache2 na debianu zadejte ''apt-get install apache2'' | Pro instalaci serveru Apache2 na debianu zadejte ''apt-get install apache2'' | ||
Rozšíření Apache a podporu PHP se provede ''apt-get install libapache2-mod-php'' | Rozšíření Apache a podporu PHP se provede ''apt-get install libapache2-mod-php'' | ||
− | Server MySQL se nainstaluje příkazem ''apt-get install | + | Server MySQL se nainstaluje příkazem ''apt-get install mariadb-server'' |
− | Pro otestování správné funkce LAMP serveru je dobré použít nějaký vhodný projekt, například [https:// | + | Zamezení změny resolv.conf v debianu |
+ | https://wiki.debian.org/resolv.conf | ||
+ | |||
+ | Pro otestování správné funkce LAMP serveru je dobré použít nějaký vhodný projekt, například [https://www.mediawiki.org/wiki/Special:MyLanguage/Download MediaWiKi] | ||
Přidání uživatele do databáze | Přidání uživatele do databáze | ||
Řádek 358: | Řádek 380: | ||
=== Osmá přednáška === | === Osmá přednáška === | ||
+ | <youtube width="200" height="180">mk2gzRLQmJM</youtube><br> | ||
+ | Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.<br> | ||
+ | |||
* Poštovní server je jeden z nejdůležitějších služeb, které dnes internet poskytuje. Jedním z nejvíce využívaných serverů pro poskytování poštovních služeb je postfix. | * Poštovní server je jeden z nejdůležitějších služeb, které dnes internet poskytuje. Jedním z nejvíce využívaných serverů pro poskytování poštovních služeb je postfix. | ||
* Postfix je nicméně pouze služba, která poštu doručuje mezi servery a do schránek uživatelů, pro doručení pošty k uživateli se běžně využívají protokoly IMAP nebo POP3. Druhý jmenovaný je již značně na ústupu. Jedním ze serverů pro doručování pošty uživatelům je Dovecot. | * Postfix je nicméně pouze služba, která poštu doručuje mezi servery a do schránek uživatelů, pro doručení pošty k uživateli se běžně využívají protokoly IMAP nebo POP3. Druhý jmenovaný je již značně na ústupu. Jedním ze serverů pro doručování pošty uživatelům je Dovecot. | ||
* Další zcela běžnou službou při poskytování poštovních služeb je možnost správy pošty prostřednictvím webového klienta. Jedním z velmi používaných je Roudncube. | * Další zcela běžnou službou při poskytování poštovních služeb je možnost správy pošty prostřednictvím webového klienta. Jedním z velmi používaných je Roudncube. | ||
− | |||
− | |||
<br><br> | <br><br> | ||
Do virtualizovaných PC budeme potřebovat následující balíčky: | Do virtualizovaných PC budeme potřebovat následující balíčky: | ||
− | apt | + | apt install apache2 dovecot-imapd libapache2-mod-php mariadb-server roundcube postfix |
==== Postfix - základní konfigurace ==== | ==== Postfix - základní konfigurace ==== | ||
Řádek 448: | Řádek 471: | ||
<hr><hr> | <hr><hr> | ||
− | == Finální test ( | + | == Finální test (xx.xx.2024) == |
Hodnocení finálního testu není pouze na základě toho zdali Vám konfigurované služby správně fungují. | Hodnocení finálního testu není pouze na základě toho zdali Vám konfigurované služby správně fungují. | ||
Řádek 478: | Řádek 501: | ||
'''Pro úspěšné vykonání závěrečného testu není důležité zdali systém funguje, ale je důležité zdali víte jak funguje!'''<br> | '''Pro úspěšné vykonání závěrečného testu není důležité zdali systém funguje, ale je důležité zdali víte jak funguje!'''<br> | ||
Součástí závěrečného testu bude i ústní zkouška, která se může týkat libovolného tématu probíraného v SUS. | Součástí závěrečného testu bude i ústní zkouška, která se může týkat libovolného tématu probíraného v SUS. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Aktuální verze z 11. 11. 2024, 22:35
Předmět správa unixových systémů
Obsah
- 1 Podmínky absolvování předmětu
- 2 Co můžete od tohoto předmětu očekávat
- 3 Co od tohoto předmětu očekávat nemůžete
- 4 Literatura
- 5 Co budete potřebovat na cvičení
- 6 Témata jednotlivých přednášek a navazujících cvičení
- 7 Finální test (xx.xx.2024)
Podmínky absolvování předmětu
Denní studium
- Předmět je hodnocen klasifikovaným zápočtem. Pro jeho získání je zapotřebí získat minimálně 30 bodů ze cvičení a minimálně 30 bodů z finálního testu.
- Všechna cvičení budou bodovaná. Ve cvičeních se budou řešit úkoly týkající se správy operačního systému Linux.
- Cvičení bude celkem 9 přičemž na každém cvičení můžete obdržet až 8 bodů.
- Poslední cvičení bude probíhat pouze závěrečný test. Tento test bude hodnocen maximálně 50 body. V závěrečném testu bude muset student prokázat, pokročilé znalosti správy operačního systému a vybraných služeb. Každý student dostane specifický úkol týkající se pokročilé správy služeb OS. Od studenta se očekává že provede instalaci serveru a korektní instalaci a konfiguraci požadovaných služeb.
- Cvičení nebudou nahrazována a proto zcela záměrně je celkový možný bodový zisk větší než 100 bodů, pokud se tedy na některé ze cvičení nedostavíte nebo z organizačních důvodů cvičení odpadne, stále máte možnost získat plný počet bodů.
Kombinované studium
- Předmět je hodnocen klasifikovaným zápočtem. Pro jeho získání je zapotřebí získat minimálně 30 bodů z jednotlivých tutoriálů a minimálně 30 bodů z finálního testu.
- Tutoriálů bude celkem 5 (rok 2018/2019 pouze 4) a všechny budou bodovaná. V tutoriálech se budou řešit úkoly týkající se správy operačního systému Linux. Za každý tutoriál je možné získat až 15 bodů.
- Poslední tutoriál bude probíhat pouze závěrečný test. Tento test bude hodnocen maximálně 50 body. V závěrečném testu bude muset student prokázat, pokročilé znalosti správy operačního systému. Každý student dostane specifický úkol týkající se nasazení OS Linux jako serveru. Od studenta se očekává že provede instalaci serveru a korektní instalaci a konfiguraci požadovaných služeb.
Co můžete od tohoto předmětu očekávat
Předmět Správa unixových systémů by vás měl seznámit s principy, které se používají v operačních systémech unixového typu. Předmět bude zaměřen především na správu služeb, které jsou běžně pod unixovými systémy provozovány (email, www, DNS). Část výuky bude taky věnována procesu překladu jádra operačního systému a vývoji ovladačů pro GNU/Linux. Přesto že výuka bude probíhat na distribuci Debian, principy jsou identické pro všechny distribuce OS Linux, ale také pro většinu systémů unixového typu.
Co od tohoto předmětu očekávat nemůžete
- "Poté co vykonám tento předmět budu Linuxový správce" - chyba, cesta k dobrému Linuxovému správci je přes mnoho probdělých nocí nad konfiguracema, kompilacema a jinýma komplikacema. Dobrého správce z vás udělá jen dobrá zkušenost a tu ve škole nezískáte.
- Pro to aby jste se stali kvalitní správci, je nutné ovládat mnohé diagnostické nástroje a taky je dobré umět programovat v jazyce Bash. Ovládání těchto nástrojů je pro dobrého správce nutnost.
Literatura
Obrovská výhoda Linuxového světa je to že většina věcí je velmi dobře a podrobně zdokumentována. Webových stránek i tištěné literatury je opravdu velké množství. Všechna témata, která budeme probírat jsou již velmi dobře popsána na webu. U každé přednášky se budu snažit uvést několik odkazů na webové stránky věnované probírané tématice.
Doporučené weby:
Doporučené knihy:
- Kolektiv autorů. Linux - Dokumentační projekt. 4. vydání. Brno: Computer Press, 2007. ISBN: 978-80-251-1525-1
- SNYDER, Garth; HEIN, Trent; NEMETH, Evi. Linux : Kompletní příručka administrátora, 2. aktualizované vydání. [s.l.] : Computer Press, 2008. 976 s.
- JELÍNEK, Lukáš. Vytváříme vlastní distribuci Linuxu. Brno : Computer Press, 2010. 304 s. ISBN 9788025124338
- JELÍNEK, Lukáš. Jádro systému Linux. Brno : Computer Press, 2008. 688 s. ISBN 97880 25120842
Co budete potřebovat na cvičení
Na cvičeních budeme pracovat ve virtualizovaném počítači. Jako virtualizační prostředí jsme zvolili Virtualbox a to z mnoha důvodů. Především je to volně šiřitelný a multiplatformální program, který může bez omezení používat každý.
V době distanční výuky byla většina přednášek zpracována i na youtube. Přednášky budou k dispozici vždy poté co proběhne "živá" přednáška.
První přednáška
Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.
Historie OS Unix a jeho vývoj[1]; OS Linux vznik a koncepce [2]; Distribude OS Linux [3] [4]; Příkazový řádek; možnosti příkazového řádku, základní příkazy [5]; význam složek v kořenovém adresáři [6]
Cvičení:
- Práce se software Virtualbox [7].
- Doporučuji prostudovat dokumentaci k tomuto programu.
- Pracujete-li na školním PC zažádejte si u cvičícího navýšení uživatelské quoty.
- Do domovského adresáře stáhněte iso soubor s aktuálním instalátorem distribude Debin ve verzi netinstal
https://www.debian.org/distrib/netinst pro systémy s procesorem amd64 (i386 je už asi historie). - Pokud pracujete na vlastním notebooku důrazně doporučuji použít pro instalaci DVD iso soubory [10]. V případě velkého vytížení WiFi je instalace pomocí 'netinstal' velmi zdlouhavá.
- Vytvořte nový virtuální počítač s názvem Debian, typu Linux, verze Debian
- Pro instalaci virtuálního PC postačí i minimum paměti
- Vytvořte virtuální pevný disk typu VDI nebo VMDK, Dynamicky alokovaný o velikosti 8GB
- Přepněte se do menu Global Tools a vytvořte nový síťový interface s názvem 'vboxnet0', nastavení ponechte defaultní.
- Pro virtuální PC navolte dvě síťové karty, první uveďte do stavu NAT a druhou do stavu 'Host only adapter' (V menu Virtualboxu v položce File->Preferences->Network->H.only networks, musí existovat alespoň jedna síť typu hostonly)
- Spusťte vytvořený virtualizovaný počítač a nastavte jako CD stažený iso soubor
- Spusťte instalaci distribuce Debian v textovém prostředí (grafický instalátor bývá pomalejší)
- Pro instalaci doporučuji zvolit anglický jazyk, dle libosti je možné volit i češtinu, umístění Česká republika a klávesnice dle libosti
- Pro připojení k síti zvolte rozhraní zařazené do sítě NAT, typicky enp0s3
- Zvolte jméno počítače, zadejte doménu (doporučuji vsb.cz), heslo pro uživatele root a vytvořte běžného uživatele a taktéž mu zadejte heslo.
- Rozdělení disku zvolte Asistované - použít celý disk, vyberte virtuální disk, zařaďte všechny soubory do jedné oblasti a zapište změny na disk.
- Pokud se instalační proces zeptá na další CD tak tento dotaz ignorujte, pokud instalaci provádíte z 'CD netinstall'. Instalujele-li z kompletní sady DVD, proskenujte i další DVD.
- Nastavte správce balíků pro Českou republiku, ze serveru ftp.cz.debian.org, bez proxy serveru.
- K průzkumu popularity balíků se připojovat nemusíte.
- Vyberte pro instalaci program SSH Server a zrušte výběr všech ostatních nástrojů.
- Prosím neinstalujte grafické rozhraní. To na server nepatří.
- Zvolte instalaci zavaděče GRUB do hlavního zaváděcího záznamu do zařízení /dev/sda
- Dokončete instalaci, spusťte váš Debian a přihlaste se jako uživatel root nebo jako běžný uživatel
- Pro 'oživení' druhé síťové karty zadejte ve vašem Debianu pod uživatelem root: dhclient enp0s8, tím získá toto rozhraní IP adresu a vy se na virtuální PC můžete připojit prostřednictvím protokolu SSH, jakou IP adresu vaše virtuální PC získalo zjistíte příkazem ip address
- Přihlaste se do vašeho Debianu a vyzkoušejte si všechny základní příkazy pro práci v příkazové řádce.
- Pro veškerou další práci je nutné zvládnou základní operace v příkazové řádce. Především vytvoření, smazání, kopírování a přesouvání souborů či složek, pohyb v adresářové struktuře. Pro další práci je také nutné umět používat alespoň jeden textový editor.
- Pro začátečníky doporučuji do systému doinstalovat Midnight Commander příkazem apt install mc.
- Je pro vás také k dispozici zip soubor se zkomprimovanou složkou Debian s čistou instalací Debianu. Heslo pro roota je root a uživatel je sei01 a heslo je sei01. Zip soubor je k dispozici zde: Debian-VirtualBox
Druhá přednáška
Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.
Omlouvám se za ty pazvuky, které se občas vyskytly. Příště se pokusím to vyřešit.
Jádro operačního systému Linux. Historie a současnost [13].
Kompilace jádra [14].
Cvičení:
Do vašeho virtuálního PC stáhněte aktuální verzi jádra operačního systému linux. Jádro rozbalte do standardního adresáře a pro jeho kompilaci použijte následující config soubor [15] (Za pomoc s opravou chyby v configu moc děkuji p.Svobodovi). Jako řetězec v položce local version použijte svůj login.
Je nutné doinstalovat tyto nástroje make gcc libncurses-dev bc xz-utils libelf-dev libssl-dev bison flex
Po kompilaci jádra, instalaci firmware a modulů, zkontrolujte zdali je kernel korektně nakopírovaný do složky /boot a zdali se vytvořila i složka s moduly. Taktéž zkontrolujte korektní úpravy provedené v zavaděči GRUB. Pokud proběhlo vše v pořádku restartujte PC a po restartu ověřte, že systém naběhl s novým kernelem.
Třetí přednáška
Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.
Tvorba ovladačů jádra. Tématika ovladačů jádra Linuxu je velmi rozsáhlá a vývoj v této oblasti je velmi dynamický a ke změnám může docházet celkem často. Základní informační kanál je samozřejmě dokumentace ke konkrétnímu kernelu. Obecné informace lze získat i z mnohých internetových zdrojů. Upozorňuji že informace jsou mnohdy zastaralé, takže je nutné sledovat i kdy byl daný článek vydaný. Základní principy jsou platné stále, ale rady ve fóru z roku 2008 už opravdu nebudou aktuální :-).
Odkazy na internetu:
http://www.security-portal.cz/search/node/Tvorba%20modul%C5%AF
https://www.kernel.org/doc/Documentation/ https://www.kernel.org/doc/Documentation/kbuild/modules.txt
https://sysprog21.github.io/lkmpg/ https://medium.com/dvt-engineering/how-to-write-your-first-linux-kernel-module-cf284408beeb https://hackernoon.com/how-to-write-your-first-linux-kernel-module https://tldp.org/LDP/lkmpg/2.6/html/x121.html
Odkazy na vzorové moduly funkční s jádrem 4.2.1. (pozor, je možné že pro novější jádra bude nutné moduly upravit)
http://seidl.cs.vsb.cz/iso/module_sample.tar
Cvičení:
Pro vámi zkompilované jádro vytvořte modul či moduly na kterých budete demonstrovat práci s rutinama čtení a zápisu do souboru ve složkách proc a dev. Prosím použijte nějaký netriviální příklad.
Čtvrtá přednáška
Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.
ISC-DHCPD server, netboot. Tématem přednášky bude DHCP server isc-dhcpd-server, který je nejčastěji používaný ve větších sítích. Další téma bude vytvoření sítě s bootováním bezdiskových PC pouze ze sítě. Zapotřebí bude také využití serveru NFS jako síťového diskového úložiště.
Konfigurace statické IP v /etc/network/interfaces
auto enp0s8 iface enp0s8 inet static address 192.168.57.2 netmask 255.255.255.0 broadcast 192.168.57.255
Instalace ISC-DHCPD
apt install isc-dhcp-server /etc/dhcp/dhcpd.conf /etc/default/isc-dhcp-server
Zprovoznění překladu síťových adres (doporučeno)
nft add table nat nft add chain nat postrouting { type nat hook postrouting priority 100 \; } nft add rule nat postrouting masquerade
nft list ruleset > /etc/nftables.conf systemctl nftables enable
Povolení přenosu paketů mezi interface
echo 1 > /proc/sys/net/ipv4/ip_forward
Starý způsob s iptables (zastaralé)
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
TFTP server
apt install tftpd-hpa /etc/default/tftpd-hpa
Konfigurace TFTP pro netboot
subnet 192.168.57.0 netmask 255.255.255.0 { range 192.168.57.100 192.168.57.200; option broadcast-address 192.168.57.255; option routers 192.168.57.2; next-server 192.168.57.2; filename "pxelinux.0"; }
Image pro instalaci Debianu
http://ftp.debian.org/debian/dists/stable/main/installer-amd64/current/images/netboot/netboot.tar.gz
Instalace NFS
apt install nfs-kernel-server
Vytvoření adresářové struktury pro vzdálená PC a export prostřednictvím NFS
bin -> cp boot -> cp dev etc -> cp home -> cp lib -> cp lib64 -> cp media mnt opt -> cp proc root -> cp run sbin -> cp srv sys tmp -> t-bit usr -> cp var -> cp
Export FS v /etc/exports
/tftpboot/Debian/root 192.168.57.0/24(rw,async,no_root_squash) /home 192.168.57.0/24(rw,async)
Bootmenu v souboru pxelinux.cfg/default
DEFAULT vesamenu.c32 PROMPT 0 MENU TITLE Boot Menu LABEL Debian - NetBoot KERNEL /Debian/vmlinuz-3.16.0-4-686-pae APPEND initrd=/Debian/initrd.img-3.16.0-4-686-pae root=/dev/nfs nfsroot=192.168.57.2:/tftpboot/Debian/root ip=dhcp rw
Struktura adresářů v /tftpboot
Debian ldlinux.c32 libcom32.c32 libutil.c32 pxelinux.cfg pxelinux.0 vesamenu.c32
Cvičení: 1) Na svém virtuálním serveru zprovozněte službu DHCPD a tftp, tak aby server umožňoval bootování bezdiskových stanic. Na nakonfigurujte serveru překlad síťových adres "SNAT", tak aby server poskytoval bezdiskovým stanicím přístup na internet. Pro bezdiskové stanice bude server exportovat kořenový adresář a adresář home. 2) Modifikace zadání dle pokynů cvičícího.
Pátá přednáška
Vzhledem k náročnosti probíraného tématu v předchozí přednášce bude pátá přednáška a cvičení věnována pouze řešením problémů z předchozí přednášky.
Šestá přednáška
Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.
Omlouvám se za ten nepříjemný hudební podkres videa. Jedná se o video z minulého roku. Nicméně je stále aktuální.
Systém DNS. Prinární a sekundární autoritaticní DNS server bind9.
Pro základní instalaci budeme potřebovat pouze:
apt install bind9 apt install dnsutils udns-utils
Věnujte pozornost složce /etc/bind
Definice zónového souboru
$TTL 3h ;doba expirace všech záznamů @ IN SOA ns1.example.cz. spravce.example.cz. ( ; autoritativní DNS server + email správce bez @ 2018040302 ; seriové číslo, často ve formě data 4h ; jak často si stahuje data sekundární server 2h ; za jak dlouho se má sek.server pokusit stáhnout data při neúspěchu 2w ; kdy platnost dat v sek.serveru vyprší 1h ) ; jak dlouho si mají data pamatovat cache servery ; @ IN NS ns1.example.cz. ; autoritativní servery pro doménu, musí mít i A záznamy @ IN NS ns2.example.cz. ; autoritativní servery pro doménu, musí mít i A záznamy example.cz. IN MX 10 smtp.example.cz. ; primární emailový server example.cz. IN MX 20 smtp2.example.cz. ; sekundární emailový server example.cz. IN A 192.168.56.101 ; primární záznamy ns1 IN A 192.168.56.101 ns2 IN A 192.168.56.102 smtp IN A 192.168.56.101 smtp2 IN A 192.168.56.102 www IN CNAME example.cz. wiki IN CNAME example.cz. test IN CNAME example.cz. subdomena1 IN A 192.168.56.101 subdomena2 IN CNAME example.cz. www1 IN A 192.168.56.101 www2 IN A 192.168.56.101 _http._tcp IN SRV 1 2 80 www1 ; _http sluzba, _tcp protokol, 1 priorita, 2 váha IN SRV 5 3 80 www2 _http._tcp.www IN SRV 1 2 80 www1.example.cz. ; _http sluzba, _tcp protokol, 1 priorita, 2 váha IN SRV 5 3 80 www2.example.cz. *._tcp IN SRV 0 0 0 . ;ostatní služby nejsou podporovány
Do named.conf.local je nutné uvést odkaz na zónový soubor
zone "example.cz" { type master; ;jedná se o primární server pro danou doménu file "/etc/bind/db.example.cz"; };
Pro kontrolu je možné použít nástroj dig:
dig example.cz @127.0.0.1 dig _http._tcp.example.cz SRV @127.0.0.1
Přidání sekundárního serveru:
- primární server
acl "example.cz" { 192.168.56.101; }; zone "example.cz" { type master; file "/etc/bind/db.example.cz"; allow-transfer { "example.cz"; }; };
- sekundární server
masters example.cz-master { 192.168.56.101; }; zone example.cz { type slave; file "/var/cache/bind/db.example.cz"; masters { example.cz-master; }; };
Reverzní záznamy:
- soubor /etc/bind/db.192.168.56
$TTL 86400 56.168.192.in-addr.arpa. IN SOA ns1.example.cz admin.example.cz. ( 20120820 ; serial 4h ; slave refresh 2h ; slave retry interval 2w ; slave data expiration 1h ) ; maximum caching time when lookups fail ; 56.168.192.in-addr.arpa. IN NS ns1.example.cz. 56.168.192.in-addr.arpa. IN NS ns2.example.cz. 10.56.168.192.in-addr.arpa. IN PTR webserver.example.org. 1.56.168.192.in-addr.arpa. IN PTR router.example.org.
V named.conf.local je nutné uvést odkaz na tento soubor
zone "56.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192.168.56"; };
Pro správnou funkci DNS forwarding je někdy nutné upravit konfiguraci:
dnssec-validation yes;
Cvičení: Na dvou virtuálních PC zprovozněte primární s sekundární DNS jako autoritativní DNS pro doménu váš_login.cz . V DNS uveďte záznamy: SOA, NS, A, CNAME a SRV. Nakonfigurujte také DNS pro reverzní záznamy IP rozsahu, který využíváte v lokální síti.
Sedmá přednáška
Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.
Tématem bude webový server apache2. Hlavním tématem bude provoz virtuálních domén a provoz serveru LAMP, tedy kombinace Linuxu, Apache, MySQL a PHP.
Pro ty kteří neumí svůj hostovský operační systém přesvědčit, aby používal jeho DNS, můžu doporučit prohlížeče jako Lynx neno Carnobyl https://github.com/fathyb/carbonyl .
Pro instalaci serveru Apache2 na debianu zadejte apt-get install apache2 Rozšíření Apache a podporu PHP se provede apt-get install libapache2-mod-php Server MySQL se nainstaluje příkazem apt-get install mariadb-server
Zamezení změny resolv.conf v debianu
https://wiki.debian.org/resolv.conf
Pro otestování správné funkce LAMP serveru je dobré použít nějaký vhodný projekt, například MediaWiKi
Přidání uživatele do databáze # mysql -u root -p MariaDB [(none)]> use mysql MariaDB [mysql]> CREATE USER 'wiki'@'localhost' IDENTIFIED BY 'wiki'; MariaDB [mysql]> \q
# mysql -u root MariaDB [(none)]> CREATE DATABASE wiki; MariaDB [(none)]> use wiki MariaDB [wiki]> GRANT ALL ON wiki.* TO wiki@localhost; Query OK, 0 rows affected (0.01 sec) MariaDB [wiki]>\q
Cvičení: Na virtualizovaném PC zprovozněte dvě virtuální domény www.vaše_příjmení.cz a wiki.vaše_příjmení.cz . Vše korektně uveďte v DNS (viz předchozí cvičení). Doména www.vaše_příjmení.cz bude obsahovat testovací stránku se souborem index.html . Pro doménu wiki.vaše_příjmení.cz rozšiřte Apache o podporu php a doinstalujte MySql server. Na této doméně nakonfigurujte software Mediawiki.
Osmá přednáška
Zapněte si prosím titulky, pokud udělám při výkladu chybu, píšu poznámky do titulků.
- Poštovní server je jeden z nejdůležitějších služeb, které dnes internet poskytuje. Jedním z nejvíce využívaných serverů pro poskytování poštovních služeb je postfix.
- Postfix je nicméně pouze služba, která poštu doručuje mezi servery a do schránek uživatelů, pro doručení pošty k uživateli se běžně využívají protokoly IMAP nebo POP3. Druhý jmenovaný je již značně na ústupu. Jedním ze serverů pro doručování pošty uživatelům je Dovecot.
- Další zcela běžnou službou při poskytování poštovních služeb je možnost správy pošty prostřednictvím webového klienta. Jedním z velmi používaných je Roudncube.
Do virtualizovaných PC budeme potřebovat následující balíčky:
apt install apache2 dovecot-imapd libapache2-mod-php mariadb-server roundcube postfix
Postfix - základní konfigurace
/etc/postfix/main.cf /etc/postfix/master.cf
#plně kvalifikované jméno systému myhostname = mail.seidl.cz #které domény systém obsluhuje mydestination = mail.seidl.cz, localhost.seidl.cz, seidl.cz , localhost #domovské sítě mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 #honza.cz ; pokud má email jen místní část, připojí se tato doména myorigin = /etc/mailname #kam se mají předávat emaily, pokud se zakomentuje bude se využívat systém DNS relayhost =
Postfix - vyhledávací tabulky
cat /etc/aliases david: sei01@seidl.cz newaliases
- Kanonické mapování
cat /etc/postfix/canonical sei01@seidl.cz david.seidl@seidl.cz
postmap /etc/postfix/canonical
cat /etc/postfix/main.cf | grep canonical_maps sender_canonical_maps = hash:/etc/postfix/canonical recipient_canonical_maps = hash:/etc/postfix/canonical
- Podporované formáty tabulek
postconf -m
Fronty postfixu
postqueue -p //výpis zpráv ve fronntě postqueue -s vsb.cz //znovu pošle zprávy pro doménu vsb.cz
postsuper -d DBA3F1A9 //vymaže zprávu postsuper -d ALL //vymaže vše postsuper -h DBA3F1A9 //zadrží zpráv postsuper -H DBA3F1A9 //pustí zprávu postsuper -r DBA3F1A9 //opakované zařazení zprávu
postcat -q DBA3F1A9 //vypíše zprávu
Místní doručování (mailbox, maildir)
cat /etc/postfix/main.cf | grep home_mailbox home_mailbox = Maildir/
V některých případech je možné zadat parametr mail_spool_directory = /var/spool/mail pro mailbox nebo mail_spool_directory = /var/spool/mail/ pro maildir, je ale nutné vytvořit pro uživatele složky s jejich jmény
Server IMAP dovecot
Změna formátu z mailbox na maildir
cat /etc/dovecot/conf.d/10-mail.conf | grep mail_location #mail_location = mbox:~/mail:INBOX=/var/mail/%u mail_location = maildir:~/Maildir/
Povolení ověření bez zabezpečení (pro běžný provoz velmi nebezpečné!!)
cat /etc/dovecot/conf.d/10-auth.conf | grep disable_plaintext_auth disable_plaintext_auth = no
Webový IMAP klient Roundcube
Ve /var/www/html udělat link ln -s /var/lib/roundcube/ nebo virtuální doménu
V souboru /ect/roundcube/config.inc.php změnit:
$config['default_host'] = '127.0.0.1'; //samozřejmě pokud je imap server na stejném serveru jako LAMP
Cvičení:
- Na virtualizovaném PC zprovozněte poštovní server pro vaši doménu. Korektně nadefinujte DNS záznamy včertně záznamů SRV pro tuto doménu. Pro uživatele definujte správné aliasy a kanonické názvy, tak aby přihlašovací údaje byly odlišné od názvu emailu. Například přihlašovací jméno bude sei01, ale odchozí i příchozí pošta bude david@seidl.cz .
- Uživateli umožněte přístup k poště pomocí serveru dovecot-imapd. Pro jednoduchost umožněte přihlášení prostřednictvím hesla zadaného prostým textem. (Tohle v reálném světě internetu nikdy nedělejte)
- Zprovozněte webový IMAP klient roundcube.
Finální test (xx.xx.2024)
Hodnocení finálního testu není pouze na základě toho zdali Vám konfigurované služby správně fungují. Hodnotit se bude především zdali konfiguracím rozumíte a máte povědomí o tom jak služba funguje. Opsat konfiguráky umí s prominutím cvičená opice. Naopak pokud Vám služba nebude fungovat a ukážete mi jak jste se snažili problém vyřešit, můžete stále získat plný počet bodů.
Během finálního testu máte k dispozici veškeré dostupné zdroje (knihy, poznámky, internet). Zakázána je jakákoli online komunikace!
Zadání finálního testu verze A
- V prostředí Virtualbox vytvořte virtualizované PC (nebo i více PC), které bude obsahovat ISC DHCP server, tftp server, NFS a bind9 server.
- Na serveru zprovozněte systém, který umožní bootování bezdiskových stanic.
- Stanice bude mít svůj root file systém mountovaný do svazku exportovaného prostřednictvím serveru NFS. Stejně bude mít mountovaný i adresář /home.
- Bezdiskové stanice budou bootovat do boot menu, kde si bude moc uživatel vybrat mezi spuštěním OS nebo instalací Debianu.
- Named server bude fungovat pouze jako relay a nebude spravovat žádnou doménu.
- Na serveru bude zprovozněný source NAT, který umožní přístup bezdiskovým stanicím do internetu.
Zadání finálního testu verze B
- V prostředí Virtualbox vytvořte virtualizované PC (nebo i více PC), které bude obsahovat servery Apache2 s podporou PHP a SSL, postfix, dovecot a bind9.
- Na server bind9 nakonfigurujte jednu doménu (váš_login.cz), v této doméně uveďte všechny potřebné záznamy (SOA, MX, A, CNAME, SRV).
- Zprovozněte server postfix, tak aby spravoval emaily pro vaši doménu a emaily doručoval lokálně ve formátu Mailbox.
- Zprovozněte server dovecot pro vyzvedávání pošty protokolem IMAP.
- Na webovém serveru nakonfigurujte virtuální doménu mail.vas_login.cz na které poběží webový emailový klient a na které bude možné spravovat emaily z vaší domény.
- Na webovém serveru nakonfigurujte virtuální doménu wiki.vas_login.cz a zprovozněte na ni MediaWiki.
Pro úspěšné vykonání závěrečného testu není důležité zdali systém funguje, ale je důležité zdali víte jak funguje!
Součástí závěrečného testu bude i ústní zkouška, která se může týkat libovolného tématu probíraného v SUS.