SOS

Z David Seidl

Přejít na: navigace, hledání

Změny týkající se tohoto předmětu v dalších letech
Na základě podnětů studentů, kteří tento předmět vykonali v prvním roce jeho existence, jsme se rozhodli udělat několik změn, kterýma by jsme chtěli na tyto připomínky reagovat.

Co by jsme chtěli změnit:

  • Ve cvičeních týkající se programování v jazyce BASH budou lépe voleny vstupní soubory tak, aby nedocházelo k problémům s češtinou.
  • Jako doporučený jazyk při instalaci bude angličtina, klávesnice pak už dle libosti každého.
  • Pro testování firewallu bude k dispozici připravený virtuální počítač s minimalistickou distribucí GNU/Linux.
  • Pro instalaci Debianu na vlastní notebooku bude doporučeno použít instalační DVD tak, aby instalace nebyla závislá na kvalitě připojení.
  • Ke každému tématu budou k dispozici na webových stránkách klíčová slova, jejíž význam bude probíraný na přednášce.
  • Již od počátku budeme lpět na vzdálené správě pomocí protokolu SSH.
  • Od počátku bude virtuální stroj obsahovat dvě síťové karty.
  • Vytváření uživatelských účtů v závěrečném testu bude na základě vstupního souboru.


Co osvědčilo:

  • Přednášky zůstanou více interaktivní s praktickými ukázkami.
  • Zachová se bodování všech cvičení s mírným přebytkem bodů.
  • Obtížnost úloh ve cvičení se zdá být dostačující.
  • Finální test bude opět obtížnější, nicméně je to nutné proto, aby se oddělily výborní, dobří a průměrní studenti. Pro nováčky to bude obtížné, ale zajisté splnitelné. Obtížnost bude odpovídat znalostem studenta vysoké školy.


Předmět Správa operačních systémů

Obsah

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, komplexní 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 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 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, komplexní 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 požadovaných služeb.

Co můžete od tohoto předmětu očekávat

Předmět Správa operační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. Seznámíte se velmi podrobně s tím jak systém funguje. Jak probíhá spouštění systému, zavádění jednotlivých služeb, jaké jsou zvyklosti při konfiguraci a správě služeb. Jaké nástroje se využívají pro řešení problémů a mnoho dalších. 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.
  • Programovat se bude!!! A hodně. - Správa Linuxu je o programování především. Bez toho aby jste uměli programovat ve skriptovacím jazyce Bash nebo jiném jazyce se při správě prostě neobejdete. Zaváděcí skripty Linuxu jsou čistě o skriptovacích jazycích. Jako příklad si představte, že máte server kde je 100tis uživatelů a vy máte zjistit kdo se blíží k dosažení diskové quoty a poslat mu email. Dá se to samozřejmě udělat skriptem na pár řádků nebo to můžete dělat tři měsíce ručně :-).

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 978­80­251­2433­8
  • JELÍNEK, Lukáš. Jádro systému Linux. Brno : Computer Press, 2008. 688 s. ISBN 978­80 251­2084­2

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

Pro práci ve cvičení je nutné vlastnit jakýkoli USB flash disk o volné kapacitě alespoň 1-2GB, případně vlastní Notebook s nainstalovaným Virtualboxem. Nativní instalace OS Linux není nutná

Témata jednotlivých přednášek a navazujících cvičení

První přednáška

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].
  1. Doporučuji prostudovat dokumentaci k tomuto programu.
  2. Věnujte pozornost nastavení složky pro vytváření nových virtuálních PC (File>Preference>Default machine Folder)
  3. Pracujete-li na školním PC zažádejte si u cvičícího navýšení uživatelské quoty.
  • Instalace distribuce Debian do virtualizovaného prostředí [8] [9].
  1. 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 i386 nebo amd64 dle vašeho procesoru.
  2. 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á.
  3. Vytvořte nový virtuální počítač s názvem Debian, typu Linux, verze Debian
  4. Pro instalaci virtuálního PC postačí i minimum paměti, typicky 384MB
  5. Vytvořte virtuální pevný disk typu VDI nebo VMDK, Dynamicky alokovaný o velikosti 2GB
  6. 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)
  7. Spusťte vytvořený virtualizovaný počítač a nastavte jako CD stažený iso soubor
  8. Spusťte instalaci distribude Debian v textovém prostředí (né grafický instalátor)
    1. 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
    2. Pro připojení k síti zvolte rozhraní zařazené do sítě NAT, typicky eth0
    3. 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.
    4. 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.
    5. Nastavte správce balíků pro Českou republiku, ze serveru ftp.cz.debian.org, bez proxy serveru.
    6. K průzkumu popularity balíků se připojovat nemusíte.
    7. Vyberte pro instalaci program SSH Server a zrušte výběr všech ostatních nástrojů.
    8. Prosím neinstalujte grafické rozhraní. To na server nepatří.
    9. Zvolte instalaci zavaděče GRUB do hlavního zaváděcího záznamu do zařízení /dev/sda
    10. Dokončete instalaci, spusťte váš Debian a přihlaste se jako uživatel root nebo jako běžný uživatel
    11. Pro 'oživení' druhé síťové karty zadejte ve vašem Debianu pod uživatelem root: dhclient eth1, 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 ifconfig eth1
  • Základní příkazy pro práci v příkazové řádku [11] [12]
  1. Přihlaste se do vašeho Debianu a vyzkoušejte si všechny základní příkazy pro práci v příkazové řádce.
  2. 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.
  3. Pro začátečníky doporučuji do systému doinstalovat Midnight Commander příkazem apt-get 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 user a heslo je user. Zip soubor je k dispozici zde: Debian-VirtualBox


Druhá přednáška

Klíčová slova:
standardní výstup a standardní chybový výstup, přesměrování, pípa, návratový kód funkce
cat, cut, grep, sort, tr, echo
#!/bin/sh, . , for, switch, while, until, $@, $0, $1, $$ .....
if...then...else , test, []

Programování ve skriptovacím jazyku BASH; proměnné, cykly, podmínky [13]; Program sed [14] [15] a regulární výrazy [16] [17] [18]

Cvičení:

  • Práce v příkazovém řádku; operace přesměrování.
  • Interpret příkazů, vícenásobné přesměrování, cykly.
Chcete-li využívat utilitku 'GET' nainstalujte si následující balík 'apt-get install libwww-perl'

Na stolním PC které je v učebně prosím klikněte na odkaz: [19]
Úkoly:

Zadání 1
a - Ve vašem serveru v adresáři /opt/SOS vytvořte stejnou adresářovou strukturu jako je na serveru linedu.vsb.cz 
    v adresáři /home/fei (pouze vytvořit adresáře bez uživatelských práv). Vytvořte pouze ty adresáře které obsahují číslice "00".
b - Modifikace vámi vytvořených adresářů dle pokynů vyučujícího.
Zadání 2
a - Ve vašem serveru v adresáři /opt/SOS vytvořte adresářovou strukturu kde název adresářů bude odpovídat názvům všech obcí v ČR
    jejíž název obsahuje "ova" a neobsahuje slovo "Nova". Případné mezery nahraďte podtržítky. Seznam obcí v textové podobě
    najdete zde: http://seidl.cs.vsb.cz/download/seznam-obci-cr.txt
b - Modifikace vámi vytvořených adresářů dle pokynů vyučujícího.
Zadání 3
a - Ve vašem serveru v adresáři /opt/SOS vytvořte adresářovou strukturu kde název adresářů bude odpovídat názvům všech obcí nebo
    jejich částí v ČR, jejichž směrovací číslo obsahuje číslici 5. Případné mezery nahraďte podtržítky. Seznam obcí
    s PSČ v textové podobě najdete zde: http://seidl.cs.vsb.cz/download/obce_psc.csv.txt
b - Modifikace vámi vytvořených adresářů dle pokynů vyučujícího.
Zadání 4
a - Ve vašem serveru v adresáři /opt/SOS vytvořte adresářovou strukturu kde název adresářů bude odpovídat názvům všech pošt
    v ČR jejíž telefonní číslo obsahuje číslici 5 a neobsahuje dvojici číslic 55. Případné mezery nahraďte podtržítky.
    Seznam pošt v ČR v textové podobě najdete zde: http://seidl.cs.vsb.cz/download/posty.csv.txt
b - Modifikace vámi vytvořených adresářů dle pokynů vyučujícího.
Zadání 5
a - Ve vašem serveru v adresáři /opt/SOS vytvořte adresářovou strukturu kde název adresářů bude odpovídat názvům všech pošt v ČR
    jejíž adresa obsahuje znak "/" a neobsahuje znak "s" nebo "S". Případné mezery nahraďte podtržítky. Seznam pošt v ČR 
    v textové podobě najdete zde: http://seidl.cs.vsb.cz/download/posty.csv.txt
b - Modifikace vámi vytvořených adresářů dle pokynů vyučujícího.

Třetí přednáška

Klíčová slova:
grub2, /boot, vmlinuz, initrd, update-grub2, /etc/default/grub, /etc/grub.d
inittab, runlevel, getty, /etc/init.d/rc, /etc/init.d/*, /etc/rc?.d, update-rc.d

#!/bin/sh
### BEGIN INIT INFO
# Provides:          apache2
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

. /lib/lsb/init-functions
case $1 in
	start)
       ;;
       stop) 
       ;;
esac

Zavádění OS Linux [20], zavaděč Lilo [21]; Grub [22] [23] a Grub2 [24] [25] [26], využití zaváděcího RAMdisku [27]; inicializace systému, spuštění procesu INIT [28]; spouštění služeb [29] [30] [31]; Cyklické spouštění příkazů s skriptů [32] [33]

Cvičení:

  • Programování skriptů a využívání regulárních výrazů (cykly for a while), příkaz sed a využívání regulárních výrazy

Na stolním PC které je v učebně prosím klikněte na odkaz: [34]
Úkoly:

Pro zadání kde je zapotřebí získání náhodného čísla, můžete použit systémovou proměnnou RANDOM. Například nah_cislo=`echo $RANDOM`.


Zadání 1
a - Vytvořte skript v jazyce BASH, který vytvoří v definované složce náhodný počet souborů v rozmezí 1000 až 2000 s náhodným 
    číselným jménem xxx.txt kde xxx je náhodné číslo.
b - Modifikace vámi vytvořených souborů dle pokynů vyučujícího.
Zadání 2
a - Vytvořte skript v jazyce BASH, který vytvoří v definované složce soubory se jménem 1 až MAX s náhodnou velikostí.
    Kde MAX je celé číslo větší než 1.
b - Modifikace vámi vytvořených souborů dle pokynů vyučujícího.
Zadání 3
a - Vytvořte skript v jazyce BASH, který vytvoří v definované složce soubory se jménem 1 až MAX, kde MAX je celé číslo větší než 1. 
    S náhodnou příponou ( jpg jpeg txt doc xls html php docx sh apd.).
    Pro definici možných přípon použijte pole, případně funkci. 
b - Modifikace vámi vytvořených souborů dle pokynů vyučujícího.
Zadání 4
a - Vytvořte skript v jazyce BASH, který vytvoří v definované složce soubory se jménem 1 až MAX s náhodným počtem řádků.
    Kde MAX je celé číslo větší než 1.
b - Modifikace vámi vytvořených souborů dle pokynů vyučujícího.
Zadání 5
a - Vytvořte skript v jazyce BASH, který vytvoří v definované složce soubory se jménem 1 až MAX, kde MAX je celé číslo větší než 1,
    s náhodným počtem čísel ( čísla v definovaném rozmezí min až max).
    Bez použití odřádkování.
b - Modifikace vámi vytvořených souborů dle pokynů vyučujícího.

Čtvrtá přednáška

Klíčová slova:
apt-get install system-config-lvm mdadm

/dev/sda-z
fdisk -l, cfdisk, mkfs.ext4
/etc/fstab

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1 --spare-devices=1 /dev/sdd1
watch "cat /proc/mdstat"

pvcreate /dev/sdb1
vgcreate test /dev/sdb1
lvcreate -L 50M -n padesat test

vgextend test /dev/sdc1
lvextend -L 150M /dev/test/padesat
resizefs /dev/test/padesat 150M

Filesystémy používané v OS Linux [35]; Základní vlastnosti [36] [37] Tvorba filesystému a práce s oblasti disků mkfs fdisk fdisk cfdisk parted; Správa diskových oddílů v GNU/Debian /etc/fstab; LVM [38]

Cvičení:

  • Tvorba vlastního startovacího skriptu
  • Cyklické spouštění skriptů


Na stolním PC které je v učebně prosím klikněte na odkaz: [39]
Úkoly:

Zadání 1
a - Vytvořte startovací skript. Skript zjistí velikost všech adresářů ve složce /home . Pokud bude velikost některého z adresářů 
    větší než 1kB, bude v této složce umístěn soubor s názvem "BYLA PREKROCENA MAX VELIKOST SLOZKY".
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 2
a - Vytvořte startovací skript. Skript zjistí počet souborů všech podadresářích ve složce /home . Pokud bude počet spuborů 
    větší než 100, bude v této složce umístěn soubor s názvem "BYL PREKROCEN MAX POCET SOUBORU VE SLOZCE".
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 3
a - Vytvořte startovací skript. Skript projde všechny podadresáře ve složce /home . Pokud najde soubor jehož název končí na *.backup
    přesune tento soubor do adresáře /backup
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 4
a - Vytvořte startovací skript. Skript "zataruje" složku /etc a vytvořený soubor uloží do složky /backup . Jméno souboru bude
    ve tvaru ve které bude možné identifikovat kdy byla záloha provedena. 
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 5
a - Vytvořte startovací skript. Skript projde všechny složky v adresáři /home. Do každé složky přidá soubor info, který bude obsahovat
    informaci o tom kdy byl systém spuštěn a kdy došlo k předchozímu vypnutí.
b - Modifikace zadání dle pokynů vyučujícího.

Pátá přednáška

Klíčová slova:
apt-get install openssl quota

adduser, deluser
useradd, userdel

useradd -m -s /bin/bash -c "Bezny Franta Uzivatel" -p `echo "P4sSw0rD" | openssl passwd -1 -stdin` franta

/etc/passwd
/etc/group
/etc/skell
/etc/shadow

mount -o remount,usrquota,grpquota /home
/etc/init.d/quota start
edquota franta

chmod
chown
chgrp

S - Bit
Sticky Bit


Správa uživatelských účtů, vytvoření a mazání uživatelů [40] [41]; Uživatelská práva [42]; PAM moduly [43] [44], diskové quoty [45]

Cvičení:

  • Formátování diskového oddílu, připojení souborového systému, vytvoření SW RAID, práce s LVM

Na stolním PC které je v učebně prosím klikněte na odkaz: [46]
Úkoly:

Zadání 1
a - Do svého virtualizovaného PC přidejte další SATA disk. Tento disk naformátujte souborovým systémem ext4 a připojte ho jako adresář /home.
    Přičemž zachovejte veškerý obsah původního adresáře /home.
    Do svého virtualizovaného PC přidejte další tři SATA disky. Vytvořte nad nima SW RAID1 s jedním spare diskem.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 2
a - Do svého virtualizovaného PC přidejte další SATA disk. Tento disk naformátujte souborovým systémem ext4 a připojte ho jako adresář /home.
    Přičemž zachovejte veškerý obsah původního adresáře /home.
    Do svého virtualizovaného PC přidejte další tři SATA disky. Vytvořte nad nima SW RAID5 bez použití spare disku.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 3
a - Do svého virtualizovaného PC přidejte další SATA disk. Tento disk naformátujte souborovým systémem ext4 a připojte ho jako adresář /home.
    Přičemž zachovejte veškerý obsah původního adresáře /home.
    Do svého virtualizovaného PC přidejte další čtyři SATA disky. Vytvořte nad nima SW RAID5 s jedním spare diskem.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 4
a - Do svého virtualizovaného PC přidejte další SATA disk. Tento disk naformátujte souborovým systémem ext4 a připojte ho jako adresář /home.
    Přičemž zachovejte veškerý obsah původního adresáře /home.
    Do svého virtualizovaného PC přidejte další čtyři SATA disky. Vytvořte nad nima SW RAID6 bez použití spare disku.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 5
a - Do svého virtualizovaného PC přidejte další SATA disk. Tento disk naformátujte souborovým systémem ext4 a připojte ho jako adresář /home.
    Přičemž zachovejte veškerý obsah původního adresáře /home.
    Do svého virtualizovaného PC přidejte dalších pět SATA disků. Vytvořte nad nima SW RAID6 s jedním spare diskem.
b - Modifikace zadání dle pokynů vyučujícího.

Šestá přednáška

Klíčová slova:
/etc/network/*

cat /etc/network/interfaces
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
	address 192.168.0.1
	netmask 255.255.255.0
	broacast 192.168.0.1

route add default gw 192.168.0.1 //přidá defaultní gateway
route del default gw 192.168.0.1 //odebere defaultní gateway

/etc/resolv.conf //konfigurace DNS, základem je řádek nameserver IP_ADRESA
Výborný článek se základy zde [47]
iptabels -t filter, iptabels -t nat, iptabels -t mangle
iptables -P INPUT ACCEPT //defaultní politika
iptables -A INPUT  -i eth0 -j ACCEPT //pustí pakety vstupující do systému přes eth0
iptables -A OUTPUT -i eth0 -j DROP   //zahodí pakety vystupující ze systému přes eth1
iptables -A INPUT -s 192.168.0.100 -j DROP   //zahodí pakety vstupující do systému se zdrojovou IP 192.168.0.100
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT   //pustí pakety procházející systémem s cílovými IP 192.168.0.0/24
iptables -A INPUT -p tcp --dport 80 -j DROP //zakáže pakety vstupující do systému s cílovým tcp portem 80
iptables -A OUTPUT -p tcp --dport 80 -j DROP //zakáže pakety vystupující ze systému s cílovým tcp portem 80
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  //zamaskuje pakety vystupující ze systému přes eth0
echo "1" > /proc/sys/net/ipv4/ip_forward //povolí přeposílání paketů
iptables-save > /etc/iptables
iptables-restore /etc/iptables

Linux jako aktivní síťový prvek, routing [48], NAT, Firewall [49] [50]
Live distribuce vhodné pro testování nastavení Firewallu

  1. TTY Linux (60MB) [51]
  2. Knoppix (700MB) [52]
  3. Ubuntu (800MB) [53]

Další předinstalovaná virtuální PC naleznete na http://virtualboxes.org/images/ .


Cvičení:

  • Práce s uživatelkými účty, zavedení quot, přístupová práva (Pro vytváření účtů můžete využít soubor jmena.txt [54] )

Na stolním PC které je v učebně prosím klikněte na odkaz: [55]
Úkoly:

Zadání 1
a - Vytvořte skript, který ve vašem virtualizovaném PC vytvoří 50 uživatelů. Každému uživateli vygenerujte a nastavte prvotní heslo.
Po prvním přihlášení uživatele vynuťte zadání nového hesla. Všem nově vytvořeným uživatelům definujte diskové quoty.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 2
a - Vytvořte skript, který ve vašem virtualizovaném PC vytvoří 50 uživatelů. Každému uživateli nastavte prázdné  prvotní heslo.
Po prvním přihlášení uživatele vynuťte zadání nového hesla. Zřiďte skupinu, do které budou patřit všichni uživatelé.
Všem nově vytvořeným uživatelům definujte diskové quoty.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 3
a - Vytvořte skript, který ve vašem virtualizovaném PC vytvoří 50 uživatelů. Každému uživateli vygenerujte a nastavte prvotní heslo.
Při vytváření účtů každému uživateli (pomocí /etc/skel) nakopírujte do jeho domovského adresáře soubor README.txt.
Všem nově vytvořeným uživatelům definujte diskové quoty.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 4
a - Vytvořte skript, který ve vašem virtualizovaném PC vytvoří 50 uživatelů. Každému uživateli nastavte prázdné  prvotní heslo.
Všechny nově vytvořené účty zablokujte. Všem nově vytvořeným uživatelům definujte diskové quoty.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 5
a - Vytvořte skript, který ve vašem virtualizovaném PC vytvoří 50 uživatelů. Každému uživateli vygenerujte a nastavte prvotní heslo.
Uživatel bude při přihlášení upozorněn, že si heslo musím do 1 dne změnit. Všem nově vytvořeným uživatelům definujte diskové quoty.
b - Modifikace zadání dle pokynů vyučujícího.

Sedmá přednáška

Nástroje pro správu procesů [56]; Balíčkovací systémy [57] [58] ; Tvorba vlastního instalačního balíčku

Systém APT
nízká úroveň:

dpkg-deb -f geg_1.0.2-4_i386.deb  <-- info o balíčku

střední úroveň:

dpkg -i geg_1.0.2-4_i386.deb <-- instalace balíku
dpkg -r geg                  <-- odinstalace
dpkg -l 'gettext*'           <-- info z bal systému
dpkg -L gftp-text            <-- jaké soubory balík obsahuje
dpkg -S /usb/bin/mc          <-- ve kterém balíčku se vyskytuje

vyšší úroveň

apt-get install 
apt-get remove
apt-get update && apt-get upgrade
apt-get source mc
apt-cache stats
apt-cache show mc
apt-cache search mcedit
apt-cache depends mc

Vytvoření balíčku

tmp
|-- DEBIAN
|   |-- control
|   |-- postinst
|   |-- preinst
|   `-- md5sums
`-- etc
    |--neco.conf
.
.
.
find * -type f ! -regex '^DEBIAN/.*' -exec md5sum {} \; > DEBIAN/md5sums
#cat control

Package: nazev_baliku
Version: 0.01
Section: sekce - především oficiální balíky
Priority: optional (důležitost, nechte vždy optional)
Recommends: kaffe | java-virtual-machine (doporučené balíky, oddělovačem je |)
Depends: libc6 (>= 2.2.4-4) (balíky nutné pro instalaci, v závorce minimální verze)
Architecture: i386 (architektura procesoru, pokud programujete v Javě tak all)
Installed-Size: 2717 (velikost složky /usr/ v kB)
Maintainer: vase_jmeno <vase.emailova@adresa.cz>
Description: Krátký popis v AJ
 Dlouhý popis v AJ
  .
   Druhý odstavec dlouhého popisu, obvykle vaše URL
dpkg-deb -b slozka nazev_0.1_i386.deb




Cvičení:

  • Programování sktriptu pro natavení firewallu a rourování
  • Pro některá zadání je vhodné nainstalovat "lehký" http server, například apt-get install lighttpd

Zprovoznění https na lighttpd

 cd /etc/lighttpd/certs
 openssl req -new -x509 -keyout lighttpd.pem -out lighttpd.pem -days 365 -nodes
 chmod 400 lighttpd.pem

Do souboru /etc/lighttpd/lighttpd.conf přidejte tyto řádky:

$SERVER["socket"] == ":443" {
  ssl.engine = "enable" 
  ssl.pemfile = "/etc/lighttpd/certs/lighttpd.pem" 
}

Restartujte službu httpd

Na stolním PC které je v učebně prosím klikněte na odkaz: [59]
Úkoly:

Zadání 1
a - Nakonfigurujte systém vašeho virtuálního PC tak, aby rozhraní "Síť pouze z hostem" obdrželo po restartu PC statickou IP adresu. 
    Vytvořte startovací skript, který inicializuje firewall pomocí iptables.
    Defaultní politika pro INPUT bude DROP.
    Zakažte veškerý provoz na server (INPUT) mino port 80 a 443.
    Port 22 povolte jen z definovaných IP.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 2
a - Nakonfigurujte systém vašeho virtuálního PC tak, aby rozhraní "Síť pouze z hostem" obdrželo po restartu PC statickou IP adresu. 
    Defaultní politika pro INPUT bude ACCEPT.
    Zakažte veškerý provoz na server (INPUT) mino port 80 a 443.
    Port 22 povolte jen z definovaných IP.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 3
a - Nakonfigurujte systém vašeho virtuálního PC tak, aby rozhraní "Síť pouze z hostem" obdrželo po restartu PC statickou IP adresu. 
    Defaultní politika pro OUTPUT bude DROP.
    Zakažte veškerý provoz ze serveru (OUTPUT) mino port 80 a 443.
    Port 22 povolte jen na definované IP adresy.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 4
a - Nakonfigurujte systém vašeho virtuálního PC tak, aby rozhraní "Síť pouze z hostem" obdrželo po restartu PC statickou IP adresu. 
    Defaultní politika pro OUTPUT bude ACCEPT.
    Zakažte veškerý provoz ze serveru (OUTPUT) mino port 80 a 443.
    Port 22 povolte jen na definované IP adresy.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 5
a - Nakonfigurujte systém vašeho virtuálního PC tak, aby rozhraní "Síť pouze z hostem" obdrželo po restartu PC statickou IP adresu. 
    Defaultní politika pro OUTPUT a INPUT bude DROP.
    Zakažte veškerý provoz na server (INPUT) mino port 22,80 a 443.
    Odchozí provoz povolte pouze na portu 22.
b - Modifikace zadání dle pokynů vyučujícího.

Osmá přednáška

Základní síťové služby; LAMP server [60] [61], DHCP server [62] , NFS [63] [64] a jiné; Nástroje pro kontrolu spuštěných síťových služeb netstat tcpdump nmap iftop [65]

Cvičení:

  • Vytvoření firewalu zaváděného ze startovacího skriptu

Na školním PC které je v učebně prosím klikněte na odkaz: [66]
Úkoly:

Zadání 1
a - Vytvořte skript v jazyce Bash, který vypíše všechny uživatele v systému a uvede hodnoty využití jejich diskových quot.
    Pro vytvořený skript vytvořte DEB balíček, kde správně uveďte závislost na balíčku quota. Tento balíček použijte k instalaci
    skriptu do systému.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 2
a - Vytvořte skript v jazyce Bash, skript vypíše všechny uživatelé systému, kteří mají spuštěn nějaký program.
    U každého uživatele poté skript vypíše počet spuštěných programů.
    Pro vytvořený skript vytvořte DEB balíček, kde správně uveďte závislost na balíčku obsahující program ps. 
    Tento balíček použijte k instalaci skriptu do systému.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 3
a - Vytvořte skript v jazyce Bash, který bude se cyklicky spouštět a bude do souboru vždy do jednoho řádku vypisovat čas a
    zatížení systému zjištěné ze souboru /proc/loadavg.
    Pro vytvořený skript vytvořte DEB balíček, kde správně uveďte závislosti balíčku. Tento balíček použijte k instalaci
    skriptu do systému.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 4
a - Vytvořte skript v jazyce Bash, skript bude spouštěn cyklicky a vždy provede zálohu všech podadresářů /home/*, pomocí 
    programu tar.
    Pro vytvořený skript vytvořte DEB balíček, kde správně uveďte závislosti balíčku. Tento balíček použijte k instalaci
    skriptu do systému.
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 5
a - Vytvořte skript v jazyce Bash, skript bude přijímat následující parametry: ./skript parametr1 parametr2
    Prvním parametrem můžou být následující slova: http, https, ssh, telnet. 
    Druhým parametrem může být accept nebo deny. 
    Skript při zadání ./skript http deny zakáže pomocí iptables přístup na PC protokolem http.
    Ostatní parametry se zachovají obdobně.
    Pro vytvořený skript vytvořte DEB balíček, kde správně uveďte závislosti balíčku. Tento balíček použijte k instalaci
    skriptu do systému.
b - Modifikace zadání dle pokynů vyučujícího.



Devátá přednáška

Raspberry PI, minipočítač za 700kč, velikosti kreditní karty a jeho možnosti Chcete si vytvořit jednoduchý řídící systém založený na GNU/Linux, Raspberry-PI je výborná volba. Přesto, že je to opravdu malinký počítač, který nijak neoplývá výkonem dovede přehrát film v HD rozlišení. Jeho obrovská přednost je GPIO port, obsahující rozhraní I2C, SPI, RS232 a 8 VV portů. Díky těmto portům lze připojit velké čidel, teploty, tlaku, náklonu a mnoho dalších. http://www.raspberrypi.org/

Cvičení:

  • Instalace a konfigurace LAMP serveru
  • Instalace DHCP serveru
  • Instalace NFS serveru


Zadání 1
a - Na serveru nainstalujte DHCP server, který bude přiřazovat IP adresy, masku sítě, defaultní router a DNS všem počítačům připojeným na rozhraní eth1
    Na serveru nainstalujte webový server Apache a nastavte provoz na http s https
    Na serveru nainstalujte NFS server a vyexportujte složku /var/www, tuto složku připojte v druhém virtuálním PC        
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 2
a - Na serveru nainstalujte DHCP server, který bude přiřazovat IP adresy, masku sítě, defaultní router a DNS všem počítačům připojeným na rozhraní eth1
    Na serveru nainstalujte webový server Apache a nastavte provoz na http s podporou PHP
    Na serveru nainstalujte NFS server a vyexportujte složku /var/www, tuto složku připojte v druhém virtuálním PC
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 3
a - Na serveru nainstalujte DHCP server, který bude přiřazovat IP adresy, masku sítě, defaultní router a DNS všem počítačům připojeným na rozhraní eth1
    Na serveru nainstalujte webový server Apache a nastavte provoz na http s modulem userdir
    Na serveru nainstalujte NFS server a vyexportujte složku /var/www, tuto složku připojte v druhém virtuálním PC
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 4
a - Na serveru nainstalujte DHCP server, který bude přiřazovat IP adresy, masku sítě, defaultní router a DNS všem počítačům připojeným na rozhraní eth1
    Na serveru nainstalujte webový server Apache a nastavte provoz na http s podporou PHP
    Na serveru nainstalujte NFS server a vyexportujte složku /var/www, tuto složku připojte v druhém virtuálním PC
b - Modifikace zadání dle pokynů vyučujícího.
Zadání 5
a - Na serveru nainstalujte DHCP server, který bude přiřazovat IP adresy, masku sítě, defaultní router a DNS všem počítačům připojeným na rozhraní eth1
    Na serveru nainstalujte webový server Apache a nastavte provoz na http s https
    Na serveru nainstalujte NFS server a vyexportujte složku /var/www, tuto složku připojte v druhém virtuálním PC
b - Modifikace zadání dle pokynů vyučujícího.

Desátá přednáška

Dobré návyky správce Linuxového serveru, logování stavu služeb, automatizování administrátorských činností, dohledové systémy

Cvičení:

  • Závěrečný test


Zadání finálního testu verze A

1) Ve virtualizačním prostředí Virtualbox vytvořte PC s jedním pevným diskem a dvěma síťovými kartami. Jednu kartu připojte do sítě NAT a druhou do sítě "Host-only network". Na toto virtualizované PC nainstalujte OS Linux/Debian 8 v minimalistické verzi, pouze s podporou protokolu SSH (bez XWindows).
5bodů

2) Nakonfigurujte systém tak, aby síťová karta na rozhraní NAT dostávala IP adresu prostřednictvím protokolu DHCP (z Virtualboxu) a druhá karta bude mít IP adresu nastavenou pevně. Pro konfiguraci obou rozhraní využijte standardní metody používané v distribuci Debian.
5bodů

3) Do virtuálního PC přidejte další tři pevné disky o kapacitě alespoň 200MB. Z těchto disků vytvořte v systému RAID 1 s jedním spare diskem. RAID pole vytvořte tak, aby se z něj dal v budoucnu zavést operační systém. RAID pole dále naformátujte souborovým systémem ext4.
12bodů

4) Vytvořte skript, který do systému přidá daný počet uživatelských účtů ve tvaru user001 až user###, kde ### bude číslo zadané jako parametr skriptu. Zařiďte, aby číslo nemohlo přesáhnout 3 cifry. Interpret pro všechny uživatele bude /bin/bash a uživatelům se vytvoří domovský adresář ve složce /home. Uživatelé budou mít prázdné heslo a budou nuceni si ho po prvním přihlášení změnit. Všem uživatelů definujte diskové kvóty.
12bodů

5) Vytvořte skript, který provede při příštím startu operačního systému migraci aktuální složky /home na nově vytvořené RAID pole. Po úspěšné migraci skript zapíše záznam pro novou složku /home do FSTAB. Nezapomeňte, že se musí migrace provést jen jednou. Úspěšnou migraci oznamte všem uživatelům umístěním souboru „VASE SOUBORY JSOU V BEZPECI NA RAID POLI“ do jejich domovského adresáře.
12bodů

6) V root adresáři vytvořte složku /share. V systému vytvořte skupinu share a přidejte do ní 10 uživatelů. Složka /share bude umožňovat přístup jen uživatelům patřícím do skupiny share. Pokud některý z uživatelů vytvoří v této složce soubor, tento bude automaticky patřit skupině share a nikoli skupině uživatele, který ho vytvořil. 
5bodů

7) Nainstalujte webový server Apache2 s podporou PHP a mod_dir. Vytvořte skript, který nastaví firewall systému tak, aby defaultní politika pro INPUT na všech rozhraních byla DROP. Poté povolte do systému přístup pro službu SSH pouze prostřednictvím rozhraní „Host-only network“ a také povolte přístup na http ze všech rozhraní a adres. Funkčnost webového serveru demonstrujte.
12bodů

Zadání finálního testu verze B

1) Ve virtualizačním prostředí Virtualbox vytvořte PC s jedním pevným diskem a dvěma síťovými kartami. Jednu kartu připojte do sítě NAT a druhou do sítě "Host-only network". Na toto virtualizované PC nainstalujte OS Linux/Debian 8 v minimalistické verzi, pouze s podporou protokolu SSH (bez XWindows).
5bodů

2) Nakonfigurujte systém tak, aby síťová karta na rozhraní NAT dostávala IP adresu prostřednictvím protokolu DHCP (z Virtualboxu) a druhá karta bude mít IP adresu nastavenou pevně. Pro konfiguraci obou rozhraní využijte standardní metody používané v distribuci Debian.
5bodů

3) Do virtuálního PC přidejte další tři pevné disky o kapacitě alespoň 200MB. Z těchto disků vytvořte v systému RAID 5 bez spare disku. Na tomto RAID poli vytvořte jeden oddíl a ten naformátujte souborovým systémem ext3. Tento oddíl poté zapište do FSTAB tak, ať se připojuje jako složka /home. 
12bodů

4) Vytvořte skript, který do systému přidá 100 uživatelských účtů. Loginy budou usr00 až usr99, interpret pro všechny uživatele bude /bin/bash a uživatelům se vytvoří domovský adresář ve složce /home. Všichni uživatelé budou mít předem definované stejné heslo a budou nuceni si ho po prvním přihlášení změnit. Všem uživatelů definujte diskové kvóty.
12bodů

5) Vytvořte standardní instalační DEB balíček, který bude v sobě obsahovat skript. Skript projde soubory ve všech podadresářích domovské složky každého uživatele. Pokud najde soubor, jehož název končí na *.backup, přesune tento soubor do adresáře /backup/login_uzivatele. Skript se po instalaci bude spouštět jednou denně.
12bodů

6) V root adresáři vytvořte složku /share. V systému vytvořte skupinu share a přidejte do ní 10 uživatelů. Složka /share bude umožňovat přístup jen uživatelům patřícím do skupiny share. Pokud některý z uživatelů vytvoří v této složce soubor, tento bude automaticky patřit skupině share a nikoli skupině uživatele, který ho vytvořil. 
5bodů

7) Nainstalujte webový server Apache2 s podporou PHP a SSL. Vytvořte skript, který nastaví firewall systému tak, aby defaultní politika pro INPUT na rozhraní „Host-only network“ byla DROP. Poté povolte do systému přístup pro službu SSH pouze z definovaných IP adres a také povolte přístup na http ze všech adres. Funkčnost webového serveru demonstrujte.
12bodů


Změna jazyka v konzole

V distribucích odvozených od Debianu lze změnit jazyk a klávesnici v konzole následovně:

dpkg-reconfigure locales       # vybrat kodovani cs_CZ... a en_US...., vybrat default, pro UTF je to skoro jedno.
dpkg-reconfigure console-setup # vybrat UTF8, Latin2, font a jeho velikost
dpkg-reconfigure console-data  # vybrat klavesnici

Pokud nemáte k dispozici console-data tak je nainstalujete pomocí  apt-get install console-data

O humor není u tučňáka nouze

Jelikož by jste již měli být znalý většiny Linuxových fíglů. Zde příkládám pár veselostí, kterýma se Linuxáci baví.
Pokud vám bude nějaký program chybět, tak ho nainstalujte apt-get install chybejici-program , samozřejmě pod rootem nebo se sudo na začátku (platí pro distribuci Debian a jeho klony).

Mašinka

 # sl

Zakřičte si v příkazovém řádku

 # figlet Linux

Zakřičte si barevně příkazovém řádku

 # toilet -f mono12 -F metal Linux

Kráva říká

 # cowsay Linux
 
 # for i in /usr/share/cowsay/cows/*; do cowsay -f $i $i; sleep 5; done

Moudra

 # fortune
 
 # fortune | cowsay

Popovídejte si

 # aptitude moo
 # aptitude -v moo
 # aptitude -vv moo
 # aptitude -vvv moo
 # ...
 # ...

Koukněte na konec helpu

 # aptitude -h
 # apt-get  -h

Pozadu

 # echo Ahoj | rev

Matrix

 # cmatrix

Obrázky

 # jp2a *.jpg

A co film

 # vlc -V aa film.*

Kočička

 # oneko

Hoří...

 # apt-get install libaa-bin
 # aafire
Osobní nástroje