Nasazen´ı bezdiskov´ych pracovn´ıch stanic s OS Linux v s´ıti FAI UTB Implementation of diskless workstations running OS Linux in FAI UTB network
Petr Kohout
Bakal´aˇrsk´a pr´ace 2008
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
4
ABSTRAKT Tato bakal´aˇrsk´a pr´ace popisuje zaveden´ı operaˇcn´ıho syst´emu Linux na pracovn´ı stanice v poˇc´ıtaˇcov´ych uˇcebn´ach FAI UTB tak, aby nebylo nijak naruˇseno souˇcasn´e nastaven´ı tˇechto stanic. V teoretick´e ˇc´asti jsou zm´ınˇeny principy, v´yhody a nev´yhody ˇreˇsen´ı, kdy je cel´y koˇrenov´y souborov´y syst´em pˇr´ıstupn´y pouze na s´ıti. Praktick´a ˇc´ast ukazuje nasazen´ı tohoto ˇreˇsen´ı pˇr´ımo do nˇekter´ych uˇceben, vˇcetnˇe konkr´etn´ıch uk´azek nastaven´ı s´ıtˇe a v´ystavby linuxov´eho operaˇcn´ıho syst´emu. Kl´ıˇcov´a slova: Linux, PXE, DHCP, NFS
ABSTRACT This bachelor work describes running of operating system Linux on workstations in computer rooms of FAI UTB without any changing of current settings of these workstations. Theoretical part contains principes, advantages and disadvantages of such solution, where the root filesystem is available only on network. Practical part shows implementation of this solution directly in some computer rooms and includes network configuration and instructions of building of proper Linux-based operating system. Keywords: Linux, PXE, DHCP, NFS
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
5
Dˇekuji spr´avci s´ıtˇe ing. Petru Vojtkovi za moˇznost nahl´ednout do konfigurace souˇcasn´e s´ıtˇe UTB a moˇznost pod´ılet se na jej´ım v´yvoji a tak´e dˇekuji vedouc´ımu bakal´aˇrsk´e pr´ace ing. Martinu Syslovi, PhD. za cenn´e n´amˇety a pˇripom´ınky.
Prohlaˇsuji, ˇze jsem na bakal´aˇrsk´e pr´aci pracoval samostatnˇe a pouˇzitou literaturu jsem citoval. V pˇr´ıpadˇe publikace v´ysledk˚ u, je-li to uvolnˇeno na z´akladˇe licenˇcn´ı smlouvy, budu uveden jako spoluautor.
V Uhersk´em Hradiˇsti, 15. kvˇetna 2008
........................................................ Podpis diplomanta
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
6
Obsah I II
´ UVOD
9
´ C ˇ AST ´ TEORETICKA
10
1 Struˇ cn´ y popis ˇ reˇ sen´ı 1.1 Popis s´ıtˇe a um´ıstˇen´ı s´ıt’ov´ych sluˇzeb . 1.2 Logick´a a fyzick´a topologie s´ıtˇe . . . . 1.3 Postup bootov´an´ı pracovn´ı stanice . . . 1.3.1 Nastaven´ı BIOSu . . . . . . . . 1.3.2 Bootov´an´ı po s´ıti pomoc´ı PXE . 1.3.3 Zav´adˇen´ı OS Linux . . . . . . . 1.4 V´yhody a nev´yhody . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
11 11 11 13 13 14 14 15
2 Nastaven´ı s´ıtˇ e 2.1 DHCP . . . . . . . . . . . . . . . . . . . . 2.1.1 Zabezpeˇcen´ı DHCP . . . . . . . . . 2.2 TFTP . . . . . . . . . . . . . . . . . . . . 2.2.1 Bezpeˇcnostn´ı rizika TFTP . . . . . 2.3 NFS . . . . . . . . . . . . . . . . . . . . . 2.3.1 NFS a bezpeˇcnost . . . . . . . . . . 2.4 Bezpeˇcnost . . . . . . . . . . . . . . . . . 2.4.1 Zabezpeˇcen´ı smˇerovaˇce a pˇrep´ınaˇc˚ u 2.4.2 Ochrana serveru . . . . . . . . . . . 2.4.3 Kontrola paket˚ u v s´ıti . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
17 17 17 18 18 18 19 19 19 20 20
3 Pracovn´ı stanice 3.1 Nastaven´ı BIOSu 3.2 PXE menu . . . . 3.3 Linuxov´e j´adro . 3.4 Bˇeh OS Linux . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
21 21 21 21 21
III
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
´ C ˇ AST ´ PRAKTICKA
4 Konfigurace s´ıt’ov´ ych prvk˚ u 4.1 Pˇr´ıstupov´e pˇrep´ınaˇce Cisco 2950 . . . . . . . . . . 4.1.1 D˚ uleˇzit´e glob´aln´ı nastaven´ı a zabezpeˇcen´ı . 4.1.2 Nastaven´ı pˇr´ıstupov´ych port˚ u . . . . . . . 4.1.3 Nastaven´ı uplinku . . . . . . . . . . . . . . 4.2 Smˇerovaˇc Cisco 3550 . . . . . . . . . . . . . . . .
22 . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
23 23 23 23 24 24
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008 4.2.1 4.2.2 4.2.3
7
Zabezpeˇcen´ı pˇr´ıstupu . . . . . . . . . . . . . . . . . . . . . . . . . . Smˇerov´an´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DHCP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Konfigurace PXE 5.1 Zabezpeˇcen´ı a timeouty . . . . 5.2 Nastaven´ı menu . . . . . . . . 5.3 Poloˇzky v menu . . . . . . . . 5.4 Parametry pro linuxov´e j´adro
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
6 Centr´ aln´ı linuxov´ y server 6.1 Ramdisk . . . . . . . . . . . . . . . . . . . . . . . 6.2 TFTP server . . . . . . . . . . . . . . . . . . . . 6.2.1 Spouˇstˇen´ı pˇres xinetd . . . . . . . . . . . . 6.2.2 Spouˇstˇen´ı jako standalone server . . . . . 6.2.3 Parametry pro tftpd . . . . . . . . . . . . 6.2.4 Obsah adres´aˇre pro TFTP . . . . . . . . . 6.3 NFS server . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Spouˇstˇen´ı NFS serveru . . . . . . . . . . . 6.3.2 Nastaven´ı adres´aˇr˚ u pˇr´ıstupn´ych pˇres NFS 6.4 Lok´aln´ı firewall . . . . . . . . . . . . . . . . . . . 6.5 Kompilace linuxov´eho j´adra pro pracovn´ı stanice . 6.5.1 Nutn´e vlastnosti j´adra . . . . . . . . . . . 6.5.2 D˚ uleˇzit´e parametry linuxov´eho j´adra . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
25 25 25
. . . .
27 27 27 28 28
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
29 29 29 29 30 30 31 31 31 31 32 32 32 33
7 Linuxov´ a distribuce pro pracovn´ı stanice 7.1 Hlavn´ı oˇcek´avan´e probl´emy . . . . . . . . . . . . . . . . . . . . 7.2 Instalace a konfigurace OS Debian 4.0 . . . . . . . . . . . . . . . 7.2.1 Instalace OS na pracovn´ı stanici a jeho kop´ırov´an´ı . . . . ´ 7.2.2 Uprava soubor˚ u /etc/fstab a /etc/mtab . . . . . . . . . . 7.2.3 Obsah ramdisk˚ u a jejich pˇripojov´an´ı . . . . . . . . . . . 7.2.4 Drobn´e u ´ pravy nˇekter´ych startovac´ıch skript˚ u . . . . . . 7.2.5 Nastaven´ı s´ıtˇe . . . . . . . . . . . . . . . . . . . . . . . . 7.2.6 Pr´ace s CD/DVD mechanikou . . . . . . . . . . . . . . . 7.2.7 Pˇripojov´an´ı USB flash disk˚ u . . . . . . . . . . . . . . . . 7.2.8 Pouˇz´ıv´an´ı autofs pro pˇripojov´an´ı USB disk˚ u a CD/DVD 7.2.9 Konfigurace X Window . . . . . . . . . . . . . . . . . . . 7.2.10 Ovˇeˇrov´an´ı uˇzivatel˚ u protokolem LDAP . . . . . . . . . . 7.2.11 Spuˇstˇen´ı a nastaven´ı vlastn´ıho LDAP serveru . . . . . . 7.2.12 Domovsk´e adres´aˇre pro uˇzivatele . . . . . . . . . . . . . 7.2.13 Pouˇz´ıv´an´ı pracovn´ı stanice z pohledu uˇzivatele . . . . . . 7.3 Tvorba samostatn´e linuxov´e minidistribuce . . . . . . . . . . . . 7.3.1 Pˇr´ıprava adres´aˇrov´e struktury . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
36 36 37 37 38 38 40 40 41 42 43 44 46 47 49 51 52 52
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
7.4
7.3.2 V´ybˇer soubor˚ u pro adres´aˇr /bin . . . . . 7.3.3 Kop´ırov´an´ı knihoven do /lib a /usr/lib . 7.3.4 Kop´ırov´an´ı speci´aln´ıch soubor˚ u do /dev 7.3.5 Obsah adres´aˇre /sbin . . . . . . . . . . . 7.3.6 Ramdisk na adres´aˇri /var . . . . . . . . 7.3.7 Obsah adres´aˇre /etc . . . . . . . . . . . 7.3.8 Ostatn´ı adres´aˇre . . . . . . . . . . . . . 7.3.9 Program syslogd . . . . . . . . . . . . . Spr´ava a z´alohy jednotliv´ych distribuc´ı . . . . . 7.4.1 Hesla lok´aln´ıch uˇzivatel˚ u . . . . . . . . .
8 Ekonomick´ e aspekty 8.1 Instalace nov´e pracovn´ı stanice . . . . . . . . . 8.2 Instalace nov´eho softwaru na pracovn´ı stanici . 8.3 Opravy operaˇcn´ıho syst´emu na pracovn´ı stanici 8.4 Odstranˇen´ı pevn´eho disku ze stanic . . . . . . . 8.5 Zkvalitnˇen´ı v´yuky OS Linux . . . . . . . . . . .
IV V VI VII
. . . . . . . . . . . . . . .
´ ER ˇ ZAV ˇ E ´ LITERATURY SEZNAM POUZIT ´ ˚ SEZNAM OBRAZK U ˇ YCH ´ SEZNAM POUZIT ZKRATEK
8 . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . .
52 53 54 54 55 55 58 58 59 59
. . . . .
61 61 61 62 62 63
64 66 68 69
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
9
ˇ ast I C´
´ UVOD C´ılem t´eto pr´ace je nasazen´ı operaˇcn´ıho syst´emu Linux na pracovn´ı stanice v poˇc´ıtaˇcov´ych uˇcebn´ach v budovˇe U5 UTB tak, aby nebyla nijak mˇenˇena jejich souˇcasn´a konfigurace a aby byly n´aklady na v´ystavbu a u ´ drˇzbu takov´eho syst´emu co nejniˇzˇs´ı. Souˇcasn´y stav pracovn´ıch stanic je takov´y, ˇze na bˇeˇzn´ych pracovn´ıch PC stanic´ıch je nainstalov´an operaˇcn´ı syst´em Microsoft Windows. Kaˇzd´a stanice m´a pˇridˇelenou vlastn´ı IP adresu a v pˇr´ıpadˇe poˇskozen´ı disku nebo operaˇcn´ıho syst´emu technik obnov´ı p˚ uvodn´ı stav pomoc´ı bootovac´ıho CD disku, kdy na pevn´y disk nahraje obraz jiˇz hotov´eho pˇredinstalovan´eho operaˇcn´ıho syst´emu a d´ale jen minim´alnˇe uprav´ı identifikaci poˇc´ıtaˇce v s´ıti. Vzhledem k nutnosti zachovat st´avaj´ıc´ı ˇreˇsen´ı spr´avy poˇc´ıtaˇc˚ u s operaˇcn´ım syst´emem Microsoft Windows a potˇrebˇe dostupnosti jin´eho operaˇcn´ıho syst´emu (konkr´etnˇe OS Linux) byla zvolena moˇznost zaveden´ı OS Linux z ethernetov´e s´ıtˇe, kter´a je pro kaˇzd´e PC k dispozici. Kaˇzd´e PC bude nastaveno tak, aby prim´arnˇe bootovalo nikoliv z pevn´eho disku, ale pomoc´ı protokolu PXE ze s´ıtˇe. PXE d´a uˇzivateli moˇznost si vybrat, zda chce d´ale pokraˇcovat ve standardn´ım bootovac´ım procesu (tedy nahr´an´ı Microsoft Windows z pevn´eho disku) nebo zda se m´a nahr´at OS Linux ze s´ıtˇe. V pˇr´ıpadˇe zvolen´ı bootov´an´ı z OS Linux dojde k tomu, ˇze do pamˇeti poˇc´ıtaˇce se protokolem TFTP nahraje linuxov´e j´adro, kter´e d´ale pokraˇcuje ve startov´an´ı operaˇcn´ıho syst´emu. Koˇrenov´y adres´aˇr cel´eho operaˇcn´ıho syst´emu se pak bˇehem startovac´ıho procesu pˇripoj´ı protokolem NFS. T´ım dojde de facto k tomu, ˇze na stanici pobˇeˇz´ı v pamˇeti OS Linux a cel´y koˇrenov´y souborov´y syst´em bude fyzicky uloˇzen na vzd´alen´em serveru - PC bude m´ıt k tomuto souborov´emu syst´emu pˇr´ıstup pouze pro ˇcten´ı.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
ˇ ast II C´
´ C ˇ AST ´ TEORETICKA
10
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
1
11
Struˇ cn´ y popis ˇ reˇsen´ı
1.1
Popis s´ıtˇ e a um´ıstˇ en´ı s´ıt’ov´ ych sluˇ zeb
Nezbytn´ym pˇredpokladem k provozov´an´ı jak´ychkoliv bezdiskov´ych stanic, kter´e bootouj´ı ze s´ıtˇe, je spr´avn´e fungov´an´ı vlastn´ı s´ıtˇe a nastaven´ı s´ıt’ov´ych sluˇzeb. S´ıt’ je navrˇzena tak, ˇze kaˇzd´e uˇcebnˇe je pˇriˇrazen jeden adresn´ı prostor, kter´y bude vyuˇz´ıv´an dynamicky (to zajist´ı s´ıt’ov´a sluˇzba DHCP ), vˇsechny tyto s´ıtˇe pak jsou zakonˇceny na jednom p´ateˇrn´ım prvku (smˇ erovaˇ ci), kter´y zajiˇst’uje tyto sluˇzby: • DHCP - smˇerovaˇc si spravuje pˇridˇelov´an´ı IP adres jednotliv´ym stanic´ım ve vˇsech s´ıt´ıch v uˇcebn´ach • routing - spr´avn´e smˇerov´an´ı paket˚ u mezi jednotliv´ymi uˇcebnami, dalˇs´ımi lok´aln´ımi s´ıtˇemi, Internetem a s´ıt´ı s hlavn´ım serverem • firewall - na smˇerovaˇci jsou z´akladn´ı omezen´ı provozu pro zv´yˇsen´ı bezpeˇcnosti smˇerovaˇce a jednotliv´ych s´ıt´ı Smˇerovaˇc bude tedy spojovat fyzickou i logickou strukturu s´ıtˇe a bude stanic´ım poskytovat pˇr´ıpojen´ı k Internetu. Kromˇe toho bude ke smˇerovaˇci pˇripojen centr´ aln´ı server, kter´y bude poskytovat dalˇs´ı nezbytn´e sluˇzby: • TFTP - poskytuje stanic´ım nastaven´ı PXE bootov´an´ı a obrazy linuxov´eho j´adra • NFS - poskytuje cel´y souborov´y syst´em pro OS Linux
1.2
Logick´ a a fyzick´ a topologie s´ıtˇ e
Ze souˇcasn´ych s´ıt’ov´ych prvk˚ u na FAI UTB jsou pouˇzity prvky Cisco 2950 jako pˇr´ıstupov´e pˇrep´ınaˇce pro uˇcebny a L3 pˇrep´ınaˇc 1 Cisco 3550 jako smˇerovaˇc. Server je poˇc´ıtaˇc s operaˇcn´ım syst´emem Linux.
1
pˇrep´ınaˇc, kter´ y um´ı smˇerovat pakety mezi r˚ uzn´ ymi s´ıtˇemi a tedy funguje i na 3. vrstvˇe modelu OSI
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
12
Obr´azek 1: Fyzick´a topologie s´ıtˇe Na obr´azku je vidˇet hierarchick´a struktura s´ıtˇe. Hlavn´ı p´ateˇrn´ı zaˇr´ızen´ı (smˇerovaˇc Cisco 3550) je propojeno s pˇr´ıstupov´ymi pˇrep´ınaˇci (Cisco 2950), do kter´ych jsou pak d´ale pˇripojena koncov´a zaˇr´ızen´ı (pracovn´ı stanice, servery).
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
13
Obr´azek 2: Logick´a topologie s´ıtˇe Implementac´ı virtu´aln´ıch s´ıt´ı (VLAN ) jsou vytvoˇreny logick´e skupiny zaˇr´ızen´ı, kter´a k sobˇe patˇr´ı, tedy poˇc´ıtaˇce v kaˇzd´e uˇcebnˇe tvoˇr´ı samostatnou s´ıt’, server je tak´e v samostatn´e s´ıti. Takov´e rozdˇelen´ı umoˇzn ˇ uje snadnou manipulaci s uˇcebnou jako s jedn´ım objektem, zv´yˇsen´ı bezpeˇcnosti serveru a sn´ıˇzen´ı nechtˇen´eho provozu na s´ıti.
1.3 1.3.1
Postup bootov´ an´ı pracovn´ı stanice Nastaven´ı BIOSu
Nastaven´ı BIOSu se nijak neliˇs´ı od bˇeˇzn´eho nastaven´ı pracovn´ı stanice, jedin´a nutn´a zmˇena je seznam zaˇr´ızen´ı, ze kter´ych se m´a poˇc´ıtaˇc nabootovat. Souˇcasn´e nastaven´ı umoˇzn ˇ uje nabootov´an´ı pouze z pevn´eho disku (z bezpeˇcnostn´ıch d˚ uvod˚ u nen´ı pro bˇeˇzn´e uˇzivatele moˇzn´e nabootovat pomoc´ı CD-ROM nebo USB flash disku). Aby bylo umoˇznˇeno bootov´an´ı ze s´ıtˇe, mus´ı b´yt tedy jako prvn´ı zaˇr´ızen´ı nastaveno pr´avˇe bootov´an´ı pomoc´ı PXE (v pˇr´ıpadˇe s´ıt’ov´e karty pˇr´ımo na z´akladn´ı desce mus´ı b´yt samozˇrejmˇe tato s´ıt’ov´a karta v BIOSu zapnuta) a bootov´an´ı z pevn´eho disku je nastaveno aˇz jako druh´a moˇznost. Stejnˇe jako dosud nebude umoˇznˇeno bootov´an´ı z jin´eho zaˇr´ızen´ı.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
14
Uˇzivatel samozˇrejmˇe nem´a do nastaven´ı BIOSu pˇr´ıstup (aby nemohl nastaven´ı mˇenit), ten je chr´anˇen heslem, kter´e je zn´am´e pouze spr´avc˚ um poˇc´ıtaˇc˚ u. 1.3.2
Bootov´ an´ı po s´ıti pomoc´ı PXE
Po startu poˇc´ıtaˇce a ukonˇcen´ı POST 2 pˇreb´ır´a bˇeh poˇc´ıtaˇce PXE (program, kter´y je instalov´an v´yrobcem pˇr´ımo v chipsetu s´ıt’ov´e karty): • pomoc´ı protokolu DHCP nejprve zjist´ı IP adresu a masku s´ıtˇe, IP adresu br´anu, IP adresu TFTP serveru a n´azev hlavn´ıho zav´adˇec´ıho souboru • po nastaven´ı parametr˚ u s´ıtˇe se protokolem TFTP st´ahne a zavede hlavn´ı soubor pro PXE • uˇzivatel u pracovn´ı stanice m´a nyn´ı na v´ybˇer, zda si vybere zaveden´ı OS Linux nebo bude pokraˇcovat v bootov´an´ı z pevn´eho disku, kde je nainstalov´an OS Microsoft Windows Cel´y tento postup ovˇsem z´avis´ı na tom, zda je funkˇcn´ı s´ıt’ a vˇsechny nutn´e s´ıt’ov´e sluˇzby. V pˇr´ıpadˇe, ˇze s´ıt’ nen´ı dostupn´a v˚ ubec (napˇr. do poˇc´ıtaˇce nen´ı zapojen s´ıt’ov´y kabel nebo nen´ı funkˇcn´ı pˇr´ıstupov´y pˇrep´ınaˇc) nebo na s´ıt’ov´em segmentu nefunguje sluˇzba DHCP, dojde k vyprˇsen´ı ˇcasov´eho limitu odeslan´e DHCP ˇz´adosti. Program PXE tedy ozn´am´ı BIOSu, ˇze nen´ı schopen do poˇc´ıtaˇce zav´est operaˇcn´ı syst´em a BIOS pak bootuje d´al podle nastaven´eho poˇrad´ı, tedy spust´ı syst´em na pevn´em disku, kde je nainstalovan´y syst´em Microsoft Windows. K probl´emu m˚ uˇze tak´e doj´ıt v pˇr´ıpadˇe, ˇze nen´ı dostupn´a sluˇzba TFTP - PXE si nem˚ uˇze st´ahnout zav´adˇec´ı soubor ani jeho nastaven´ı a opˇet dojde k pˇred´an´ı ˇr´ızen´ı poˇc´ıtaˇce BIOSu. 1.3.3
Zav´ adˇ en´ı OS Linux
V pˇr´ıpadˇe volby OS Linux dojde ke staˇzen´ı linuxov´eho j´adra (opˇet ze serveru protokolem TFTP ) a jeho nahr´an´ı do pamˇeti. PXE v tento moment konˇc´ı a pˇred´av´a ˇr´ızen´ı poˇc´ıtaˇce linuxov´emu j´adru. J´adro nejprve prov´ad´ı standardn´ı vˇeci jako testy procesoru, pamˇeti a existence dalˇs´ıho hardwaru, pot´e si pomoc´ı protokolu DHPC zjist´ı nastaven´ı s´ıtˇe (vlastn´ı IP adresu, masku s´ıtˇe, IP adresu br´any) a pomoc´ı protokolu NFS si na koˇrenov´y adres´aˇr souborov´aho syst´emu pˇripoj´ı pˇr´ısluˇsn´y adres´aˇr obsahuj´ıc´ı cel´y souborv´y syst´em. Hlavn´ı adres´aˇre (napˇr. /etc, /lib) jsou tedy fyzicky uloˇzeny na serveru, stanic´ım jsou pˇr´ıstpupn´e pouze pro ˇcten´ı protokolem NFS. 2 Power-on Self-test, samotestovac´ı pogram prob´ıhaj´ıc´ı na poˇc´ıtaˇci pˇri startu pˇred bootov´an´ım operaˇcnho syst´emu
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
15
J´adro po zaveden´ı a pˇripojen´ı koˇrenov´eho adres´aˇre pak pˇred´a ˇr´ızen´ı programu init, kter´y d´ale prov´ad´ı spouˇstˇen´ı startova´ıch skript˚ u na stanici a umoˇzn ˇ uje obsluhu poˇc´ıtaˇce uˇzivateli. V tomto postupu jsou dva kritick´e body: stahov´an´ı linuxov´eho j´adra protokolem TFTP a pˇripojov´an´ı souborov´eho syst´emu protokolem NFS. V pˇr´ıpadˇe chybn´eho staˇzen´ı linuxov´eho j´adra (chybˇej´ıc´ı soubor na TFTP serveru, p´ad TFTP serveru, poˇskozen´ı souboru bˇehem pˇrenosu po s´ıti atd.) se PXE vrac´ı do hlavn´ıho menu, kdy d´av´a uˇzivateli moˇznost volby operaˇcn´ıho syst´emu. V pˇr´ıpadˇe, ˇze se linuxov´e j´adro st´ahne, pˇreb´ır´a ˇr´ızen´ı poˇc´ıtaˇce jiˇz j´adro a program PXE je ukonˇcen - cel´y bootovac´ı proces je tedy zavrˇsen a v pˇr´ıpadˇe chyby Linuxu se jiˇz poˇc´ıtaˇc nem˚ uˇze vr´atit do BIOSu a zav´adˇet jin´y operaˇcn´ı syst´em. Stejnˇe tak je to u druh´eho kritick´eho bodu, tedy pˇripojov´an´ı souborov´eho syst´emu protokolem NFS - v pˇr´ıpadˇe nefunˇcnosti NFS serveru (nebo jak´ekoliv jin´e kritick´e chyby nutn´e pro chod OS Linux) linuxov´e j´adro jednoduˇse zahl´as´ı kritickou chybu ”Kernel panic” a sv˚ uj bˇeh zastav´ı. V takov´em okamˇziku jiˇz nen´ı moˇzn´e s poˇc´ıtaˇcem cokoliv dˇelat a poˇc´ıtaˇc se mus´ı restartovat.
1.4
V´ yhody a nev´ yhody
Mezi hlavn´ı v´yhody tohoto ˇreˇsen´ı patˇr´ı snadn´a udrˇzovatelnost cel´eho operaˇcn´ıho syst´emu: • spr´avce syst´emu si spravuje cel´y souborov´y syst´em na serveru, soubory jsou po s´ıti pˇr´ıstupn´e pouze v reˇzimu pouze pro ˇcten´ı, takˇze nehroz´ı poˇskozen´ı souborov´eho syst´emu ze strany uˇzivatele • souborov´y syst´emu je snadn´e z´alohovat nebo kop´ırovat, coˇz umoˇzn ˇ uje dˇelat r˚ uzn´e pokusy s instalac´ı nov´ych program˚ u • na serveru m˚ uˇze b´yt samozˇrejmˇe v´ıce operaˇcn´ıch syst´em˚ u ve v´ıce verz´ıch, r˚ uzn´e operaˇcn´ı syst´emy, r˚ uzn´e linuxov´e j´adra atd. Snadn´e je i udrˇzov´an´ı pracovn´ı stanice. Vzhledem k tomu, ˇze poˇc´ıtaˇc pracuje v bezdiskov´em reˇzimu, staˇc´ı pouze spr´avnˇe nastavit bootov´an´ı a o vˇse ostatn´ı je postar´ano, vˇse jiˇz m´a na starosti server. Spr´avce tedy nemus´ı obch´azet jednotliv´e stanice s instalaˇcn´ım CD nebo na nˇe v˚ ubec nˇeco instalovat. Vyuˇzit´ım protokolu DHCP se tak´e sn´ıˇz´ı n´aroˇcnost spr´avy nastaven´ı s´ıtˇe jednotliv´ych stanic - pracovn´ı stanice si s´ıt’ nastav´ı jednoduˇse samy, IP adresa je jim pˇridˇelena dynamicky z pˇr´ısluˇsn´eho rozsahu. Cel´e toto ˇreˇsen´ı vˇsak m´a i sv´e nev´yhody: vyˇsˇs´ı z´atˇeˇz cel´e s´ıtˇe a tak´e serveru. To se m˚ uˇze projevit pˇredevˇs´ım v okamˇziku nabootov´an´ı vˇetˇs´ıho poˇctu stanic najednou, napˇr. pˇri obnoven´ı funkˇcnosti elektrick´e s´ıtˇe po pˇredeˇsl´em v´ypadku. V takov´em pˇr´ıpadˇe doch´az´ı ke zv´yˇsen´ı poˇctu poˇzadavk˚ u na DHCP server, TFTP server i na NFS server.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
16
Dalˇs´ım nedostatkem je zv´yˇsen´ı provozu DHCP paket˚ u - pˇri kaˇzd´em bootov´an´ı stanice do OS Linux vys´ıl´a stanice 3x poˇzadavek na DHCP: • PXE (potˇrebuje nastavit s´ıt’ovou kartu, aby v˚ ubec stanice mohla vzd´alen´e bootov´an´ı prov´adˇet) • linuxov´e j´adro pˇred pˇripojen´ım souborov´eho syst´emu (potˇrebuje zn´at nastaven´ı s´ıtˇe, aby mohlo pˇripojit souborov´y syst´em protokolem NFS ) • DHCP client - software bˇeˇz´ıc´ı po rozbˇehnut´ı OS Linux (udrˇzuje v bˇeˇz´ıc´ım syst´emu informace o nastaven´ı s´ıtˇe, pravidelnˇe sleduje vyprˇsen´ı doby platnosti IP adresy atd.) Bohuˇzel mezi tˇemito tˇremi objekty nen´ı moˇzn´e informace o nastaven´ı s´ıtˇe pˇred´avat, takˇze doch´az´ı k tomu, ˇze DHCP server mus´ı bˇehem pomˇernˇe kr´atk´e doby bootov´an´ı vyˇr´ıdit poˇzadavek od jedn´e stanice nˇekolikr´at. Vysok´e z´atˇeˇzi je nav´ıc podroben centr´aln´ı NFS server. Pˇri pˇripojen´ı vˇetˇs´ıho mnoˇzstv´ı pracovn´ıch stanic a jejich moˇzn´ym r˚ uznorod´ym poˇzadavk˚ um na jednotliv´e soubory na nejr˚ uznˇejˇs´ıch m´ıstech souborov´eho syst´emu pˇredstavuje tento server kritick´y bod - konkr´etnˇe zat´ıˇzen´ı disku by mohlo b´yt vˇetˇs´ı neˇz u ´ nosn´a m´ıra. Aby byl pˇr´ıstup protokolem NFS maxim´alnˇe urychlen a t´ım nedoˇslo ke zpomalov´an´ı pr´ace jednotliv´ych stanic, leˇz´ı cel´y poskytovan´y souborov´y syst´em na ramdisku - v pamˇeti serveru je vyˇclenˇeno dostateˇcnˇe velk´e mnoˇzstv´ı pamˇeti, do kter´e je souborov´y syst´em nakop´ırov´an. Pˇr´ıstup pracovn´ıch stanic k jednotliv´ym soubor˚ um je pak zpracov´av´an pouze v pamˇeti, bez jak´ekoliv pr´ace s disky na centr´aln´ım serveru. I toto d´ılˇc´ı zrychlen´ı m´a ovˇsem sv´e nedostatky, kter´e vypl´yvaj´ı z vlastnost´ı ramdisku: po rebootu serveru je pamˇet’ pr´azdn´a a je tˇreba zajistit, aby byl vytvoˇren a naform´atov´an ramdisk a aby byl do nˇeho cel´y souborov´y syst´em nakop´ırov´an. To ovˇsem znamen´a zdrˇzen´ı. Dalˇs´ı nev´yhodou ramdisku je poˇzadavek na vˇetˇs´ı velikost pamˇeti serveru, zvl´aˇst’ v pˇr´ıpadˇe, ˇze je k dispozici nekolik operaˇcn´ıch syst´em˚ u nebo jejich verz´ı. Posledn´ı velkou nev´yhodou je mnoˇzstv´ı s´ıt’ov´ych sluˇzeb, kter´e mus´ı bezchybnˇe fungovat: DHCP, TFTP, NFS, smˇerov´an´ı, pˇrep´ın´an´ı a firewally - u ´pln´a nefunkˇcnost nebo chybn´e fungov´an´ı kter´ekoliv z tˇechto sluˇzeb znamen´a nefunkˇcnost cel´eho syst´emu, proto je nutn´e db´at na spr´avn´y chod vˇsech zaˇr´ızen´ı (t´yka se jak hardwaru, tak softwaru), kter´e jsou do cel´eho syst´emu zapojeny. Vyjmenovan´e nev´yhody tohoto ˇreˇsen´ı spoˇc´ıvaj´ı pˇredevˇs´ım v n´aroˇcnosti na pouˇzit´y hardware, s´ıt’ov´e zaˇr´ızen´ı a kvalitu s´ıtˇe v˚ ubec. Lze konstatovat, ˇze vˇsechna zaˇr´ızen´ı, kter´a jsou ’ pouˇzita na s´ıt ov´e sluˇzby, jsou natolik kvalitn´ı, ˇze by vˇsechen bˇeˇzn´y provoz mˇela zvl´adnout bez pot´ıˇz´ı.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
2
17
Nastaven´ı s´ıtˇ e
2.1
DHCP
DHCP je protokol umoˇzn ˇ uj´ıc´ı konfigurovat (nejen) s´ıt’ na r˚ uzn´ych poˇc´ıtaˇc´ıch v s´ıti pouze z jednoho m´ısta. Protokol je typickou uk´azkou vztahu klient-server, kdy v s´ıti existuje DHCP server a obvykle v´ıce klient˚ u. Pˇr´ıstup klientsk´e stanice k s´ıti nen´ı nejprve v˚ ubec nijak nakonfigurov´an, ale v okamˇziku, kdy stanice potˇrebuje na s´ıti jakkoliv komunikovat, mus´ı vˇedˇet svoji IP adresu, masku s´ıtˇe a dalˇs´ı podrobnosti. Pˇri pouˇzit´ı protokolu DHCP vyˇsle klient ˇz´adost, na kterou oˇcek´av´a odpovˇed’. Je-li v s´ıti DHCP server, kter´y poˇzadavek klienta zachyt´ı a zpracuje, poˇsle odpovˇed’ s veˇsker´ymi informacemi, kter´e klient potˇrebuje vˇedˇet. V tomto pˇr´ıpadˇe potˇrebuje zn´at pracovn´ı stanice tyto u ´ daje: • vlastn´ı IP adresu stanice • dobu platnosti IP adresy • masku s´ıtˇe • IP adresu br´any • IP adresu TFTP serveru • n´azev zav´adˇec´ıho souboru pro PXE na TFTP serveru IP adresa TFTP serveru, stejnˇe jako n´azev souboru pro PXE jsou ve vˇsech odpovˇed´ıch shodn´e, IP adresa stanice je pˇridˇelov´ana dynamicky z pˇr´ısluˇsn´eho rozsahu, stejnˇe tak IP adresa br´any a maska s´ıtˇe. Doba platnosti IP adresy byla stanovena na 30 minut - pˇred uplynut´ım t´eto doby mus´ı klient poˇz´adat o obnovu IP adresy, pokud by se tak nestalo, m˚ uˇze b´yt tato adresa poskytnuta jin´emu klientovi. Tato doba je rozumn´ym kompromisem mezi zbyteˇcn´ym zatˇeˇzov´an´ım s´ıtˇe ˇcast´ymi DHCP dotazy a odpovˇed’mi a pˇr´ıliˇs dlouhou dobou blokov´an´ı adres, kter´e mohou b´yt pˇridˇeleny jiˇz odpojen´ym zaˇr´ızen´ım. 2.1.1
Zabezpeˇ cen´ı DHCP
Jsou-li na jednom segmentu s´ıtˇe dva (nebo v´ıce) DHCP servery, m˚ uˇze doj´ıt k tomu, ˇze klient obdrˇz´ı dvˇe odpovˇedi na sv˚ uj poˇzadavek o konfiguraci pomoc´ı DHCP. V takov´em pˇr´ıpadˇe si klient m˚ uˇze vybrat, kterou odpovˇed´ı se bude ˇr´ıdit, dle sv´eho vlastn´ıho uv´aˇzen´ı [1]. Potenci´aln´ı u ´ toˇcn´ık by tedy mohl snadno do s´ıtˇe pˇripojit vlastn´ı poˇc´ıtaˇc s vlastn´ım DHCP serverem, ˇc´ımˇz by mohl z´ıskat naprostou kontrolu nad vˇsemi daty, kter´e se po s´ıti pos´ılaj´ı [11].
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
18
Aby se takov´emu u ´ toku zamezilo, je na pˇr´ıstupon´ych pˇrep´ınaˇc´ıch implementov´an DHCP snooping [2], technologie, kter´a umoˇzn ˇ uje tiˇse zahazovat (tedy d´ale nepos´ılat) DHCP odpovˇedi od zaˇr´ızen´ı, kter´a nejsou povolena. Konkr´etnˇe na kaˇzd´em pˇrep´ınaˇci mus´ı b´yt oznaˇcen fyzick´y ethernetov´y port, ze kter´eho m˚ uˇze do pˇrep´ınaˇce pˇrij´ıt DHCP odpovˇed - v tomto pˇr´ıpadˇe je to na kaˇzd´em pˇr´ıstupov´em pˇrep´ınaˇci pouze port, kter´ym je pˇrep´ınaˇc propojen se smˇerovaˇcem. Dojde-li pˇrep´ınaˇci na nepovolen´em portu DHCP odpovˇed’, je u ´ plnˇe ignorov´ana.
2.2
TFTP
Protokol TFTP slouˇz´ı k pˇren´aˇsen´ı soubor˚ u mezi poˇc´ıtaˇci bez jak´ekoliv autentizace pomoc´ı UDP paket˚ u. Na serveru jsou um´ıstˇeny soubory nutn´e k u ´ spˇeˇsn´emu zaveden´ı ovl´adac´ıch soubor˚ u pro PXE: • pxelinux.0 - hlavn´ı ovl´adac´ı soubor pro PXE • vesamenu.c32 - umoˇzn ˇ uje grafick´e menu v PXE • bg.jpg - pozad´ı v grafick´em menu • pxelinux.cfg/default - nastaven´ı jednotliv´ych poloˇzek v menu Kromˇe soubor˚ u pro PXE jsou na TFTP serveru pˇr´ıstupn´e tak´e linuxov´a j´adra a samozˇrejmˇe mohou b´yt pˇr´ıstupn´e i obrazy r˚ uzn´ych operaˇcn´ıch syst´em˚ u. 2.2.1
Bezpeˇ cnostn´ı rizika TFTP
Protokol TFTP v sobˇe nem´a ˇz´adnou autentizaci, kaˇzd´y, kdo se pˇripoj´ı k serveru, m˚ uˇze stahovat libovoln´y soubor, o jehoˇz existenci v´ı (nelze listovat soubory nebo adres´aˇre). Rizikem m˚ uˇze b´yt u ´ niku dat z TFTP serveru k u ´ toˇcn´ıkovi, ale obsah tˇechto dat (konfigurace PXE, obraz operaˇcn´ıch syst´emu apod.) nejsou pˇr´ıliˇs citliv´a data, takˇze toto hledisko lze pominout. Protokolem TFTP lze ovˇsem nejem ˇc´ıst data ze serveru, ale je j´ım moˇzn´e i soubory na serveru vytv´aˇret nebo pˇrepisovat, coˇz uˇz bezpeˇcnostn´ım rizikem rozhodnˇe je. Server je tedy nastaven tak, aby nov´e soubory nebylo moˇzn´e vytv´aˇret.
2.3
NFS
NFS je protokol pro sd´ılen´ı soubor˚ u a adres´aˇr˚ u mezi jednotliv´ymi poˇc´ıtaˇci na s´ıti, v proveden´ı klient-server. Server poskytuje ˇc´ast sv´e adres´aˇrov´e struktury klientovi, kter´y si m˚ uˇze poskytovan´a data pˇripojit do lok´aln´ıho adres´aˇre.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
19
Linuxov´y server m´a v adres´aˇri /mnt/sda7/disks adres´aˇre s jednotliv´ymi distribucemi, napˇr. /mnt/sda7/disks/suse-10.3-mini nebo /mnt/sda7/disks/debian-4.0. Cel´y adres´aˇr s distribucemi je pak nasd´ılen ke ˇcten´ı poˇc´ıtaˇc˚ um v s´ıti. Klient, kter´y chce pak pouˇz´ıvat nˇekter´y operaˇcn´ı syst´em, si pak pˇr´ımo na sv˚ uj koˇrenov´y adres´aˇr pˇripoj´ı adres´aˇr ze serveru: client# mount -t nfs server:/mnt/sda7/disks/debian-4.0 / Adres´aˇr, kter´y je na serveru jako /mnt/sda7/disks/debian-4.0/etc je pak na stanici viditeln´y jako /etc. 2.3.1
NFS a bezpeˇ cnost
Protokol NFS umoˇzn ˇ uje sd´ılet adres´aˇre i v reˇzimu read-write, coˇz je v tomto pˇr´ıpadˇe neprosto neˇz´adouc´ı. Server tedy mus´ı b´yt nastaven tak, aby umoˇzn ˇ oval pouze read-only pˇr´ıstup ke sv´ym soubor˚ um. Soubory a adres´aˇre jsou pˇr´ıstupn´e kaˇzd´emu, kdo se k NFS serveru pˇripoj´ı, nicm´enˇe je moˇzn´e tento pˇr´ıstup omezit pouze na urˇcit´y seznam IP adres.
2.4 2.4.1
Bezpeˇ cnost Zabezpeˇ cen´ı smˇ erovaˇ ce a pˇ rep´ınaˇ c˚ u
Smˇerovaˇc je centr´aln´ım komunikaˇcn´ım prvkem mezi pracovn´ımi stanicemi a serverem nebude-li fungovat, nebudou fungovat ani stanice, protoˇze k jak´ekoliv akci, pˇri kter´e by potˇrebovaly ˇc´ıst z disku, nyn´ı ˇctou pˇres s´ıt’ ze serveru. V pˇr´ıpadˇe nefunkˇcn´ıho smˇerovaˇce jsou vˇsichni uˇzivatele bezmocn´ı a proto je tˇreba se jeho zabezpeˇcen´ı dostateˇcnˇe vˇenovat. Hlavn´ı zabezpeˇcen´ı je omezen´ı pˇr´ıstupu k administraci s´ıt’ov´ych prvk˚ u - konfigurovat je lze pouze pˇripojen´ım konzole na s´eriov´y port a zad´an´ım hesla (to ovˇsem vyˇzaduje fyzick´y pˇr´ıstup do zamˇcen´e serverovny) nebo vzd´alen´ym pˇr´ıstupem po s´ıti, ovˇsem pouze administraˇcn´ı virtu´aln´ı s´ıti, kterou nemaj´ı stanice v uˇcebn´ach k dispozici. U pˇr´ıstupov´ach pˇrep´ınaˇc˚ u je pak tˇreba db´at na kontrolu dat, kter´a pˇripojen´a koncov´a zaˇr´ızen´ı do s´ıtˇe pos´ılaj´ı, pˇredevˇs´ım je tˇreba se br´anit proti u ´ tok˚ um na ARP tabulku pomoc´ı port-security [3]. Tato technologie zajist´ı vypnut´ı pˇr´ıstupov´eho portu pˇrep´ınaˇce v pˇr´ıpadˇe, ˇze u ´ toˇcn´ık odes´ıl´a velk´e mnoˇzstv´ı r´amc˚ u s r˚ uzn´ymi MAC adresami (t´ım m˚ uˇze doj´ıt k zaplnˇen´ı ARP tabulky na pˇrep´ınaˇci, ˇc´ımˇz je degradov´an na hub a u ´ toˇcn´ık se t´ım p´adem dostane k veˇsker´emu provozu na s´ıti [11]).
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
20
Dalˇs´ı d˚ uleˇzitou ochranou pˇr´ıstupov´eho bodu je puˇstˇen´ı BPDU guard [3], coˇze je funkce, kter´a zabraˇ nuje pˇrij´ım´an´ı BPDU r´amc˚ u 3 na portech oznaˇcen´ych jako port-fast (pˇredpoklad, ˇze pˇripojen´e zaˇr´ızen´ı do tohoto portu pˇrep´ınaˇce bude jiˇz koncov´a stanice a ne dalˇs´ı pˇrep´ınaˇc). V pˇr´ıpadˇe pˇrijet´ı takov´eho r´amce se jedn´a bud’ o nechtˇen´y z´asah do p´ateˇrn´ı infrastruktury (coˇz m˚ uˇze v´est teoreticky aˇz ke kolapsu cel´e s´ıtˇe) nebo o c´ılen´y u ´ tok (´ utoˇcn´ık by pak mohl nepozorovanˇe zachyt´avat u ´ plnˇe vˇsechen provoz na s´ıti [11]). 2.4.2
Ochrana serveru
Pˇr´ıstup k serveru je moˇzn´y pouze z kl´avesnice (opˇet je nutn´y fyzick´y pˇr´ıstup do serverovny) nebo vzd´alenˇe ˇsifrovan´ym protokolem SSH, to vˇse se znalost´ı n´azvu uˇzivatele a hesla. Na serveru je nainstalov´an firewall, kter´y zahazuje jak´ekoliv pakety, kter´e nejsou explicitnˇe povoleny. Mezi povolen´y provoz patˇr´ı: • SSH (port 22/tcp) z omezen´eho mnoˇzstv´ı IP adres • TFTP (port 69/udp) pouze ze s´ıt´ı v uˇcebn´ach • NFS (port 777/udp) pouze ze s´ıt´ı v uˇcebn´ach I jednotliv´e programy na serveru maj´ı dalˇs´ı vlastn´ı omezen´ı pˇrisp´ıvaj´ıc´ı ke zv´yˇsen´ı bezpeˇcnosti, kter´e se mohou uplatnit v pˇr´ıpadˇe nefunkˇcnosti lok´aln´ıho firewallu: • TFTP server pracuje pouze v reˇzimu read-only • NFS server pracuje pouze v reˇzimu read-only • NFS server poskytuje data pouze klient˚ um ze s´ıt´ı v uˇcebn´ach 2.4.3
Kontrola paket˚ u v s´ıti
Kromˇe lok´aln´ıho firewallu na serveru existuje jeˇstˇe firewall na smˇerovaˇci, kter´y nepouˇst´ı k serveru jin´e neˇz povolen´e pakety - de facto se jedn´a o obdobu serverov´eho firewallu. Tento firewall lze do budoucna vyuˇz´ıt i ke kontrole nebo omezen´ı dat smˇeruj´ıc´ıch z uˇceben, do uˇceben nebo mezi jednotliv´ymi uˇcebnami.
3
souˇca´st protokolu STP, kter´ y slouˇz´ı k zabraˇ nov´an´ı packet storm˚ u ve velk´ ych pˇrep´ınan´ ych s´ıt´ıch a urˇcov´an´ı tras na druh´e vrstvˇe OSI
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
3 3.1
21
Pracovn´ı stanice Nastaven´ı BIOSu
V podstatˇe jedin´e nastaven´ı v BIOSu pracovn´ıch stanic je spr´avn´e poˇrad´ı bootov´an´ı. Pracovn´ı stanice je nastavena tak, ˇze je povoleno pouze bootov´an´ı ze s´ıtˇe a z pevn´eho disku (pro pˇr´ıpad, ˇze by z jak´ehokoliv d˚ uvodu s´ıt’ nebyla k dispozici). Pˇr´ıstup k tomuto nastaven´ı je chr´anˇen heslem, aby ho mohli mˇenit pouze spr´avci (pˇredevˇs´ım pˇri opravˇe lok´aln´ı instalace OS Microsoft Windows na pevn´em disku, kdy je nutn´e bootovat z CD).
3.2
PXE menu
Pˇri bootov´an´ı ze s´ıtˇe si PXE st´ahne konfiguraˇcn´ı soubor, ve kter´em jsou obsaˇzeny jednotliv´e poloˇzky menu. Implicitn´ı volba je pokraˇcov´an´ı v bootov´an´ı z pevn´eho disku, tedy nabˇehnut´ı lok´aln´ıho operaˇcn´ıho syst´emu Microsoft Windows. Ostatn´ı volby jsou pˇredpˇripraven´e verze operaˇcn´ıho syst´emu Linux um´ıstˇen´e na centr´aln´ım serveru. Od okamˇziku zobrazen´ı menu m´a pak uˇzivatel 4 sekundy ˇcas na to, aby si vybral jin´y neˇz pˇredvolen´y operaˇcn´ı syst´em (ˇcas se zastav´ı stisknut´ım libovoln´e kl´avesy). Pak m´a dalˇs´ıch 30 sekund na to, aby si pomoc´ı ˇsipek vybral jinou poloˇzku v menu.
3.3
Linuxov´ e j´ adro
V pˇr´ıpadˇe v´ybˇeru OS Linux se pomoc´ı protokolu TFTP st´ahne obraz linuxov´eho j´adra. J´adro pak pˇreb´ır´a bˇeh poˇc´ıtaˇce - zaˇcne detekc´ı procesoru, pamˇet´ı, hardwaru atd. D˚ uleˇztou vˇec´ı nakonec je moˇznost pˇripojen´ı linuxov´eho souborov´eho syst´emu pˇres s´ıt’ - j´adro vyˇsle DHCP dotaz na nastaven´ı s´ıtˇe, pak nastav´ı s´ıt’ov´e rozhran´ı a nakonec pˇripoj´ı koˇrenov´y souborov´y syst´em a v nˇem pak standardnˇe spust´ı program init.
3.4
Bˇ eh OS Linux
Cel´y spuˇstˇen´y operaˇcn´ı syst´em se pak nad´ale chov´a jako bˇeˇzn´y nabootovan´y OS Linux - init zajist´ı spuˇstˇen´ı z´akladn´ıch startovac´ıch skript˚ u, spuˇstˇen´ı softwarov´ych sluˇzeb a umoˇzn´ı uˇzivateli pˇrihl´aˇsen´ı a bˇeˇznou pr´aci.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
ˇ ast III C´
´ C ˇ AST ´ PRAKTICKA
22
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
23
Konfigurace s´ıt’ov´ ych prvk˚ u
4 4.1
Pˇ r´ıstupov´ e pˇ rep´ınaˇ ce Cisco 2950
Vˇsechny zde uveden´e konfigurace pˇrep´ınaˇce Cisco 2950, vˇcetnˇe jejich popis˚ u, jsou k dispozici v manu´alnu k tomuto zaˇr´ızen´ı [3]. 4.1.1
D˚ uleˇ zit´ e glob´ aln´ı nastaven´ı a zabezpeˇ cen´ı
Hlavn´ı zabezpeˇcovac´ı glob´aln´ı direktivy zajiˇst’uj´ı ˇsifrovan´e uloˇzen´ı hesla 4 , omezen´ı pˇr´ıstupu pouze z konzole nebo z omezen´eho poˇctu IP adres 5 a pouˇzit´ı BPDU Guard [3] jako ochranu proti moˇzn´emu ohroˇzen´ı nastaven´ı virtu´aln´ıch s´ıt´ı. service password-encryption enable secret 5 $1$5UYo$wO7xFXanBb0e5XRvAfOmQ0 access-list 8 permit 10.0.5.1 aceess-list 8 permit 10.0.5.11 spanning-tree portfast bpduguard default line con 0 password 7 1314001719181D login line vty 0 15 access-class 8 in password 7 1314001719181D login Kromˇe tˇechto obvykl´ych zabezpeˇcovac´ıch metod je nutn´e tak´e zapnout DHCP snooping [3], tedy zahazov´an´ı DHCP paket˚ u typu DHCPOFFER jiˇz na druh´e vrstvˇe OSI, staˇc´ı pouze pro ty s´ıtˇe, kter´e jsou na uˇcebn´ach a protokol DHCP je zde nutn´e pouˇz´ıvat. ip dhcp snooping vlan 781 782 783 no ip dhcp snooping vlan option 4.1.2
Nastaven´ı pˇ r´ıstupov´ ych port˚ u
Pˇr´ıstupov´e porty jsou ty porty na pˇrep´ınaˇci, do kter´ ych jsou jiˇz pˇripojena koncov´a zaˇr´ızen´ı (tedy pˇr´ımo jednotliv´e poˇc´ıtaˇce na uˇcebn´ach). Podle toho, ve kter´e uˇcebnˇe se poˇc´ıtaˇc fyzicky nach´az´ı, je port nastaven pˇr´ımo v dan´e virtu´aln´ı s´ıti.
4 5
v uveden´em pˇr´ıkladu je zaˇsifrovan´e heslo qwerty seznam je uveden v access-listu ˇc. 8
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
24
V nastaven´ı portu lze vidˇet nˇekolik zabezpeˇcen´ı: • pˇriˇrazen´ı portu do konkr´etn´ı virtu´aln´ı s´ıtˇe • nastaven´ı port-security [3], tedy odraˇzen´ı u ´ toku, kdy je na pˇrep´ınaˇc pos´ıl´ano vˇetˇs´ıho mnoˇzstv´ı MAC adres [11] • oznaˇcen´ı portu jako port-fast [3], coˇz zabraˇ nuje u ´ toku na protokol STP v souvislosti s glob´aln´ım zapnut´ım BPDU guard • omezen´ı poˇctu vys´ıl´an´ı DHCP ˇz´adost´ı interface FastEthernet0/3 description Workstations - 305/13 switchport access vlan 781 switchport mode access switchport port-security switchport port-security maximum 2 switchport port-security aging time 2 switchport port-security violation restrict switchport port-security aging type inactivity spanning-tree portfast ip dhcp snooping limit rate 16 ! 4.1.3
Nastaven´ı uplinku
Nastaven´ı portu pro uplink jiˇz neobsahuje tolik restrikc´ı, nicm´enˇe vzhledem k pouˇz´ıv´an´ı DHCP snoopingu je nutn´e na tomto portu povolit DHCP odpovˇedi (na tomto portu budou pˇrich´azet od DHCP serveru). Dalˇs´ım mal´ym kr˚ uˇckem k vyˇsˇs´ı bezpeˇcnosti je vyjmenov´an´ı jednotliv´ych virtu´aln´ıch s´ıt´ı, kter´e na uplinku povolujeme. 6 interface FastEthernet0/24 description Uplink switchport trunk allowed vlan 50,781,782,783 switchport mode trunk ip dhcp snooping trust !
4.2
Smˇ erovaˇ c Cisco 3550
P´ateˇrn´ı smˇerovaˇc slouˇz´ı jako spojovac´ı uzel mezi jednotliv´ymi pˇr´ıstupov´ymi pˇrep´ınaˇci a jako bod pˇripojen´ı k Internetu, proto funguje ve vˇsech virtu´aln´ıch s´ıt´ıch (pro uˇcebny i server) jako br´ana. Vˇsechny zde uveden´e konfigurace smˇerovaˇce Cisco 3550, vˇcetnˇe jejich popis˚ u, jsou k dispozici v manu´alu k tomuto zaˇr´ızen´ı [4]. 6
VLAN ˇc. 50 je administrativn´ı virtu´ aln´ı s´ıt’
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008 4.2.1
25
Zabezpeˇ cen´ı pˇ r´ıstupu
Zabezpeˇcen´ı pˇr´ıstupu je stejn´e jako u pˇr´ıstupov´ych pˇrep´ınaˇc˚ u, BPDU guard ani DHCP Snooping zde nem´a smysl, to je oˇsetˇreno jiˇz na pˇr´ıstupov´e vrstvˇe. 4.2.2
Smˇ erov´ an´ı
Smˇerovaˇc zajiˇst’uje pˇredevˇs´ım smˇerov´an´ı paket˚ u mezi jednotliv´ymi s´ıtˇemi a zajiˇst’uje pˇripojen´ı s´ıt´ı k Internetu. Zde je uk´azkov´a konfigurace smˇerov´an´ı, kdy je vidˇet adresace jednotliv´ych virtu´aln´ıch s´ıt´ı a nastaven´ı br´any pro pˇr´ıstup k Internetu: interface Vlan50 description Internet ip address 10.5.0.3 255.255.255.0 ! interface Vlan780 description Server ip address 10.254.254.1 255.255.255.192 ! interface Vlan781 description Ucebna 1 ip address 10.254.254.65 255.255.255.192 ! interface Vlan782 description Ucebna 2 ip address 10.254.254.129 255.255.255.192 ! interface Vlan783 description Ucebna 3 ip address 10.254.254.193 255.255.255.192 ! ip default-gateway 10.5.0.1 Jak je vidˇet, kaˇzd´a uˇcebna m´a pˇridˇelen´y rozsah o velikosti 64 IP adres, coˇz umoˇzn ˇ uje pˇripojit aˇz 61 koncov´ych zaˇr´ızen´ı (prvn´ı adresa je ˇc´ıslo s´ıtˇe, druh´a adresa je IP na virtu´aln´ım rozhran´ı smˇerovaˇce - IP adresa br´any pro pˇripojen´e poˇc´ıtaˇce, posledn´ı adresa je broadcast). 4.2.3
DHCP Server
Na tomto smˇerovaˇci je nutn´e nastavit tak´e spr´avn´y chod DHCP serveru [4]. V t´eto uk´azce je vidˇet nastaven´ı pro 3 uˇcebny. Prvn´ı 4 adresy z IP rozsahu server nebude pˇridˇelovat (mohou slouˇzit k administrativn´ım u ´ˇcel˚ um nebo jako rezerva). Jednotliv´e rozsahy maj´ı nastavenu s´ıt’, br´anu, IP adresu TFTP serveru, n´azev hlavn´ıho souboru pro PXE na TFTP serveru a dobu platnosti IP adresy. 7 . 7
hodnoty 0 0 30 znamenaj´ı 0 dn´ı, 0 hodin a 30 minut
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
ip dhcp excluded-address 10.254.254.64 10.254.254.68 ip dhcp excluded-address 10.254.254.128 10.254.254.132 ip dhcp excluded-address 10.254.254.192 10.254.254.196 ip dhcp pool workstations-room-305 network 10.254.254.64 255.255.255.192 default-router 10.254.254.65 bootfile /pxelinux.0 next-server 10.254.254.2 lease 0 0 30 ! ip dhcp pool workstations-room-306 network 10.254.254.128 255.255.255.192 default-router 10.254.254.65 bootfile /pxelinux.0 next-server 10.254.254.2 lease 0 0 30 ! ip dhcp pool workstations-room-307 network 10.254.254.192 255.255.255.192 default-router 10.254.254.65 bootfile /pxelinux.0 next-server 10.254.254.2 lease 0 0 30 !
26
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
5
27
Konfigurace PXE
Cel´a konfigurace PXE je uloˇzena v jednom souboru, kter´y je pro pracovn´ı stanici dostupn´y protokolem TFTP. Konfiguraˇcn´ı soubor pouˇzit´y pro pracovn´ı stanice v uˇcebn´ach FAI UTB je souˇc´ast´ı pˇr´ılohy t´eto pr´ace, d˚ uleˇzit´e parametry jsou pops´any v t´eto kapitole.
5.1
Zabezpeˇ cen´ı a timeouty
Z´akladn´ı zabezpeˇcen´ı PXE spoˇc´ıv´a v tom, ˇze uˇzivatel m˚ uˇze pouze vyb´ırat z tˇech poloˇzek, kter´e mu d´a spr´avce TFTP serveru k dispozici, tedy ˇze si nem˚ uˇze pˇridat vlastn´ı moˇznost a ani nesm´ı upravovat parametry nab´ızen´ych poloˇzek. Toho se doc´ıl´ı nˇekolika parametry [5]: • noescape 1 - PXE nebude reagovat na tzv. escape kl´avesy, pomoc´ı kter´ych by mohl uˇzivatel u ´ plnˇe vyskoˇcit z menu • prompt 0 - neumoˇzn´ı zadat uˇzivateli vlastn´ı moˇznost jako alternativu k definovan´ym poloˇzk´am v menu • allowoptions 0 - znemoˇzn´ı uˇzivateli mˇenit parametry jednotliv´ych poloˇzek v menu Timeouty jsou definov´any, aby uˇzivatel v dan´em ˇcasov´em u ´ seku musel prov´est nˇejakou akci, pokud ˇz´adnou neprovede, spust´ı se v menu prvn´ı poloˇzka: • timeout 40 - uˇzivatel mus´ı do 4 sekund od zobrazen´ı menu stisknout jakoukoliv kl´avesu • totaltimeout 300 - uˇzivatel m´a do 30 sekund na to, aby si proˇcetl poloˇzky v menu (eventuelnˇe n´apovˇedy k nim) a nˇekterou z nich si vybral
5.2
Nastaven´ı menu
PXE umoˇzn ˇ uje jak obyˇcejn´e textov´e rozhran´ı pro v´ybˇer poloˇzek v menu, tak grafick´e rozhran´ı. Grafick´e rozhran´ı umoˇzn ˇ uje pr´aci s v´ıce barvami, posun menu tak, aby zapadlo do obr´azku na pozad´ı a v˚ ubec p˚ usob´ı na uˇzivatele v´ıce pˇr´atelsky. Z toho d˚ uvodu bude pouˇzito grafick´e menu [6]: • default vesamenu.c32 - PXE si pomoc´ı TFTP st´ahne tento soubor, kter´y grafick´e rozhran´ı umoˇzn ˇ uje • menu background bg.jpg - PXE si opˇet pomoc´ı TFTP st´ahne soubor s obr´azkem (mus´ı m´ıt rozmˇer 640x480 pixel˚ u, form´at m˚ uˇze b´yt JPG nebo PNG) Dalˇs´ı konfigurace v zhledu menu, upravuj´ı pozici a rozmˇery menu a n´apovˇed, jsou vidˇet pˇr´ımo v souboru na DVD pˇriloˇzen´ym k t´eto pr´aci, v souboru tvoˇr´ı druh´y odstavec a jsou uvozeny kl´ıˇcov´ym slovem menu.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
5.3
28
Poloˇ zky v menu
Jednotliv´e poloˇzky v menu jsou uvozeny kl´ıˇcov´ym slovem label a unik´atn´ım identifik´atorem poloˇzky. Aˇz do dalˇs´ı definice label se vˇsechna nastaven´ı t´ykaj´ı t´eto poloˇzky. Kaˇzd´a poloˇzka m´a nav´ıc tyto parametry [5]: • menu label - slovn´ı n´azev poloˇzky, kter´y se zobraz´ı v menu • text help, endtext - vˇsechny ˇr´adky mezi tˇemito dvˇema parametry budou v menu zobrazeny jako n´apovˇeda nebo popis k dan´e poloˇzce • kernel - j´adro operaˇcn´ıho syst´emu, kter´e se m´a st´ahnout pomoc´ı TFTP a spustit, v tomto projektu se jedn´a vˇzdy jen o zkompilovan´e linuxov´e j´adro nebo o soubor memdisk, kter´y je souˇc´ast´ı bal´ıku pxelinux a kter´y st´ahne pomoc´ı TFTP cel´y obraz operaˇcn´ıho syst´emu, kter´y se m´a spustit, nahraje ho do pamˇeti a pokus´ı se ho nabootovat. Jako uk´azka je na TFTP serveru uloˇzen obraz star´eho syst´emu MS-DOS 6.2, kter´y je dnes volnˇe pˇr´ıstupn´y na Internetu a kter´ y se dˇr´ıve bootoval z diskety. Operaˇcn´ı syst´em je velmi jednoduch´y, kromˇe z´akladn´ıch pˇr´ıkaz˚ u na pr´aci s adres´aˇri a soubory obsahuje pouze podporu pro CD-ROM. • append - parametry pro j´adro operaˇcn´ıho syst´emu, v pˇr´ıpadˇe linuxov´eho j´adra jde pˇr´ımo o parametry pro j´adro, v pˇr´ıpadˇe pouˇzit´ı memdisku obsahuje n´azev souboru pˇr´ıstupn´eho pomoc´ı TFTP, kter´y bude nahr´an do pamˇeti a nabootov´an • localboot 0 - tento pˇr´ıkaz se pouˇzije v pˇr´ıpadˇe, ˇze se nebootuje po s´ıti, ale z lok´aln´ıho disku (ˇc´ıslo ud´av´a, kter´y disk se m´a pouˇz´ıt), v tomto pˇr´ıpadˇe se parametry kernel ani memdisk nepouˇzij´ı
5.4
Parametry pro linuxov´ e j´ adro
Linuxov´emu j´adru mohou b´yt pˇred´any jak´ekoliv parametry, kter´e potˇrebuje, nicm´enˇe pro konkr´etn´ı nabootov´an´ı po s´ıti jsou nutn´e tyto [7]: • root=/dev/nfs - cel´y koˇrenov´y souborov´y syst´em bude pˇripojen protokolem NFS • ip=dhcp - j´adro si mus´ı zjistit IP adresu s´ıt’ov´eho rozhran´ı a dalˇs´ı nastaven´ı s´ıtˇe protokolem DHCP • nfsroot=IP:/path - cesta k souborov´emu syst´emu, kter´y je pˇr´ıstupn´y protokolem NFS, IP je IP adresa serveru a /path je cel´a cesta k souborov´emu syst´emu na centr´aln´ım serveru, cel´e pˇresn´e nastaven´ı tedy m˚ uˇze vypadat napˇr. takto: nfsroot=10.254.254.2:/remote-linux/disks/debian-4.0
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
6
29
Centr´ aln´ı linuxov´ y server
Operaˇcn´ı syst´em na centr´aln´ım serveru je Linux, je lhostejn´e, o jakou se jedn´a distribuci, nutn´e ovˇsem je, aby server mˇel nainstalovan´y vˇsechen potˇrebn´y software: • TFTP server • NFS server • podpora dostateˇcnˇe velk´eho ramdisku • kompilace linuxov´eho j´adra Vˇsechna data potˇrebn´a pro bˇeh pracovn´ıch stanic jsou um´ıstˇena na samostatn´em diskov´em odd´ılu, kter´y je pˇripojen do /mnt/sda7. Zde jsou tyto adres´aˇre: • kernel - obsahuje rozbalen´a linuxov´a j´adra (napˇr. kernel/linux-2.6.25) i jiˇz zkompilovan´a j´adra (napˇr. kernel/bzImage-2.6.25) • disks - obsahuje souborov´e syst´emy pro pracovn´ı stanice (napˇr. disks/debian-4.0) • tftp - obsahuje potˇrebn´e soubory pro TFTP
6.1
Ramdisk
Pro zv´yˇsen´ı rychlosti odezvy serveru budou veˇsker´a data potˇrebn´a pro pracovn´ı stanice um´ıstˇena na ramdisku, tedy v ˇc´asti pamˇeti. Aby bylo nˇeco takov´eho na serveru moˇzn´e, je nutn´e m´ıt v j´adˇre podporu pro minim´alnˇe jeden dostateˇcnˇe velk´y ramdisk. Po startu serveru je ovˇsem nutn´e zajistit jeho form´atov´an´ı, pˇripojen´ı do adres´aˇre /remote-linux a vytvoˇren´ı adres´aˇrov´e struktury se soubory. Skript, kter´y toto vˇsechno zajist´ı, je k vidˇen´ı na DVD pˇriloˇzen´em k t´eto pr´aci.
6.2
TFTP server
TFTP server je moˇzn´e spouˇstˇet pomoc´ı obecn´eho s´ıt’ov´eho softwaru pro spouˇstˇen´ı sluˇzeb xinetd nebo jako tzv. standalone sluˇzbu. Pro zv´yˇsen´ı bezpeˇcnosti se bude spouˇstˇet tftpd s pr´avy uˇzivatele nobody, poskytovan´e soubory budou uloˇzeny v adres´aˇri /remote-linux/tftp. 6.2.1
Spouˇ stˇ en´ı pˇ res xinetd
V pˇr´ıpadˇe, ˇze tftpd m´a b´yt spouˇstˇeno pomoc´ı xinetd, staˇc´ı upravit soubor /etc/xinetd.d/tftp, a to takto:
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
service tftp { socket_type protocol wait user server server_args disable }
= = = = = = =
30
dgram udp yes root /usr/sbin/in.tftpd -u nobody -s /remote-linux/tftp no
Nyn´ı jiˇz staˇc´ı zajistit spouˇstˇen´ı xinetd na serveru standardn´ı cestou. 6.2.2
Spouˇ stˇ en´ı jako standalone server
Pˇri absenci xinetd nebo z jak´ehokoliv jin´eho d˚ uvodu je moˇzn´e spouˇstˇet tftpd i jako samostatnˇe bˇeˇz´ıc´ı server. Na to je tˇreba vytvoˇrit skript, kter´y by pouˇstˇel sluˇzbu automaticky pˇri startu serveru (bohuˇzel neb´yv´a souˇc´ast´ı standardn´ı instalace tftpd). Tento skript se m˚ uˇze nach´azet mezi ostatn´ımi standardn´ım serverov´ymi skripty v /etc/rc.d, popˇr. jinde, z´aleˇz´ı na konkr´etn´ı distribuci. Uk´azkov´y skript je uloˇzen na DVD, kter´e je pˇriloˇzeno k t´eto pr´aci. 6.2.3
Parametry pro tftpd
V obou uveden´ych pˇr´ıpadech spouˇstˇen´ı jsou zadan´e n´asleduj´ıc´ı parametry [8]: • -u nobody - zajist´ı, ˇze server pobˇeˇz´ı s pr´avy uˇzivatele nobody a nikoliv uˇzivatele root, kter´y server spouˇst´ı • -s /remote-linux/tftp - adres´aˇr, ve kter´em se nach´az´ı soubory a adres´aˇre pˇr´ıstupn´e pomoc´ı TFTP V pˇr´ıpadˇe spouˇstˇen´ı tftpd jako standalone serveru k tˇemto dvˇema parametr˚ um jeˇstˇe pˇribude -l, coˇz je instrukce pro tftpd, aby pr´avˇe bˇeˇzel ve standalone m´odu a nikoliv jako jedin´y proces, kter´y po obslouˇzen´ı pˇr´ıchoz´ı konexe bude samoˇcinnˇe ukonˇcen.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008 6.2.4
31
Obsah adres´ aˇ re pro TFTP
Obsahem adres´aˇre /remote-linux/tftp je vˇsechno, co potˇrebuje pracovn´ı stanice pro uskuteˇcnˇen´ı bootov´an´ı pomoc´ı PXE: • bg.jpg - soubor v rozliˇsen´ı 800x600 bod˚ u, pouˇzije se na pozad´ı pˇri v´ybˇeru operaˇcn´ıho syst´emu • images/bzImage-2.6.25 - zkompilovan´e linuxov´e j´adro • images/dosboot.img - obraz operaˇcn´ıho syst´emu MS-DOS (slouˇz´ı jako uk´azka, jak lze nabootovat i jin´y neˇz linuxov´y operaˇcn´ı syst´em) • memdisk - soubor umoˇzn ˇ uj´ıc´ı pomoc´ı PXE st´ahnout do pracovn´ı stanice obraz jak´ehokoliv syst´emu a n´aslednˇe ho spustit • pxelinux.0 - hlavn´ı ovl´adac´ı soubor pro PXE • pxelinux.cfg/default - nastaven´ı menu pro PXE • vesamenu.c32 - podp˚ urn´y soubor pro PXE, umoˇzn ˇ uje grafick´e pozad´ı pˇri v´ybˇeru operaˇcn´ıho syst´emu V´yrobˇe linuxov´eho j´adra je vˇenov´ana samostatn´a kapitola, soubor dosboot.img je obraz staˇzen´y z Internetu. Obr´azek na pozad´ı je jednoduch´y grafick´y v´ytvor.
6.3 6.3.1
NFS server Spouˇ stˇ en´ı NFS serveru
NFS server lze spouˇstˇet standardn´ı cestou, pouze je tˇreba zajistit, aby NFS server poslouchal na konkr´etn´ım portu 8 , abychom mohli snadno kontrolovat pˇr´ıchoz´ı pakety. Toho se dos´ahne t´ım, ˇze se ve startovac´ım skriptu pro NFS server zajist´ı, aby se proces rpc.mountd spouˇstˇel s parametrem -d n´asledovan´ym ˇc´ıslem portu. Pro tento konkr´etn´ı pˇr´ıpad byl vybr´an port 777. 6.3.2
Nastaven´ı adres´ aˇ r˚ u pˇ r´ıstupn´ ych pˇ res NFS
Nastaven´ı NFS serveru se prov´ad´ı editac´ı souboru /etc/exports. Nastaven´ı je v tomto pˇr´ıpadˇe pomˇernˇe jednoduch´e: /remote-linux/disks
10.254.254.0/255.255.255.0(ro)
T´ım bude obsah adres´aˇre /remote-linux/disks pˇr´ıstupn´y pouze pro ˇcten´ı (d´ıky parametru ro) pro jak´ekoliv zaˇr´ızen´ı na s´ıti, jehoˇz IP adresa je v rozmez´ı 10.254.254.0 - 10.254.254.255. V tomto rozsahu jsou zahrnuty vˇsechny s´ıtˇe ve vˇsech uk´azkov´ych uˇcebn´ach. 8
nezad´ an´ım parametru pro konkr´etn´ı port nastartuje NFS server na n´ ahodn´em voln´em portu
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
6.4
32
Lok´ aln´ı firewall
Lok´aln´ı firewall je realizov´an pomoc´ı iptables a je koncipov´an tak, ˇze vˇsechny pakety jdouc´ı na server nebo ze serveru mus´ı m´ıt charakter povolen´eho provozu, jinak jsou zahozeny. Firewall je pouˇstˇen po startu poˇc´ıtaˇce pomoc´ı skriptu um´ıstˇen´eho v /etc/rc.d nebo podobn´em (opˇet z´aleˇzn´ı na konkr´etn´ı distribuci). Uk´azkov´y startovac´ı skript je moˇzn´e nal´ezt na DVD pˇriloˇzen´ym k t´eto pr´aci, stejnˇe jako soubor s pravidly. Pravidla je ovˇsem tˇreba trochu popsat: • povoleny jsou pouze takov´e pˇrij´ıman´e pakety, jejichˇz c´ılov´a IP adresa je adresou serveru, z´aroveˇ n jsou povoleny pouze takov´e odchoz´ı pakety, jejichˇz zdrojov´a IP adresa je IP adresa serveru • povolen je provoz na loopbacku • je zak´az´ano pˇrij´ımat fragmenty paket˚ u, nav´ıc kaˇzd´a nov´a pˇr´ıchoz´ı TCP konexe mus´ı zaˇc´ınat korektn´ım paketem typu SYN • je povolen provoz protokolem ICMP, ovˇsem pouze takov´y provoz, kter´y vzniknul na serveru • smˇerem ze serveru jsou povoleny pouze TCP konexe na c´ılov´e porty 20 a 21 (ftp), 22 (ssh), 25 (smtp), 80 (http) a 443 (https) • smˇerem ze serveru jsou povoleny pouze UDP konexe na c´ılov´e porty 53 (dns) a 123 (ntp) • pˇr´ıstup na sluˇzby LDAP, TFTP, NFS a SSH je povolen pouze z definovan´ych IP adres9
6.5 6.5.1
Kompilace linuxov´ eho j´ adra pro pracovn´ı stanice Nutn´ e vlastnosti j´ adra
Na linuxov´e j´adro nen´ı kladeno pˇr´ıliˇs n´arok˚ u, aby vˇsak pracovn´ı stanice fungovala tak, jak m´a, mus´ı b´yt splnˇena tato krit´eria: • j´adro by mˇelo b´yt nemodul´arn´ı (tedy nebude m´ıt ˇz´adnou podporu pro moduly), t´ım se usnadn´ı vazba j´adra a jednotliv´ych distribuc´ı, protoˇze pak je moˇzn´e dos´ahnout stavu, kdy s jedn´ım j´adrem lze bez dalˇs´ı manipulace s jednotliv´ymi moduly fungovat na r˚ uzn´ych distribuc´ıch, tedy odpad´a instalace modul˚ u do vˇsech pˇripraven´ych distribuc´ı • podpora pro ty s´ıt’ov´e karty, kter´e jsou v pracovn´ıch stanic´ıch 9
nutnost protokolu LDAP je diskutov´an v dalˇs´ıch kapitol´ ach
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
33
• podpora pro ramdisk (nˇekter´e programy vyˇzaduj´ı moˇznost z´apisu na disk, coˇz na pracovn´ı bezdiskov´e stanici nen´ı moˇzn´e) - postaˇc´ı podpora 4 ramdisk˚ u o velikosti 32 MiB • podpora protokolu NFS • moˇznost m´ıt koˇrenov´y souborov´y syst´em pˇripojen´y pomoc´ı NFS • ˇz´adn´a podpora pro pevn´e IDE nebo SATA disky (t´ım je ochr´anˇen lok´aln´ı disk v jednotliv´ych stanic´ıch proti chtˇen´emu nebo nechtˇen´emu ˇcten´ı a z´apisu, nainstalovan´y syst´em Microsoft Windows bˇehem pr´ace v OS Linux bude nedotknuteln´y) J´adra jsou rozbalena na serveru v adres´aˇri /mnt/sda7/kernel, tedy napˇr. v adres´aˇri /mnt/sda7/kernel/linux-2.6.25. Konfigurace je standardnˇe v souboru .config. J´adro lze jednoduˇse konfigurovat pomoc´ı sekvence pˇr´ıkaz˚ u: • cd /mnt/sda7/kernel/linux-2.6.25 • make menuconfig - spust´ı konfiguraˇcn´ı program, kter´y vyuˇz´ıv´a hiearchick´y syst´em konfigurace • make bzImage - zkompiluje v´ysledn´y obraz j´adra • cp arch/x86/boot/bzImage ../bzImage-2.6.25 - zkop´ıruje v´ysledn´y obraz j´adra, aby nebyl pˇreps´an eventueln´ı rekompilac´ı a aby byl dostupn´y pro kop´ırov´an´ı na ramdisk do adres´aˇre pro TFTP Protoˇze v budovˇe FAI UTB je nˇekolik poˇc´ıtaˇcov´ych uˇceben, je zvolen´e j´adro zkompilov´ano pokud moˇzno co nejv´ıce obecnˇe - podpora nˇekter´ ych konkr´etn´ıch vˇec´ı ustupuje, naopak j´adro obsahuje podporu pro obecn´e drivery. V´yjimku tvoˇr´ı samozˇrejmˇe podpora s´ıt’ov´ych karet. Souboru .config je uloˇzen na DVD pˇriloˇzen´ym k t´eto pr´aci. 6.5.2
D˚ uleˇ zit´ e parametry linuxov´ eho j´ adra
Pˇri v´ybˇeru konfigurace j´adra byly zvoleny n´asleduj´ıc´ı parametry (vybr´any jsou zde jen d˚ uleˇzit´e): • General setup / Support for pagging of anonymous memory - vypnuto (ˇz´adn´a podpora pro swap; u bezdiskov´ych stanic nem´a smysl) • Enable loadable module support - vypnuto (j´adro nebude nijak pracovat s moduly) • Processor type and features – Processor family - zvoleno Pentium-III – Generic x86 support - vybr´ano
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
34
– High Memory Support - zvoleno 4GB (umoˇzn ˇ uje vyuˇzit´ı RAM v pracovn´ı stanici aˇz do 4 GiB) • Executable file formats - zvolena pouze podpora pro ELF binaries • Networking / Network options – IP: Kernel level autoconfiguration - zapnuto (umoˇzn ˇ uje pouˇz´ıv´an´ı protokol˚ u DHCP apod. bˇehem bootov´an´ı) – IP: DHCP support - zapnuto – The IPv6 protocol - vypnuto (IPv6 se v s´ıt´ı FAI UTB nepouˇz´ıv´a) • Device drivers – Block devices / RAM block device support - zapnuto (podpora pro ramdisk) – Block devices / Default number of RAM disks - nastaveno 4 – Block devices / Default RAM disk size - nastaveno 32768 – ATA/ATAPI/MFM/RLL support / Include IDE/ATA-2 DISK support - vypnuto (syst´em v˚ ubec nebude pracovat s pevn´ymi IDE disky) – ATA/ATAPI/MFM/RLL support / Include IDE/ATAPI CDROM support - zapnuto (naopak pr´ace s CD-ROM by mˇela b´yt umoˇznˇena) – SCSI device support / SCSI disk support - zapnuto (umoˇzn ˇ uje pr´aci s SCSI disky takov´e disky v pracovn´ıch stanic´ıch sice nejsou, ale pˇredpokl´ad´a se pr´ace s USB flash disky, s tˇemi se pracuje d´ıky emulaci SCSI) – SCSI device support / SCSI low-level drivers - vypnuto (podpora pro fyzick´e SCSI ˇradiˇce nen´ı potˇreba) – Serial ATA and Parallel ATA drivers - vypnuto (podpora SATA disk˚ u nen´ı u bezdiskov´e stanice tˇreba) – Network device support / Ethernet (10 or 100 Mbit) - zde byla vybr´ana podpora pro tyto s´ıt’ov´e karty: 3c590/3c900, EtherExpressPro/100, PCI NE2000, nForce, RealTek RTL-8129/8130/8139 – Graphics support ∗ /dev/agppart - zapnuta podpora tˇechto chipset˚ u: ATI, AMD, Intel, NVIDIA, VIA ∗ Direct Rendering manager - zapnuto – Sound card support - vypnuto (na pracovn´ıch stanic´ıch v uˇcebn´ach se nebude ˇz´adn´e zvukov´e zaˇr´ızen´ı pouˇz´ıvat). – USB Support / USB Mass Storage Support - zapnuto (podpora pro USB disky, vˇcetnˇe obvykl´ych USB Flash pamˇet´ı)
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
35
• File systems – Second extended fs support - zapnuto – Ext3 journalling file system support - zapnuto – Kernel automounter support - zapnuto (usnadn´ı uˇzivatel˚ um pr´aci s pˇripojen´ım CD-ROM nebo USB disk˚ u) – CD-ROM/DVD FIlesystems - zapnuta podpora pro ISO 9660, Microsoft Joliet Extension a UDF – DOS/FAT/NT Filesystems - zapnuta podpora pro MSDOS a VFAT – Network File Systems - zapnuta podpora pro NFSv3, Root file system on NFS, SMB, CIFS a NCP (pˇripojov´an´ı svazk˚ u pˇres ss´ıt’ typu Novell)
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
7
36
Linuxov´ a distribuce pro pracovn´ı stanice
Pˇripraven´a linuxov´a distribuce je jedn´ım z hlavn´ıch u ´kol˚ u t´eto pr´ace. Distribuce obsahuje kompletn´ı adres´aˇrovou strukturu a soubory nutn´e pro standardn´ı bˇeh operaˇcn´ıho syst´emu, aby bylo moˇzn´e s n´ım bˇeˇzn´ym zp˚ usobem pracovat. K vytvoˇren´ı distribuce vhodn´e pro bˇeh v reˇzimu na s´ıti vedou dvˇe cesty. Distribuce se d´a vytv´aˇret pˇr´ımo soubor po souboru, kdy na zaˇc´atku je jen pr´azdn´y adres´aˇr, ve kter´em se vytv´aˇr´ı adres´aˇrov´a struktura a do n´ı se postupnˇe nahr´avaj´ı vˇsechny potˇrebn´e soubory, nebo lze na jednu vybranou pracovn´ı stanici nainstalovat OS Linux se vˇsemi potˇrebn´ymi programy a vybaven´ım, cel´y nainstalovan´y syst´em se pak zkop´ıruje na server a d´ale uprav´ı tak, aby byl pˇripraven na spouˇstˇen´ı pomoc´ı protokolu NFS. Jako uk´azkov´a distribuce, kter´a bude nainstalov´ana na pracovn´ı stanici a pak zkop´ırov´ana na server, kde bude upravena, byla vybr´ana distribuce Debian verze 4.0 Etch. Jej´ı fin´aln´ı podobou by mˇel b´yt plnˇe vyuˇziteln´y pracovn´ı desktop (tedy bude obsahovat webov´y prohl´ıˇzeˇc, kancel´aˇrsk´y software apod.). Tento postup nen´ı univerz´aln´ı, pˇri pouˇzit´ı jin´e distribuce nebo dokonce i jin´e verze distribuce Debian m˚ uˇze nastat situace, kdy bude potˇreba prov´est dalˇs´ı u ´ pravy, znemoˇznit spouˇstˇen´ı nˇekter´ych program˚ u nebo naopak nov´e programy nainstalovat. Distribuce, kter´a bude vytvoˇrena od z´aklad˚ u jako uk´azkov´a minidistribuce, bude m´ıt sv˚ uj z´aklad v SuSE 10.3. Slouˇz´ı zde pouze jako uk´azka tvorby velmi mal´e distribuce, kter´a bude m´ıt pouze z´akladn´ı sadu n´astroj˚ u pro pr´aci se soubory a adres´aˇri a samozˇrejmˇe pro pr´aci se s´ıt´ı. Popsan´y postup je t´emˇeˇr univerz´aln´ı a lze ho uplatnit i na jin´e distribuce nebo jin´e verze.
7.1
Hlavn´ı oˇ cek´ avan´ e probl´ emy
Nejvˇetˇs´ı probl´emy se spuˇstˇen´ım OS Linux po s´ıti budou s programy, kter´e vyˇzaduj´ı nˇejak´y z´apis do soubor˚ u, a to pˇrev´aˇznˇe do adres´aˇrov´e struktury /var, do adres´aˇre pro doˇcasn´e soubory /tmp a do adres´aˇre se soubory pro speci´aln´ı zaˇr´ızen´ı /dev. Samozˇrejmˇe je moˇzn´e, ˇze r˚ uzn´e softwary budou vyˇzadovat z´apis jeˇstˇe jinam, to se vˇsak bude muset ˇreˇsit individu´alnˇe. Z´apis do adres´aˇr˚ u /var a /tmp lze vyˇreˇsit pomˇernˇe snadno: vytvoˇren´ım dvou ramdisk˚ ua jejich pˇripojen´ım na oba adres´aˇre, nav´ıc v /var vytvoˇrit pˇr´ısluˇsnou adres´aˇrovou strukturu. Cel´y tento postup bude muset probˇehnout pˇred startem dalˇs´ıch program˚ u. Dalˇs´ım oˇcek´avan´ym probl´emem bude pˇripojov´an´ı souborov´ych syst´em˚ u, protoˇze kaˇzd´e pˇripojen´ı znamen´a z´apis do souboru /etc/mtab, kter´y je ale na pracovn´ı stanici k dispozici pouze pro ˇcten´ı a nikoliv pro z´apis. Samotn´e pˇripojov´an´ı probl´em nen´ı, pˇr´ıkaz mount sice vyp´ıˇse varov´an´ı, ale souborov´y syst´em pˇresto pˇripoj´ı. Probl´em nast´av´a aˇz
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
37
v okamˇziku spouˇstˇen´ı program˚ u, kter´e z tohoto souboru ˇctou informace o pˇripojen´ych souborov´ych syst´emech, protoˇze tyto programy pak nemus´ı fungovat korektnˇe, napˇr. program pro zjiˇstˇen´ı voln´eho m´ısta na disku df. Stejn´e informace jako /etc/mtab ovˇsem d´av´a soubor /proc/mounts, ˇreˇsen´ım tedy pravdˇepodobnˇe bude neexistence souboru /etc/mtab a m´ısto nˇeho symbolick´y odkaz na /proc/mounts.
7.2 7.2.1
Instalace a konfigurace OS Debian 4.0 Instalace OS na pracovn´ı stanici a jeho kop´ırov´ an´ı
Instalace OS na pracovn´ı stanici prob´ıh´a naprosto stejnˇe jako jak´akoliv jin´a instalace, v´ybˇer instalovan´eho softwaru je t´emˇeˇr libovoln´y. Jakmile je syst´em kompletnˇe nainstalov´an a nakonfigurov´an, je syst´em pˇripraven ke kop´ırov´an´ı. Kop´ırov´an´ı bˇeˇz´ıc´ıho syst´emu ovˇsem s sebou nese rizika, nˇekter´e programy mohou m´ıt na disku otevˇren´e soubory, nelze kop´ırovat existuj´ıc´ı sockety apod. Zkop´ırovan´y syst´em by tedy mohl m´ıt se spouˇstˇen´ım nˇekter´ych program˚ u pot´ıˇze. Systm´em lze zkop´ırovat dvˇema zp˚ usoby. Bud’ lze zastavit vˇsechny moˇzn´e bˇeˇz´ıc´ı programy, kromˇe tˇech, kter´e jsou nezbytn´e k vlastn´ımu kop´ırov´an´ı (zastavit lze napˇr. syslog, cron, sshd, acpid atd.) a pak vytvoˇrit jedin´y velk´y zkompriomvan´y soubor: workstation# cd / workstation# tar -zc -f /debian-4.0.tar.gz bin boot dev etc home lib mnt opt root sbin tmp usr var Pˇr´ıkaz tar vytvoˇr´ı soubor, kter´y bude obsahovat vˇsechny nutn´e soubory a adres´aˇre v distibuci, nav´ıc zachov´a vˇschna pˇr´ıstupov´a pr´ava nastaven´a na souborech a adres´aˇr´ıch, stejnˇe jako u ´ daje o vlastn´ıkovi a skupinˇe. Adres´aˇre jsou vyjmenov´any, v seznamu chyb´ı adres´aˇre /proc a /sys, kter´e obsahuj´ı dynamicky generovan´e syst´emy a jejich pˇrenos tedy nem´a ˇz´adn´y smysl. Vznikl´y soubor /debian-4.0.tar.gz se m˚ uˇze pak nakop´ırovat pˇr´ımo na server pouˇzit´ım jak´ehokoliv s´ıt’ov´eho protokolu umoˇzn ˇ uj´ıc´ı pˇrenos soubor˚ u (SSH, NFS, SMB, FTP atd.) nebo na USB flash, CD nebo DVD atd. Soubor se pak na centr´aln´ım serveru rozbal´ı a distribuce se bude opravovat aˇz na serveru: server# server# server# server#
cd /mnt/sda7/disks mkdir debian-4.0 cd debian-4.0 tar -xz -f /debian-4.0.tar.gz
Druh´y zp˚ usob znamen´a zastavit syst´em a rebootovat poˇc´ıtaˇc do jin´eho operaˇcn´ıho syst´emu (lze pouˇz´ıt napˇr. live linuxovou distribuci spustitelnou z CD nebo se d´a nabootovat do jin´eho operaˇcn´ıho syst´emu na disku). Disk nebo ˇc´ast disku obsahuj´ıc´ı distibuci Debian se pak pˇripoj´ı do nˇejak´eho adres´aˇre a zabal´ı do jednoho souboru:
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
workstation# workstation# workstation# workstation#
38
mkdir /mnt/debian mount /dev/hda4 /mnt/debian cd /mnt/debian tar -zc -f /debian-4.0.tar.gz bin boot dev etc home lib mnt opt root sbin tmp usr var
Pˇrenos a rozbalov´an´ı souboru /debian-4.0.tar.gz pak prob´ıh´a stejn´ym zp˚ usobem jako v prvn´ım pˇr´ıpadˇe. 7.2.2
´ Uprava soubor˚ u /etc/fstab a /etc/mtab
Z´akladn´ı podm´ınkou pro u ´ spˇeˇsn´e nabootov´an´ı OS Linux pˇres s´ıt’ je u ´ prava souboru /etc/fstab. Ten obsahuje u ´ daje o tom, kter´e souborov´e syst´emy se budou pˇripojovat pˇri startu operaˇcn´ıho syst´emu, coˇz pˇri prvotn´ı instalaci na disk bude urˇcitˇe nˇekter´a ˇc´ast na disku, napˇr. /dev/sda4. Tento disk ovˇsem nen´ı na pracovn´ı stanici k dispozici a bootovac´ı proces by se v tomto okamˇziku zastavil. Upraven´y soubor by mˇel vypadat takto: proc sysfs usbfs
/proc /sys /proc/bus/usb
proc sysfs usbfs
defaults defaults defaults
0 0 0 0 0 0
Pˇripojen´ı koˇrenov´eho souborov´eho syst´emu jiˇz probˇehlo pomoc´ı protokolu NFS, takˇze zb´yv´a pˇripojit virtu´aln´ı souborov´e syst´emu nutn´e pro chod serveru a dalˇs´ıch sluˇzeb. V souboru /etc/fstab nen´ı definov´an ˇz´adn´y lok´aln´ı disk ani jin´e lok´aln´ı zaˇr´ızen´ı. Oproti bˇeˇzn´ym syst´em˚ um zde nen´ı ani swap 10 , jeho pouˇzit´ı u bezdiskov´ych stanic nem´a ˇz´adn´y smysl. Soubor /etc/mtab by tedy mˇel b´yt symbolick´y odkaz na /proc/mounts: server# cd /mnt/sda7/disks/debian-4.0/etc server# rm mtab server# ln -s ../proc/mounts mtab 7.2.3
Obsah ramdisk˚ u a jejich pˇ ripojov´ an´ı
Celkem budou pouˇzity 2 ramdisky: /dev/ram0 bude slouˇzit pro z´apis do /tmp, /dev/ram1 bude slouˇzit program˚ um, kter´e vyˇzaduj´ı z´apis do /var. Cel´y existuj´ıc´ı adres´aˇr /var ale zab´ır´a pˇr´ıliˇs m´ısta (napˇr. /var/lib m´a v´ıce neˇz 100 MiB). Ramdisk tedy bude pˇripojen do adres´aˇre /var/ram a pokud bude vyˇzadov´an z´apis do nˇekter´eho z adres´aˇr˚ u, bude se postupovat takto: 10
vyhrazen´e m´ısto na disku pro pˇr´ıpad, ˇze by doˇslo k zaplnˇen´ı cel´e operaˇcn´ı pamˇeti a bylo by tˇreba jej´ı ˇca´st doˇcasnˇe uvolnit tak, ˇze se uloˇz´ı na disk a v pˇr´ıpadˇe potˇreby se opˇet naˇcte
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
39
• obsah vˇsech vybran´ych adres´aˇr˚ u se uloˇz´ı do bal´ıku /var/ram.tar • tyto vybran´e adres´aˇre se odstran´ı • m´ısto kaˇzd´eho takov´eho adres´aˇre se udˇel´a symbolick´y odkaz do adres´aˇrov´e struktury ve /var/ram • pˇri startu syst´emu se vyvtoˇr´ı ramdisk a pˇripoj´ı se do /var/ram • do adres´aˇre /var/ram se rozbal´ı pˇredpˇripraven´y bal´ık /var/ram.tar Vybran´e adres´aˇre, kter´e mus´ı b´yt z r˚ uzn´ych d˚ uvod˚ u zapisovateln´e, jsou: /var/lock, /var/run, /var/tmp, /var/log, /var/lib/urandom, /var/lib/exim4, /var/lib/gdm a /var/db. Adres´aˇr /var/log nicm´enˇe obsahuje star´e logov´e soubory jeˇstˇe z instalace, kter´e na pracovn´ı stanici nemaj´ı ˇz´adn´y smysl, takˇze pˇred vytvoˇren´ım bal´ıku /var/ram.tar se klidnˇe mohou odstranit. server# cd /mnt/sda7/disks/debian-4.0/var server# mkdir ram server# find log/ -type f -exec rm -f {} \; server# tar -cf ram.tar lock run log tmp lib/urandom lib/exim4 server# for DIR in in db lock run log tmp; do > rm -rf ${DIR} > ln -s ram/${DIR} ${DIR} > done server# for DIR in lib/urandom lib/exim4 lib/gdm; do > rm -rf ${DIR} > ln -s ../ram/${DIR} ${DIR} > done Pˇripojen´ı ramdisk˚ u mus´ı probˇehnout pˇred spouˇstˇen´ım dalˇs´ıch program˚ u. Toho se doc´ıl´ı vytvoˇren´ım speci´aln´ıho startovac´ıho skriptu, kter´ y se bude spouˇstˇet jako prvn´ı. Jeho um´ıstˇen´ı je /etc/init.d/preinit, spouˇstˇen´ı se zajist´ı tˇemito pˇr´ıkazy: server# cd /mnt/sda7/disks/debian-4.0/etc/rcS.d/ server# ln -s ../init.d/preinit S00preinit
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
40
Pr´ace programu preinit: • vytvoˇr´ı souborov´y syst´em na /dev/ram0 a pˇripoj´ı ho do /tmp • vytvoˇr´ı adres´aˇrovou strukturu a nastav´ı spr´avn´a pˇr´ıstupov´a pr´ava do /tmp • vytvoˇr´ı souborov´y syst´em na /dev/ram1 a pˇripoj´ı ho do /var/ram • rozbal´ı bal´ık /var/ram.tar do adres´aˇre /var/ram Program preinit bude prov´adˇet jeˇstˇe dalˇs´ı u ´ kony, kter´e jsou pops´any v dalˇs´ıch kapitol´ach. 7.2.4
Drobn´ eu ´pravy nˇ ekter´ ych startovac´ıch skript˚ u
Nˇekter´e startovac´ı skripty bˇehem startu poˇc´ıtaˇce hl´as´ı varov´an´ı, kter´a ale nejsou nijak kritick´a. Uˇzivatele by to mohlo m´ast, proto je tˇreba upravit nˇekter´e soubory: • /etc/init.d/discover - komentovat ˇr´adku 177 (ˇcte soubor /proc/modules, ale tento soubor neexistuje, protoˇze podpora modul˚ u nen´ı do linuxov´eho j´adra pˇrid´ana) • /etc/init.d/mountall.sh - skript se snaˇz´ı pˇripojit jiˇz pˇripojen´e syst´emy (napˇr. /proc), a proto vˇzdy skonˇc´ı s chybou, ˇreˇsen´ım je dod´an´ı pˇr´ıkazu /bin/true na ˇr´adku 27 7.2.5
Nastaven´ı s´ıtˇ e
Nastaven´ı s´ıtˇe, kter´e je v OS Linux Debian, bohuˇzel kv˚ uli sv´e robustnosti pˇr´ıliˇs nevyhovuje jednoduch´emu poˇzadavku, aby jedin´e s´ıt’ov´e rozhran´ı bylo ovl´ad´ano pomoc´ı programu dhclient, kter´y zajiˇst’uje konfiguraci pomoc´ı protokolu DHCP. Z toho d˚ uvodu je veˇsker´e nastavov´an´ı s´ıtˇe vypnuto a program dhclient je spouˇstˇen´y z programu preinit. Nepotˇrebn´e programy se daj´ı vypnout: server# chroot /mnt/sda7/disks/debian-4.0/ bash# update-rc.d -f ifupdown remove bash# update-rc.d -f networking remove bash# update-rc.d -f hostname.sh remove Jeˇstˇe je tˇreba odstranit nˇekter´e soubory z adres´aˇre /etc/init.d/dbus, kter´e se tak´e snaˇz´ı manipulovat se s´ıt´ı. Soubory se mohou nˇekam zaz´alohovat pro pˇr´ıpad pozdˇejˇs´ıho vyuˇzit´ı nebo u ´ plnˇe smazat: server# cd /mnt/sda7/disks/debian-4.0/etc/dbus/event.d server# rm 24dhcdbd 25NetworkManager 26NetworkManagerDispatcher
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
41
Nov´e u ´ kony v programu preinit jsou: • pˇripojen´ı souborov´eho syst´emu /proc (bez nˇej nem˚ uˇze program dhclient v˚ ubec fungovat) • spuˇstˇen´ı programu dhclient (nastavov´an´ı s´ıtˇe pomoc´ı DHCP ) • zjiˇstˇen´ı pˇridˇelen´e IP adresy a jej´ıho reverzn´ıho z´aznamu, z nˇeho pak odvodit a nastavit hostname 11 Nastaven´ı programu dhclient [9] (soubor /etc/dhcp3/dhclient.conf): send dhcp-lease-time 1800; request subnet-mask, routers; require subnet-mask, routers; timeout 24; select-timeout 5; backoff-cutoff 16; initial-interval 8; script "/bin/true"; D´ale je tˇreba zmˇenit obsah konfiguraˇcn´ıho souboru pro program udev, kter´y se snaˇz´ı pˇriˇradit n´azvy s´ıt’ov´ych interfac˚ u podle jejich MAC adres (´ udaje v souboru jsou z doby instalace). Ze souboru /etc/udev/rules.d/z25 persistent-net.rules je tˇreba odstranit kaˇzdou ˇr´adku, kter´a zaˇc´ın´a nastaven´ım promˇenn´e SUBSYSTEM: server# cd /mnt/sda7/disks/debian-4.0/etc/udev/rules.d server# grep -v ^SUBSYSTEM= z25_persistent-net.rules > tmpfile server# mv -f tmpfile z25_persistent-net.rules Posledn´ım krokem pro funkˇcn´ı nastaven´ı s´ıtˇe je korektn´ı nastaven´ı DNS serveru. Pro celou univerzitn´ı s´ıt’ se pouˇz´ıv´a jeden DNS server, takˇze jeho IP adresa m˚ uˇze b´yt nastavena pˇr´ımo v souboru /etc/resolv.conf: server# echo "nameserver 195.178.88.66" > /mnt/sda7/disks/debian-4.0/etc/resolv.conf 7.2.6
Pr´ ace s CD/DVD mechanikou
CD/DVD mechaniky bohuˇzel nejsou na vˇsech pracovn´ıch stanic´ıch FAI UTB stejn´e, dokonce nejsou ani vˇsude stejnˇe zapojen´e. Mechaniky typu IDE jsou na nˇekter´ych stanic´ıch jako zaˇr´ızen´ı ˇc. 1, jinde jako ˇc. 2 nebo ˇc. 3. Detekce tˇechto mechanik je tedy dalˇs´ı u ´ kol programu preinit, ten mus´ı zjistit, jak´e zaˇr´ızen´ı je typu CD/DVD. 11
n´ azev pracovn´ı stanice
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
42
Program preinit se nejprve pokus´ı naj´ıt zaˇr´ızen´ı typu IDE. Proch´az´ı jednotliv´a zaˇr´ızen´ı v adres´aˇri /proc/ide a pro kaˇzd´e z nich zkouˇs´ı obsah souboru media. Je-li jeho obsahem kl´ıˇcov´e slovo cdrom, jedn´a se o IDE CD/DVD mechaniku. Program tedy vytvoˇr´ı symbolick´y odkaz /var/ram/cd ukazuj´ıc´ı pˇr´ımo na speci´aln´ı zaˇr´ızen´ı pro dan´e IDE zaˇr´ızen´ı v adres´aˇri /dev, napˇr. /dev/hdd. Nenalezne-li program preinit CD/DVD mechaniku typu IDE, pokus´ı se jeˇstˇe nal´ezt zaˇr´ızen´ı typu SATA. K tomu pouˇzije pˇr´ıkaz lsscsi, kter´y mu dod´a vˇsechna dostupn´a SCSI zaˇr´ızen´ı 12 vˇcetnˇe jejich typu a speci´aln´ıch soubor˚ u. Nen´ı-li ˇz´adn´e takov´e zaˇr´ızen´ı nalezeno, symbolick´y odkaz /var/ram/cd nebude vytvoˇren. Pokud existuje v´ıce takov´ych zaˇr´ızen´ı (na ˇz´adn´e souˇcasn´e pracovn´ı stanici tomu tak nen´ı), vytvoˇr´ı se symbolick´y odkaz pouze na prvn´ı nalezen´e zaˇr´ızen´ı. Se symbolick´ym odkazem /var/ram/cd se m˚ uˇze pracovat stejnˇe jako se speci´aln´ım souborem v adres´aˇri /dev, napˇr. pˇripojov´an´ı souborov´eho syst´emu na CD/DVD m˚ uˇze vypadat takto: workstation# mkdir /tmp/cdrom workstation# mount -t auto /var/ram/cd /tmp/cdrom/ 7.2.7
Pˇ ripojov´ an´ı USB flash disk˚ u
Velmi popul´arn´ı zaˇr´ızen´ı na pˇrenos dat mezi poˇc´ıtaˇci jsou v dneˇsn´ı dobˇe USB flash disky. Jedn´a se o mal´a zaˇr´ızen´ı, jejichˇz rozmˇery nepˇresahuj´ı p´ar centimetr˚ u, do poˇc´ıtaˇce se pˇripojuj´ı pˇres USB rozhran´ı a funguj´ı tak jako pˇrenosn´a datov´a u ´ loˇziˇstˇe. USB flash disk je v syst´emu pˇr´ıstupn´y d´ıky emulaci v j´adru jako bˇeˇzn´y SCSI disk, na kter´em je jen jeden odd´ıl 13 . Na tomto odd´ılu je obvykle souborov´y syst´em typu FAT (podpora pro tento souborov´y syst´em v j´adˇre pro pracovn´ı stanice je). Prvn´ı pˇripojen´y USB flash disk bude v syst´emu pˇr´ıstupn´y jako prvn´ı SCSI disk, tedy /dev/sda, s jedin´ym pˇripojiteln´ym odd´ılem /dev/sda1. Tento odd´ıl lze snadno pˇripojit do libovoln´eho adres´aˇre:
12
zaˇr´ızen´ı typu SATA syst´emu jsou pˇr´ıstupn´e pˇrem emulaci SCSI pro ovˇeˇren´ı rozdˇelov´an´ı tˇechto zaˇr´ızen´ı na jednotliv´e odd´ıly bylo otestov´ano 10 r˚ uzn´ ych USB flash disk˚ u nebo MP3 pˇrehr´avaˇc˚ u o r˚ uzn´ ych velikostech a od r˚ uzn´ ych v´ yrobc˚ u, vˇsechny byly rozdˇeleny stejnˇe 13
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
43
workstation# fdisk -l /dev/sda Disk: /dev/sda: 262 MB, 262144000 bytes 16 heads, 32 sectors/track, 1000 cylinders Units = cylinders of 512 * 512 = 262144 bytes Device Boot /dev/sda1 *
Start 1
End 999
Blocks 255728
Id 6
System FAT16
workstation# mkdir /tmp/flash workstation# mount /dev/sda1 /tmp/flash Dalˇs´ı pˇripojen´y USB flash disk bude m´ıt data uloˇzen´a na /dev/sdb1, tˇret´ı pˇripojen´y disk na /dev/sdc1 atd. 7.2.8
Pouˇ z´ıv´ an´ı autofs pro pˇ ripojov´ an´ı USB disk˚ u a CD/DVD
Uveden´y postup pro pˇripojov´an´ı souborov´ych syst´em˚ u m˚ uˇze b´yt pro uˇzivatele pˇr´ıliˇs n´aroˇcn´y a nav´ıc pro spouˇstˇen´ı pˇr´ıkaz˚ u mount (i umount) v t´eto podobˇe vyˇzaduje pˇr´ıstupov´a pr´ava uˇzivatele root, kter´y ale nen´ı bˇeˇzn´ym uˇzivatel˚ um k dispozici. Snadn´e ˇreˇsen´ı je pouˇzit´ı autofs, syst´emu, kter´y je souˇc´ast´ı linuxov´eho j´adra (podpora tohoto syst´emu byla do j´adra pro pracovn´ı stanice vloˇzena) a kter´y um´ı pˇripojit souborov´y syst´em v okamˇziku, kdy se uˇzivatel nebo spuˇstˇen´y program pokus´ı ˇc´ıst nebo zapsat do pˇredem urˇcen´eho adres´aˇre. Program autofs se spouˇst´ı automaticky pˇri startu syst´emu a jeho hlavn´ı nastaven´ı je v souboru /etc/auto.master: /mnt /flash
/etc/auto.mnt --timeout=60 /etc/auto.flash --timeout=5
Toto nastaven´ı znamen´a, ˇze program autofs bude sledovat pˇr´ıstupy do zat´ım pr´azdn´eho adres´aˇre /mnt a do adres´aˇre /flash, ten je tˇreba ovˇsem vytvoˇrit: server# mkdir /mnt/sda7/disks/debian-4.0/flash Jednotliv´e podadres´aˇre uvnitˇr tˇechto dvou adres´aˇr˚ u nejsou nijak vidˇet, dokud k nim nen´ı pˇristoupeno. Parametr --timeout ud´av´a poˇcet sekund, kdy je zaˇr´ızen´ı samoˇcinnˇe odpojeno, pokud k nˇemu nikdo nepˇristupuje. U USB flash syst´em˚ u, kde jsou uˇzivatel´e vˇetˇsinou zvykl´ı odpojovat zaˇr´ızen´ı kdykoliv, je nastaveno m´alo sekund, u CD/DVD mechaniky je tento ˇcas delˇs´ı. Nastaven´ı souboru /etc/auto.mnt: cd
-fstype=auto,users,ro
:/var/ram/cd
T´ım je definov´an adres´aˇr /mnt/cd, kter´y zat´ım neexistuje. Pokud ovˇsem uˇzivatel provede pˇr´ıstup k tomuto adres´aˇri (napˇr. pˇr´ıkazem $cd /mnt/cd), program autofs se pokus´ı pˇripojit zaˇr´ızen´ı /dev/cd do adres´aˇre /mnt/cd a v pˇr´ıpadˇe u ´ spˇechu se pˇr´ıkaz cd u ´ spˇeˇsnˇe provede.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
44
Parametry jsou na jedin´e ˇr´adce souboru /etc/auto.mnt zaps´any v tomto poˇrad´ı: podadres´aˇr, parametry pro pˇr´ıkaz mount a zaˇr´ızen´ı, kter´e se m´a pˇripojit. V tomto pˇr´ıpadˇe jsou parametry pro pˇr´ıkaz mount [12] tyto: • fstype=auto - automatick´e rozpozn´av´an´ı typu souborov´eho syst´emu • user - kter´ykoliv uˇzivatel m˚ uˇze zaˇr´ızen´ı pˇripojit (nemus´ı m´ıt tedy pˇr´ıstupov´a pr´av´a uˇzivatele root) • ro - syst´em bude pˇripojen v reˇzimu pro read-only Nastaven´ı souboru /etc/auto.flash (pˇredpokl´ad´a se, ˇze v jedn´e pracovn´ı stanici budou zapojeny nejv´yˇse 4 USB flash disky souˇcasnˇe, pokud by se uk´azalo, ˇze tento poˇcet je mal´y, staˇc´ı pˇridat dalˇs´ı ˇr´adky): 1 2 3 4
-fstype=auto,users,fmask=111,dmask=000,sync -fstype=auto,users,fmask=111,dmask=000,sync -fstype=auto,users,fmask=111,dmask=000,sync -fstype=auto,users,fmask=111,dmask=000,sync
:/dev/sda1 :/dev/sdb1 :/dev/sdc1 :/dev/sdd1
Pˇr´ıstup na jednotliv´e pˇripojen´e USB flash disky tedy uˇzivatel z´ısk´a pˇr´ıstupem do adres´aˇr˚ u /flash/1, /flash/2 atd. Oproti parametr˚ um pro pˇr´ıkaz mount ze souboru /etc/auto.mnt pˇribyly dalˇs´ı dva [12]: • fmask=111 - nastavuje pˇr´ıstupov´a pr´ava na soubory v pˇripojen´em souborov´em syst´emu, hodnota 111 znamen´a, ˇze u kaˇzd´eho souboru je povolen z´apis a ˇcten´ı, jak pro vlastn´ıka, tak pro skupinu a ostatn´ı uˇzivatele, vlastn´ıkem sice bude vˇzdy uˇzivatel root, stejnˇe jako skupina, ale t´ımto parametrem je zajiˇstˇeno, ˇze uˇzivatel´e mohou s daty na flash disku libovolnˇe nakl´adat • dmask=000 - nastavuje pˇr´ıstupov´a pr´ava na adres´aˇre v pˇripojen´em souborov´em syst´emu, hodnota 000 znamen´a, ˇze vlastn´ık, skupina i ostatn´ı uˇzivatel´e maj´ı pro kaˇzd´y adres´aˇr vˇsechna pr´ava • sync - vˇsechna ˇcten´ı i z´apisy na USB flash disk budou vykon´av´ana okamˇzitˇe 7.2.9
Konfigurace X Window
Syst´em X Window je grafick´e prostˇred´ı v OS Linux. Jeho univerz´aln´ı konfigurace zˇrejmˇe neexistuje, je pˇr´ıliˇs z´avisl´a na pouˇz´ıvan´em hardwaru, od vstupn´ıch zaˇr´ızen´ı (myˇsi, kl´avesnice) aˇz po v´ystupn´ı (grafick´a karta, monitor). V´yroba nˇejak´e konfigurace, kter´a by byla funkˇcn´ı v kaˇzd´e pracovn´ı stanici ve vˇsech poˇc´ıtaˇcov´ych uˇcebn´ach nen´ı moˇzn´a, protoˇze v r˚ uzn´ych uˇcebn´ach jsou r˚ uzn´e druhy hardwaru.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
45
Linuxov´e distribuce maj´ı obvykle nˇejak´y n´astroj na detekci hardwaru a n´asledn´e vytv´aˇren´ı konfiguraˇcn´ıho souboru /etc/X11/xorg.conf, v distribuci Debian se tento n´astroj spouˇst´ı t´ımto pˇr´ıkazem: # dpkg-reconfigure -f passthrough xserver-xorg Parametr -f passthough zajist´ı, ˇze program se nebude pt´at uˇzivatele na ˇz´adnou ot´azku (bez ud´an´ı tohoto parametru si nech´av´a vˇsechny odhadnut´e hodnoty potvrdit) a pˇredpokl´ad´a, ˇze uˇzivatel odpov´ıd´a na kaˇzdou ot´azkou souhlasem. V´ysledkem tohoto programu je nov´y soubor /etc/X11/xorg.conf. Adres´aˇr /etc/X11 je ale pˇr´ıstupn´y pouze pro ˇcten´ı, takˇze podobnˇe jako v pˇr´ıpadˇe pˇr´ıpravy adres´aˇrov´e struktury /var se nyn´ı obsah /etc/X11 zabal´ı, odstran´ı a na jeho m´ıstˇe se vytvoˇr´ı symbolick´y odkaz do /var/ram/X11: server# server# server# server#
cd /mnt/sda7/disks/debian-4.0/etc tar cf X11.tar X11 rm -rf X11 ln -s ../../var/ram/X11 X11
Do programu preinit je jeˇstˇe nutn´e dodat dalˇs´ı u ´ kon: po pˇripojen´ı ramdisku do /var/ram zde rozbalit obsah souboru /etc/X11.tar a spustit pˇr´ıkaz dpkg-reconfigure. Vytvoˇren´y soubor xorg.conf ovˇsem obsahuje pouze minim´aln´ı konfiguraci, tedy z´akladn´ı nastaven´ı kl´avesnice (bez podpory ˇceˇstiny) a rozliˇsen´ı 800x600. To je tˇreba jeˇstˇe upravit, coˇz zajist´ı opˇet program preinit. Do sekce Monitor se mus´ı pˇridat n´asleduj´ıc´ı ˇr´adky: HorizSync 28-69 VertRefresh 43-75 Tyto hodnoty by mˇely plnˇe postaˇcovat pro bˇeˇzn´e rozliˇsen´ı, kter´e je v souˇcasn´e dobˇe na pracovn´ıch stanic´ıch 1280x1024 nebo u starˇs´ıch monitor˚ u 1024x768, u stanic s ˇsiroko´ uhl´ym LCD monitorem pak 1200x800. Tato rozliˇsen´ı je nutn´e jeˇstˇe pˇridat do souboru xorg.conf do sekce Screen a vˇsech jejich subsekc´ı Display: Modes "1280x1024" "1200x800" "1024x768" Nastaven´ı ˇcesk´e kl´avesnice pak vyˇzaduje u ´ pravy v sekci Keyboard. Uˇzivatel bude m´ıt na v´ybˇer mezi dvˇema rozloˇzen´ımi kl´aves: standardn´ı americk´e rozloˇzen´ı a ˇcesk´e rozloˇzen´ı qwertz. Mezi jednotliv´ymi rozloˇzen´ımi se d´a pˇrep´ınat souˇcasn´ym stiskem kl´aves ALT a SHIFT. Standardn´ı rozloˇzen´ı je ˇcesk´e, v pˇr´ıpadˇe pˇrepnut´ı do americk´eho rozloˇzen´ı se nav´ıc rozsv´ıt´ı na kl´avesnici kontrolka ScrollLock. Option Option Option Option
"XkbModel" "XkbLayout" "XkbVariant" "XkbOptions"
"pc104" "cz,us" "qwertz" "grp:alt_ahift_toggle,grp_led:scroll"
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008 7.2.10
46
Ovˇ eˇ rov´ an´ı uˇ zivatel˚ u protokolem LDAP
Pracovn´ı stanice mus´ı b´yt schopn´a ovˇeˇrovat uˇzivatele jak z lok´aln´ıch zdroj˚ u (soubor /etc/passwd), tak protokolem LDAP. K tomu je tˇreba modifikovat syst´emov´e soubory, kter´e autentizaci uˇzivatel˚ u zajiˇst’uj´ı [14]. Soubor /etc/nsswitch.conf mus´ı kromˇe jin´ych obsahovat i tyto ˇr´adky: passwd: group: shadow:
compat ldap compat ldap compat ldap
Soubor /etc/pam.d/common-auth auth auth
sufficient required
pam_ldap.so pam_unix.so nullok_secure use_first_pass
Soubor /etc/pam.d/common-account account account account
required sufficient required
pam_unix.so pam_ldap.so pam_unix.so try_first_pass
Soubor /etc/pam.d/common-password password password
sufficient required
pam_ldap.so pam_unix.so nullok obscure min=4 max=8 md5
Ovˇeˇrov´an´ı uˇzivatel˚ u proti univerzitn´ımu serveru ldap.utb.cz bohuˇzel nen´ı moˇzn´e. Datov´a struktura uˇzivatele pro u ´ spˇeˇsn´e pˇrihl´aˇsen´ı do OS Linux mus´ı m´ıt nˇekolik povinn´ych poloˇzek [14], univerzitn´ı LDAP server ovˇsem neposkytuje ani jednu: • objectClass: account • objectClass: posixAccount • objectClass: shadowAccount • loginShell (obvykl´a hodnota /bin/bash) • uidNumber (identifikaˇcn´ı ˇc´ıslo uˇzivatele, napˇr. 1012 ) • gidNumber (identifikaˇcn´ı ˇc´ıslo skupiny, napˇr. 1000 ) • homeDirectory (cesta k domovsk´emu adres´aˇri) • userPassword (zaˇsifrovan´e heslo uˇzivatele)
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
47
V souˇcasn´e dobˇe se uvaˇzuje o reinstalaci univerzitn´ıho LDAP serveru a o pˇrechodu na jinou neˇz souˇcasnou platformu (nyn´ı se pouˇz´ıv´a NDS od firmy Novell). Do t´e doby server nen´ı moˇzn´e pouˇz´ıvat. Prozat´ım bude tedy spuˇstˇen vlastn´ı LDAP server (na centr´aln´ım serveru), kter´y bude m´ıt vlastn´ı datab´azi vlastn´ıch uˇzivatel˚ u. OS Debian tedy bude nakonfigurov´an tak, aby pouˇz´ıval centr´aln´ı linuxov´y server jako LDAP server pro autorizaci uˇzivatel˚ u. Opˇet je tedy nutn´e zmˇenit obsah nˇekter´ych soubor˚ u 14 : Soubor /etc/ldap/ldap.conf host base
10.254.254.2 ou=fake,o=utb
Soubor /etc/pam ldap.conf host 10.254.254.2 base ou=fake,o=utb ldap_version 3 ssl no pam_password crypt binddn cn=passwd,ou=fake,o=utb bindpw qwerty Soubor /etc/libnss-ldap.conf host 10.254.254.2 base ou=fake,o=utb ldap_version 3 ssl no pam_password crypt binddn cn=passwd,ou=fake,o=utb bindpw qwerty 7.2.11
Spuˇ stˇ en´ı a nastaven´ı vlastn´ıho LDAP serveru
Na centr´aln´ım linuxov´em serveru je nainstalov´an openLDAP s vlastn´ı datab´az´ı, protoˇze z´ısk´av´an´ı autorizaˇcn´ıch u ´ daj˚ u z univerzitn´ıho LDAP serveru ani nˇejak´a synchronizace dat ve vˇetˇs´ım mˇeˇr´ıtku nen´ı moˇzn´a. Pro co nejlepˇs´ı simulaci datov´e struktury univerzitn´ıch LDAP u ´ daj˚ u byl zvolen z´akladn´ı kontext ou=fake,o=utb (na univerzitn´ım LDAP serveru jsou hodnoty napˇr. ou=fai-st,o=utb pro studenty FAI nebo ou=fame,o=utb pro zamˇestnance FAME). 14
u ´ daje uvnitˇr tˇechto soubor˚ u jsou pops´ any v dalˇs´ı kapitole
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
48
Hlavn´ı konfiguraˇcn´ı soubor pro openLDAP je /etc/ldap/slapd.conf. Kromˇe standardn´ıch nastaven´ı je tˇreba definovat tyto hodnoty [14]: suffix rootdn rootpw index index
"ou=fake,o=utb" "cn=root,ou=fake,o=utb" qwerty objectClass eq uid eq
ˇ adky rootdn Definice suffix je hlavn´ı kontext, kter´y se bude pˇri autorizaci pouˇz´ıvat. R´ ˇ adky index definuj´ı, podle jak´ych parametr˚ a rootpw ukazuj´ı administr´atorsk´y pˇr´ıstup, R´ u je pak moˇzn´e vyhled´avat z´aznamy v LDAP datab´azi. Kromˇe tohoto nastaven´ı je jeˇstˇe tˇreba definovat pˇr´ıstupov´a pr´ava: access to * attrs=userPassword by dn="passwd,ou=fake,o=utb" read by anonymous auth by self read by * none acces to * by * read Datab´aze uˇzivatel˚ u je tedy pˇr´ıstupn´a vˇsem pro ˇcten´ı, pouze atribut userPassword je pˇr´ıstupn´y pro uˇzivatele passwd. Tento uˇzivatel m˚ uˇze ˇc´ıst tento atribut u vˇsech ostatn´ıch uˇzivatel˚ u, jinak kaˇzd´y uˇzivatel m˚ uˇze ˇc´ıst tento atribut pouze u sv´eho vlastn´ıho z´aznamu, u jin´ych z´aznam˚ u nebude zobrazen. Nezbytn´ym krokem ke spr´avn´emu chodu LDAP serveru je definice obsahu datab´aze. Nejprve se definuje koˇrenov´y objekt a uˇzivatel passwd 15 : dn: ou=fake,o=utb objectclass: top objectclass: organizationalUnit ou: fake dn: cn=passwd,ou=fake,o=utb cn: passwd sn: Passwd objectclass: top objectclass: person objectclass: posixAccount uid: passwd 15
hodnota userpassword se z´ısk´ a pˇr´ıkazem slappasswd, v tomto pˇr´ıpadˇe je pouˇzito heslo qwerty
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
49
userpassword: {SSHA}VJEnCQY9S83bv+pHG5vXXLwbjh2dbjeM uidnumber: 99 gidnumber: 99 gecos: Passwd reader loginShell: /bin/false homeDirectory: /var/lib/nobody N´asleduje definice uˇzivatel˚ u. Zde je definice jednoho uˇzivatele, definice dalˇs´ıch uˇzivatel˚ u je podobn´a. Jedn´ım z nejd˚ uleˇzitˇejˇs´ıch atribut˚ u je uidNumber, identifikaˇcn´ı ˇc´ıslo uˇzivatele, kter´e mus´ı b´yt v r´amci cel´e datab´aze unik´atn´ı: dn: cn=john,ou=fake,o=utb cn: john sn: Doe objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount uid: john userPassword:: {SSHA}i3PFTcdbC4GszfOaMqVb2CG9/wh2G2G8 uidNumber: 103 gidNumber: 100 gecos: John Doe loginShell: /bin/bash shadowLastChange: 10877 shadowMin: 0 shadowMax: 999999 shadowWarning: 7 shadowInactive: -1 shadowExpire: -1 shadowFlag: 0 homeDirectory: /var/ram/home/john Za zm´ınku stoj´ı tak´e atribut homeDirectory, kter´y ukazuje pˇr´ımo do /var/ram. Domovsk´e adres´aˇre na pracovn´ı stanici se vytv´aˇr´ı aˇz pˇri pˇrihl´aˇsen´ı uˇzivatele, proto mus´ı b´yt um´ıstˇeny na ramdisku, kde je moˇzn´e je vytv´aˇret. 7.2.12
Domovsk´ e adres´ aˇ re pro uˇ zivatele
Domovsk´e adres´aˇre pro vˇsechny uˇzvatele univerzitn´ıho LDAP serveru jsou k dispozici na ˇskoln´ım novellov´em serveru nw-central. Ten je moˇzn´e pˇripojit i z OS Linux programem ncpmount (podpora s´ıt’ov´eho souborov´eho syst´emu NCP je zabudovan´a v j´adˇre pro pracovn´ı stanice). Tento adres´aˇr se mus´ı pˇripojit v okamˇziku pˇrihl´aˇsen´ı uˇzivatele do syst´emu, nav´ıc
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
50
s uˇzivatelsk´ym heslem. To zajist´ı modul pam script [13], jehoˇz pouˇz´ıv´an´ı se zap´ın´a v souboru /etc/pam.d/gdm 16 , do kter´eho je nunt´e pˇridat tuto ˇr´adku session
required
pam_script.so expose=1
Modul pam script zajist´ı pˇri pˇrihl´aˇsen´ı uˇzivatele spuˇstˇen´ı skriptu uloˇzen´eho jako /etc/security/onsessionopen, parametr expose=1 nav´ıc skriptu pˇred´a v podobnˇe environment´aln´ı promˇenn´e AUTHTOK uˇzivatelsk´e heslo, kter´e je nutn´e k autorizaci pˇri pˇripojov´an´ı novellov´eho svazku. Skript /etc/security/onsessionopen pak vypad´a takto: #!/bin/sh SERVER="nw-central" SERVER_IP="195.178.88.70" LDAP_HOST=‘grep host /etc/ldap/ldap.conf | awk ’{print $2}’‘ LDAP_DN=‘ldapsearch -x -h ${LDAP_HOST} ’(uid=‘${USER}‘) dn | grep ^dn‘ LDAP_USER="" LDAP_OU="" for TOK in ‘echo ${LDAP_DN#* } | sed -e ’s/,/ /g’; do case ${TOK} in ou=*) LDAP_OU=${TOK#*=} ;; esac if [ -z "${LDAP_CONTEXT}" ]; then LDAP_USER=${TOK#*=} else LDAP_USER="${LDAP_USER}.${TOK#*=}" fi done if [ -z "${LDAP_USER}" -o -z "${LDAP_OU}" ]; then exit 1; fi mkdir -p ${HOME} || exit 1 ncpmount -S ${SERVER} -C -U ${LDAP_USER} -u ‘id -u‘ -g ‘id -g‘ \ -V data/${LDAP_OU}/${USER} -A ${SERVER_IP} -P ’${AUTHTOK}’ ${HOME} Po odlogov´an´ı je jeˇstˇe tˇreba svazek odpojit, to zajist´ı skript /etc/security/onsessionclose: #!/bin/sh ncpumount ${HOME} Posledn´ı vˇec nutn´a pro funkˇcnost tohoto skriptu je existence adres´aˇre /var/ram/home s takov´ymi pˇr´ıstupov´ymi pr´avy, aby zde kaˇzd´y uˇzivatel mohl vytv´aˇret adres´aˇre, to zajist´ı opˇet program preinit. 16
pouˇz´ıv´ an´ı gdm je vysvˇetleno v dalˇs´ı kapitole
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
51
Cel´y tento princip je ovˇsem funkˇcn´ı pouze v souladu s autorizac´ı oproti univerzitn´ımu LDAP serveru, kde je spr´avnˇe nastaven´y kontext uˇzivatele. 7.2.13
Pouˇ z´ıv´ an´ı pracovn´ı stanice z pohledu uˇ zivatele
Pˇri v´ybˇeru OS Debian bˇehem u ´ vodn´ıho menu pˇri startov´an´ı poˇc´ıtaˇce jsou nejprve vidˇet v´ystupy j´adra, kter´e detekuje hardware a pot´e spouˇst´ı jednotliv´e programy. Na konci t´eto sekvence je spouˇstˇen´ı programu gdm, tedy grafick´e konzole pro pˇrihl´aˇsen´ı uˇzivatele. Zde si uˇzivatel m˚ uˇze vybrat jazyk grafick´eho prostˇred´ı nebo jeho vzhled. Po u ´ spˇeˇsn´em ovˇeˇren´ı a pˇrihl´aˇsen´ı m´a uˇzivatel k dispozici sv˚ uj domovsk´y adres´aˇr na univerzitn´ım novellov´em serveru, webov´y prohl´ıˇzeˇc, kancel´aˇrsk´y software, n´astroje pro pr´aci na s´ıti, prostˇe kvalitn´ı linuxovou operaˇcn´ı stanici. M˚ uˇze pracovat s CD/DVD mechanikou (vˇcetnˇe vypalov´an´ı), m˚ uˇze pracovat s USB flash diky. Uˇzivatel m´a st´ale jen pr´ava obyˇcejn´eho uˇzivatele, pokud nezn´a heslo uˇzivatele root. I kdyby pˇresto jak´ymkoliv chtˇen´ym nebo nechtˇen´ym zp˚ usobem z´ıskal superuˇzivatelsk´a pr´ava, v ˇz´adn´em pˇr´ıpadˇe nem˚ uˇze doj´ıt k poˇskozen´ı souborov´eho syst´emu nebo cel´e distribuce, protoˇze vˇsechny soubory jsou poskytov´any centr´aln´ım serverem, nav´ıc pouze v reˇzimu pro ˇcten´ı. Pracovn´ı stanice s t´ımto syst´emem lze tedy povaˇzovat za naprosto bezpeˇcn´e. V pˇr´ıpadˇe jak´ehokoliv probl´emu s operaˇcn´ım syst´emem jako takov´ym (zatuhnut´ı j´adra, nefunkˇcn´ı s´ıt’ apod.) je moˇzn´e pracovn´ı stanici libovoln´ym zp˚ usobem restartovat, nen´ı probl´em za bˇehu stisknout tlaˇc´ıtko reset, k ˇz´adn´emu poˇskozen´ı niˇceho nedojde, uˇzivatel pouze ztrat´ı neuloˇzen´a data, se kter´ymi pracuje.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
7.3
52
Tvorba samostatn´ e linuxov´ e minidistribuce
Mal´y operaˇcn´ı syst´em se d´a tvoˇrit jednoduˇse kop´ırov´an´ım pouze vybran´ych potˇrebn´ych soubor˚ u z jiˇz beˇz´ıc´ıho syst´emu [10]. Ten m˚ uˇze b´yt nainstalov´an na pracovn´ı stanici, na serveru, t´emˇeˇr kdekoliv. V tomto pˇr´ıpadˇe byl pouˇzit operaˇcn´ı syst´em bˇeˇz´ıc´ı m´e vlastn´ı na pracovn´ı linuxov´e stanici, distribuce SuSE verze 10.3, nicm´enˇe tento n´avod je t´emˇeˇr univerz´aln´ı a d´a se pouˇz´ıt na jakoukoliv jinou distribuci. C´ılem t´eto minidistribuce je uk´azat, jak se d´a vytvoˇrit opravdu mal´a a jednoduch´a linuxov´a distribuce, kter´a bude snadno rozˇsiˇriteln´a o dalˇs´ı programy. Pro jednoduchost je zde pouze uˇzivatel root, nen´ı zde ˇz´adn´a tˇeˇzk´a autorizace, bˇeˇz´ı jen nezbytnˇe nutn´e programy a k dispozici je dostatek program˚ u pro z´akladn´ı pr´aci se s´ıt´ı. Jako uk´azka programu, kter´y bˇeˇz´ı na pozad´ı a vykon´av´a pr´aci, je nainstalov´an syslogd, kter´y zajiˇst’uje zapisov´an´ı informac´ı o syst´emu nebo od bˇeˇz´ıc´ıch program˚ u do soubor˚ u. Tuto minidistribuci lze pak samozˇrejmˇe d´al rozˇsiˇrovat postupn´ymi instalacemi dalˇs´ıch program˚ u a jejich nastavov´an´ım, dalˇs´ım rozˇs´ıˇren´ım mohou b´yt napˇr. programy cron, postfix, named atd. 7.3.1
Pˇ r´ıprava adres´ aˇ rov´ e struktury
Nejprve je tˇreba vytvoˇrit vlastn´ı adres´aˇrovou strukturu: server# server# server# server#
mkdir /mnt/sda7/disks/suse-10.3-mini cd /mnt/sda7/disks/suse-10.3-mini mkdir -p bin dev/pts etc lib mnt proc root sbin usr/lib var ln -s var/tmp tmp
Oproti standardn´ı distribuci zde chyb´ı nˇekter´e adres´aˇre: • boot - j´adro zde nen´ı tˇreba, je k dispozici na TFTP serveru • home - minidistribuce bude m´ıt pouze jedin´eho uˇzivatele: root • opt - nepˇredpokl´ad´a se instalace nˇejak´ych n´aroˇcn´ach softwar˚ u Adres´aˇr /tmp je pouze symbolick´y odkaz na /var/tmp, protoˇze do adres´aˇre /var bude pˇripojen ramdisk a bude tedy zapisovateln´y. 7.3.2
V´ ybˇ er soubor˚ u pro adres´ aˇ r /bin
Adres´aˇr /bin obsahuje bin´arn´ı soubory, kter´e umoˇzn ˇ uj´ı z´akladn´ı pr´aci se syst´emem, tedy napˇr. programy na kop´ırov´an´ı soubor˚ u, vytv´aˇren´ı adres´aˇr˚ u apod. Pro z´akladn´ı uk´azku a funkˇcnost syst´emu byly vybr´any tyto soubory (uvedeno vˇcetnˇe um´ıstˇen´ı na nainstalovan´em syst´emu):
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
/sbin/agetty /sbin/arp /bin/awk /bin/basename /bin/bash /bin/cat /bin/chmod /bin/chown /bin/cp /usr/bin/cut /bin/date /bin/dd /bin/df /sbin/dhclient /usr/bin/dirname /usr/bin/du /bin/false /sbin/fdisk /sbin/fsck /sbin/fsck.ext2
/bin/fuser /bin/grep /bin/gzip /sbin/halt /usr/bin/head /usr/bin/host /bin/hostname /usr/bin/id /bin/ip /usr/bin/killall /sbin/killall5 /bin/ln /bin/ls /usr/bin/lsof /usr/bin/md5sum /bin/mkdir /sbin/mkfs.ext2 /bin/more /bin/mount /usr/sbin/mtr
/bin/mv /bin/netstat /usr/bin/nslookup /usr/sbin/ntpdate /bin/ping /bin/ps /sbin/reboot /bin/rm /bin/rmdir /usr/bin/scp /bin/sed /bin/sleep /bin/sort /bin/stty /bin/sync /sbin/syslogd /usr/bin/tac /usr/bin/tail /bin/tar /usr/sbin/tcpdump
53
/usr/bin/tee /usr/bin/telnet /usr/bin/top /bin/touch /usr/sbin/traceroute /bin/true /usr/bin/tty /sbin/tune2fs /bin/umount /bin/uname /usr/bin/uniq /usr/bin/uptime /bin/vi /usr/bin/w /usr/bin/who /usr/bin/whoami /usr/bin/wc /usr/bin/wget
Uveden´e soubory lze snadno kop´ırovat pomoc´ı pˇr´ıkazu cp: server# cp /bin/agetty /mnt/sda7/disks/suse-10.3-mini/bin/ Kromˇe tˇechto bin´arn´ıch soubor˚ u se jeˇstˇe m˚ uˇze hodit symbolick´y odkaz /bin/sh: server# cd /mnt/sda7/disks/suse-10.3-mini/bin/ server# ln -s bash sh V seznamu soubor˚ u chyb´ı /bin/login. Tento soubor je v distribuci pevnˇe sv´az´an s autorizaˇcn´ımi moduly pam, kter´e ovˇsem v minidistribuci nejsou potˇreba. M´ısto nˇeho bude m´ıt distribuce vlastn´ı mal´y soubor, kter´y pouze naˇcte heslo, zjist´ı jeho MD5 souˇcet a porovn´a ho se z´aznamem v /etc/passwd. Tento soubor je k dispozici na DVD pˇriloˇzen´ym k t´eto pr´aci. 7.3.3
Kop´ırov´ an´ı knihoven do /lib a /usr/lib
Ke spouˇstˇen´ı bin´arn´ıch soubor˚ u je ovˇsem nutn´e m´ıt knihovny, kter´e tyto soubory vyuˇz´ıvaj´ı. Kromˇe tˇechto z´akladn´ıch knihoven jsou tˇreba jeˇstˇe podp˚ urn´e knihovny z bal´ılku glibc: server# server# server# server> server> server> server# server> server> server>
cd /mnt/sda7/disks/suse-10.3-mini/bin/ mkdir -p lib usr/lib for FILE in ‘ldd * | grep "=>" | awk ’{print $3}’ | sort | uniq‘; do objcopy -S ${FILE} ..${FILE} chmod 755 ..${FILE} done for FILE in ld-linux libnss_compat libnss_dns libnss_files; do objcopy -S /lib/${FILE}.so.2 ../lib/${FILE}.so.2 chmod 755 ../lib/${FILE}.so.2 done
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
54
Uveden´e pˇr´ıkazy zjist´ı seznam potˇrebn´ych knihoven na bˇeˇz´ıc´ım operaˇcn´ım syst´emu a nakop´ıruj´ı je do pˇr´ısluˇsn´ych adres´aˇr˚ u v minidistribuci. Uveden´y seznam vyˇzadoval pouze existenci knihoven v adres´aˇr´ıch /lib a /usr/lib, kter´e jiˇz byly vytvoˇreny pˇredem. Pˇr´ıkaz objcopy vytv´aˇr´ı bohuˇzel soubory bez pˇr´ıstupov´ych pr´av pro spouˇstˇen´ı (toto pr´avo je ale nutn´e pˇri otev´ır´an´ı knihovny bin´arn´ım souborem), proto se mus´ı toto pˇr´ıstupov´e pr´avo nastavit pˇr´ıkazem chmod. 7.3.4
Kop´ırov´ an´ı speci´ aln´ıch soubor˚ u do /dev
Kop´ırov´an´ı soubor˚ u je velmi snadn´e, opˇet se pouˇzije pˇr´ıkaz cp: server# cd /dev/ server# cp -dpR console initctl kmem mem null ptmx ram[0123] random tty tty[01] urandom zero /mnt/sda7/disks/suse-10.3-mini/bin/ Kop´ıruj´ı se jen nejnutnˇejˇs´ı soubory nutn´e pro chod syst´emu, nejsou zde tedy zm´ınˇeny (napˇr. hda1 umoˇzn ˇ uj´ıc´ı pr´aci s IDE zaˇr´ızen´ım nebo ttyS0 pro pr´aci se s´eriov´ym portem). V t´eto minidistribuci se bude tak´e spouˇstˇet program syslogd, kter´y ale vytv´aˇri speci´aln´ı soubor /dev/log, coˇz v tomto pˇr´ıpadˇe ale nen´ı moˇzn´e. Proto se vytvoˇr´ı pouze symbolick´y odkaz na soubor /tmp/dev-log a program syslogd se spust´ı s pˇr´ısluˇsn´ym parametrem, aby nevytv´aˇrel speci´aln´ı soubor /dev/log, ale aby m´ısto nˇej vytvoˇril na ramdisku soubor /tmp/dev-log: server# cd /mnt/sda7/disks/suse-10.3-mini/dev/ server# ln -s ../tmp/dev-log log 7.3.5
Obsah adres´ aˇ re /sbin
Adres´aˇr /sbin obsahuje pouze 3 soubory: • init - z´akladn´ı soubor spouˇstˇen´y j´adrem • shutdown - slouˇz´ı ke korektn´ımu vypnut´ı poˇc´ıtaˇce (i kdyˇz vypnut´ı bezdiskov´e stanice tlaˇc´ıtkem reset nebo vypojen´ım nap´ajen´ı nezp˚ usobuje v˚ ubec ˇz´adn´e ˇskody) • rc - program spouˇstˇen´y z programu init, star´a se o pˇripojov´an´ı souborov´ych syst´em˚ u a spouˇstˇen´ı z´akladn´ıch program˚ u
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
55
Programy init a shutdown se opˇet zkop´ıruj´ı: server# cp /sbin/{init,shutdown} /mnt/sda7/disks/suse-10.3-mini/bin/ S programem rc je to sloˇzitˇejˇs´ı, pro u ´ˇcely minidistribuce je nutn´e ho napsat, aby udˇelal pouze nutnou z´akladn´ı pr´aci: • pˇripoj´ı souborov´e syst´emy /proc a /dev/pts • vytvoˇr´ı ramdisk a pˇripoj´ı ho do /var • vytvoˇr´ı adres´aˇrovou strukturu v /var • spust´ı program dhclient (obsluhuje DHCP) • nastav´ı hostname (´ udaj pro n´azev souboru vezme z DNS) • nastav´ı spr´avn´y ˇcas (n´azev NTP serveru vezme z /etc/ntpserver) • spust´ı program syslogd • zap´ıˇse informace o startu do souboru /var/log/boot.log Cel´y tento skript je uloˇzen na DVD pˇriloˇzen´ym k t´eto pr´aci. 7.3.6
Ramdisk na adres´ aˇ ri /var
Do adres´aˇre /var vyˇzaduj´ı z´apis nˇekter´e programy, proto mus´ı b´yt na pracovn´ı stanici vytvoˇren ramdisk (o to se postar´a /sbin/rc). Do tohoto adres´aˇre vyˇzaduj´ı z´apis: • syslogd - zapisuje sv˚ uj PID
17
• dhclient - zapisuje informace z DHCP odpovˇed´ı do /var/lib/dhcpd/dhcpd.leases • /sbin/rc - zapisuje u ´ daje o spuˇstˇen´ı syst´emu do /var/log/boot.date Dalˇs´ı v´yhodou je existence adres´aˇre /var/tmp, na kter´y se odkazuje pˇr´ımo /tmp - t´ım tedy adres´aˇr /tmp funguje pro z´apis pro kter´ykoliv spuˇstˇen´y program. 7.3.7
Obsah adres´ aˇ re /etc
Adres´aˇr /etc uchov´av´a data o nastaven´ı t´emˇeˇr vˇseho, z toho d˚ uvodu m˚ uˇze b´yt jeho popis velmi rozs´ahl´y. Nˇekter´e soubory staˇc´ı zkop´ırovat, jin´e se mus´ı upravit nebo v˚ ubec vytvoˇrit od zaˇc´atku. 17
Process identification - ˇc´ıslo bˇeˇz´ıc´ıho procesu
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
56
Soubor inittab Soubor inittab urˇcuje, co m´a hlavn´ı startovac´ı soubor init v kter´em reˇzimu spustit. V jednoduch´e minidistribuci vypad´a takto: id:3:initdefault: si::sysinit:/sbin/rc ca::ctrlaltdel:/sbin/shutdown -r now 1:12345:respawn:/bin/agetty 38400 tty1 V prvn´ım ˇr´adku se definuje tzv. runlevel, tedy jak´ys´ı m´od bˇehu (v r˚ uzn´ych m´odech mohou b´yt spuˇstˇeny r˚ uzn´e programy nebo sluˇzby), v tomto pˇr´ıpadˇe je hodnota 3. Druh´y ˇr´adek definuje soubor, kter´y se m´a spustit pˇri startu syst´emu (tedy /sbin/rc). Tˇret´ı ˇr´adek definuje, co se m´a d´ıt pˇri stisku kl´aves CTRL-ALT-DEL (program /sbin/shutdown) a posledn´ı ˇr´adek zajiˇst’uje spouˇstˇen´ı jedn´e konzole, kde se uˇzivatel m˚ uˇze pˇrihl´asit do syst´emu. Soubory pro pˇ rihl´ aˇ sen´ı uˇ zivatele Minidistribuce bude m´ıt jedin´eho uˇzivatele, a to root, stejnˇe tak bude m´ıt pouze jednu uˇzivatelskou skupinu stejn´eho jm´ena. Protoˇze tato minidistribuce m´a slouˇzit pˇredevˇs´ım k demonstrativn´ım a v´yukov´ym u ´ˇcel˚ um, bude zde jednoduch´a autorizace: heslo se snadno zaˇsifruje pomoc´ı pˇr´ıkazu md5sum a uloˇz´ı do souboru /etc/passwd (pro uk´azku bylo zvoleno heslo qwerty): server# server# server# server#
cd /mnt/sda7/disks/suse-10.3-mini/etc PASSWD=‘echo qwerty | md5sum | cut -d \ -f 1‘ echo "root:${PASSWD}:0:0:root:/root:/bin/bash" > passwd echo "root:x:0:root" > group
Soubory pro pr´ aci na s´ıti Nˇekter´e soubory nutn´e pro pr´aci se s´ıt´ı lze zkop´ırovat: server# cd /etc server# cp host.conf nsswitch.conf protocols services /mnt/sda7/disks/suse-10.3-mini/bin/
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
57
Dalˇs´ı soubory je nutn´e vytvoˇrit: server# server# server# server#
cd /mnt/sda7/disks/suse-10.3-mini/etc echo -e "localhost\t127.0.0.1" > hosts echo "nameserver 195.178.88.66" > resolv.conf echo "tik.cesnet.cz" > ntpserver
Program dhclient potˇrebuje konfiguraˇcn´ı soubor dhclient.conf [9]: send dhcp-lease-time 1800; request subnet-mask, routers; require subnet-mask, routers; timeout 24; select-timeout 5; backoff-cutoff 16; initial-interval 8; script "/bin/true"; Soubory pro pr´ aci s knihovnami Soubor /etc/ld.so.conf mus´ı obsahovat seznam adres´aˇr˚ u s knihovnami, seznam jednotliv´ych knihoven pak vytvoˇr´ı pˇr´ıkaz ldconfig. Tento pˇr´ıkaz se ale mus´ı pustit ve spr´avn´em adres´aˇri, coˇz zajist´ı parametr -r: server# cd /mnt/sda7/disks/suse-10.3-mini/ server# echo -e "/lib\n/usr/lib" > etc/ld.so.conf server# ldconfig -r . V´ysledkem pˇr´ıkazu ldconfig je soubor /etc/ld.so.cache. Soubor /etc/mtab Soubor /etc/mtab je pouˇz´ıv´an r˚ uzn´ymi programy ke zjiˇstˇen´ı jiˇz pˇripojen´ych souborov´ych syst´em˚ u. Cel´y adres´aˇr /etc je ovˇsem k dispozici pouze pro ˇcten´ı, tud´ıˇz pˇripojen´ı nebo odpojen´ı souborov´ych syst´em˚ u se v nˇem nem˚ uˇze projevit. Stejnou informaci o pˇripojen´ych souborov´ych syst´emech ale d´av´a dynamicky generovan´y soubor /proc/mounts, takˇze staˇc´ı vyrobit symbolick´y odkaz: server# cd /mnt/sda7/disks/suse-10.3-mini/etc/ server# ln -s ../proc/mounts mtab
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
58
Soubor /etc/profile V souboru /etc/profile jsou z´akladn´ı nastaven´ı pro pˇr´ıkazouvou ˇr´adku, prov´ad´ı se ihned po u ´ spˇeˇsn´em pˇrihl´aˇsen´ı uˇzivatele, obsah souboru je jednoduch´y: export HOME=/root export PATH=/bin:/sbin export PS1="[\u@\h \W]# " export PS2=’> ’ alias ll=’ls -l’ cd $HOME echo 7.3.8
Ostatn´ı adres´ aˇ re
Ostatn´ı adres´aˇre z˚ ust´avaj´ı pr´azdn´e: • /root - domovsk´y adres´aˇr uˇzivatele root • /mnt - adres´aˇr pro pˇripojen´ı dalˇs´ıch souborov´ych syst´em˚ u • /proc - do tohoto adres´aˇre se pˇripoj´ı souborov´y syst´em proc 7.3.9
Program syslogd
Spuˇstˇen´ı programu syslogd zajiˇst’uje soubor /sbin/rc pouˇstˇen´y pˇri startu poˇc´ıtaˇce. Jeho nastaven´ı je jednoduch´e, vˇsechny zpr´avy se budou zapisovat do souboru /var/log/messages. Nastaven´ı je uloˇzeno v souboru /etc/syslog.conf: *.*
/var/log/messages
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
7.4
59
Spr´ ava a z´ alohy jednotliv´ ych distribuc´ı
Spr´ava jednotliv´ych distribuc´ı m˚ uˇze prob´ıhat pˇr´ımo na serveru. Pokud se m´a instalovat nov´y software nebo mˇenit konfigurace, nejsnadnˇejˇs´ı cesta vede pˇres program chroot. Ten zmˇen´ı koˇrenov´y adres´aˇr bˇeˇz´ıc´ıho syst´emu na jin´y, zvolen´y. Napˇr. m´a-li b´yt do distribuce Debian instalov´an nov´y bal´ık, staˇc´ı se na serveru pomoc´ı chroot pˇrepnout do adres´aˇre s debianovskou distribuc´ı a instalovat: server# chroot /mnt/sda7/disks/debian-4.0 bash# apt-get balik ´ e stejn´y postup lze pouˇz´ıt napˇr. pro testov´an´ı nˇekter´ych pˇr´ıkaz˚ Uplnˇ u, upgrady jednotliv´ych bal´ık˚ u atd. Tyto zmˇeny lze prov´adˇet bud’ pˇr´ımo na serveru v ramdisku, kter´y je pˇr´ıstupn´y protokolem NFS uˇzivatel˚ um na pracovn´ıch stanic´ıch, ˇc´ımˇz je moˇzn´e mˇenit syst´em na pracovn´ı stanici pˇr´ımo za bˇehu, nebo lze zmˇeny prov´adˇet pouze na pevn´em disku a jeho obsah aˇz po t´e znovu nahr´at na ramdisk. Aby vˇsak nedoch´azelo k poˇskozen´ı nˇekter´e plnˇe funkˇcn´ı distribuce, m˚ uˇze b´yt nˇekdy vhodn´e celou distribuci zaz´alohovat. Nejsnadnˇejˇs´ı je udˇelat jeden soubor, kter´y obsahuje celou distribuci, ten se pak d´a dnadno z´alohovat na CD/DVD, USB flash, p´asku nebo poslat pˇres s´ıt’ na jin´y server. server# cd /mnt/sda7/disks server# tar -c -f debian-4.0.tar debian-4.0/ server# tar -c -f suse-10.3-mini.tar suse-10.3-mini/ 7.4.1
Hesla lok´ aln´ıch uˇ zivatel˚ u
Pro dosaˇzen´ı maxim´aln´ı jednoduchosti minidistribuce a alespoˇ n nˇejak´eho stupnˇe zabezpeˇcen´ı je heslo pro uˇzivatele root zaps´ano ve tvaru MD5 souˇctu pˇr´ımo v souboru /etc/passwd. Upraven´y soubor /bin/login pak vytvoˇr´ı ze zadan´eho hesla tak´e MD5 souˇcet a porovn´a ho s t´ımto z´aznamem. Aby nebylo pˇr´ıliˇs pracn´e heslo mˇenit, byl do minidistribuce pˇrid´an jeˇstˇe soubor /bin/passwd, kter´y je k vidˇen´ı na DVD pˇriloˇzen´em k t´eto pr´aci. Program funguje jednoduˇse: naˇcte dvakr´at heslo (bez zobrazov´an´ı znak˚ u na obrazovce), n´aslednˇe porovn´a d´elku hesla s nastaven´ym minimem a zjist´ı, zda obˇe zadan´a hesla jsou totoˇzn´a. Pokud vˇse probˇehlo v poˇr´adku, vytvoˇr´ı opˇet MD5 souˇcet hesla a pˇrep´ıˇse soubor /etc/passwd. Tento postup ovˇsem nen´ı moˇzn´e prov´adˇet na pracovn´ı stanici, protoˇze do souboru /etc/passwd zde nen´ı moˇzn´e zapsat. Tento postup lze tedy uplatnit pouze na serveru, kde ovˇsem hroz´ı pˇreps´an´ı souboru /etc/passwd pˇr´ımo v syst´emu cel´eho serveru. Z toho d˚ uvodu je tˇreba nejprve zmˇenit koˇrenov´y adres´aˇr a teprve pot´e mˇenit heslo:
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
60
server# chroot /mnt/sda7/disks/suse-10.3-mini bash# passwd Changing password for user root New password: noveheslo New password again: noveheslo Password changed Naprosto stejn´y postup pro zmˇenu hesla plat´ı i pro lok´aln´ı uˇzivatele (jak root, tak i ostatn´ıch) ve vˇsech ostatn´ıch distribuc´ıch na serveru, zmˇenu lze prov´adˇet pouze v distribuci na serveru a pouze s pˇrepnut´ym koˇrenov´ym adres´aˇrem, aby nedoˇslo ke zmˇenˇe hesla lok´aln´ıho uˇzivatele serveru: server# chroot /mnt/sda7/disks/debian-4.0 bash# passwd nobody
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
8 8.1
61
Ekonomick´ e aspekty Instalace nov´ e pracovn´ı stanice
Souˇcasn´y syst´em instalace pracovn´ıch stanic pˇredstavuje pro administr´atory velkou ˇcasovou z´atˇeˇz. Instalace nov´e pracovn´ı stanice prob´ıh´a tak, ˇze administr´ator m´a pˇripraven´y obraz disku s operaˇcn´ım syst´emem Microsoft Windows, kter´y nahraje na lok´aln´ı disk dan´e stanice. Po u ´ spˇeˇsn´em proveden´ı takov´e akce jeˇstˇe n´asleduje nastaven´ı s´ıtˇe na stanici (na kaˇzd´e stanici se zad´av´a pˇr´ımo IP adresa a ostatn´ı parametry). Pokud se zˇrizuje nov´a poˇc´ıtaˇcov´a uˇcebna, je tˇreba tento postup opakovat pro kaˇzd´y poˇc´ıtaˇc zvl´aˇst’ a nav´ıc pˇri nastavov´an´ı jednotliv´ych stanic se nesm´ı udˇelat chyba. Zaˇrizuje-li se napˇr. poˇc´ıtaˇcov´a uˇcebna s 20 nov´ymi pracovn´ımi stanicemi, m˚ uˇze j´ıt o nˇekolikahodinovou nebo dokonce i o nˇekolikadenn´ı pr´aci. Jiˇz zaveden´ı sluˇzby DHCP do s´ıtˇe pˇredstavuje usnadnˇen´ı t´eto pr´ace, administr´atorovi by jiˇz mˇelo staˇcit pˇrednastavit si obraz operaˇcn´ıho syst´emu tak, aby nastaven´ı s´ıtˇe bral protokolem DHCP a pak ho nebude muset nastavovat ruˇcnˇe. K instalaci nov´e stanice by tedy staˇcilo nahr´at obraz operaˇcn´ıho syst´emu na pevn´ y disk a korektnˇe nastavit BIOS. T´ım se samozˇrejmˇe sn´ıˇz´ı jak ˇcasov´a n´aroˇcnost instalace, tak chybovost administr´atora, nav´ıc tuto pr´aci zvl´adne i m´enˇe kvalifikovan´y pracovn´ık. Pˇri vyˇsˇs´ım poˇctu instalac´ı se d´a nav´ıc pracovat s nˇekolika poˇc´ıtaˇci najednou: bˇehem kop´ırov´an´ı dat na disk se jiˇz m˚ uˇze pracovn´ık zab´yvat dalˇs´ı stanic´ı, jedin´ym pˇredpokladem pro takovou pr´aci je vˇetˇs´ı poˇcet instalaˇcn´ıch m´edi´ı. Oproti tomu je pouˇz´ıv´an´ı OS pˇres s´ıt’ velmi snadn´a z´aleˇzitost, staˇc´ı prostˇe nabootovat po s´ıti jiˇz existuj´ıc´ı distribuci, kter´a je pˇr´ıstupn´a po s´ıti - ˇz´adn´e kop´ırov´an´ı dat na disk, ˇz´adn´e nastavov´an´ı s´ıtˇe. Jedin´a pr´ace na pracovn´ı stanici v tomto pˇr´ıpadˇe je nastaven´ı BIOSu, aby umoˇzn ˇ oval bootov´an´ı po s´ıti.
8.2
Instalace nov´ eho softwaru na pracovn´ı stanici
Instalace nov´eho softwaru, u ´ prava konfigurace jiˇz nainstalovan´eho softwaru, upgrade softwaru nebo v˚ ubec z´asahy do operaˇcn´ıch syst´em˚ u na stanici pˇredstavuj´ı obrovsk´y probl´em: bud’ se m˚ uˇze prov´adˇet na jednom poˇc´ıtaˇci za druh´em nebo se m˚ uˇze opravit pˇredpˇripraven´y obraz operaˇcn´ıho syst´emu (tj. stejn´y postup jako v pˇr´ıpadˇe instalace nov´e pracovn´ı stanice). Obˇe moˇznosti znamenaj´ı opˇet vysokou z´atˇeˇz pro administr´atora. ´ Uprava OS Linux ˇz´adnou takovou z´atˇeˇz nepˇredstavuje, protoˇze staˇc´ı upravit distribuci na centr´aln´ım serveru. Nˇekter´e z´asahy jako jsou updaty nˇekter´ych nen´aroˇcn´ych uˇzivatelsk´ych program˚ u se dokonce daj´ı dˇelat za bˇehu. Velk´e updaty n´aroˇcn´ych softwar˚ u jako napˇr. kancel´aˇrsk´eho softwaru nebo webov´eho prohl´ıˇzeˇce se mohou udˇelat veˇcer nebo r´ano, kdy jsou uˇcebny nevyuˇzit´e. Administr´ator pouze potˇrebuje m´ıt pˇr´ıstup k distribuci na centr´aln´ım serveru.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
62
Jeˇstˇe snadnˇejˇs´ı je upgrade nebo oprava linuxov´eho j´adra. To staˇc´ı zkompilovat a d´at na FTP server. Pˇri nov´em nabootov´an´ı pracovn´ı stanice se jiˇz nahraje nov´e j´adro. Jedin´a pr´ace pro administr´atora znamen´a nahr´an´ı souboru na FTP server.
8.3
Opravy operaˇ cn´ıho syst´ emu na pracovn´ı stanici
V souˇcasnosti obˇcas doch´az´ı k poˇskozen´ı operaˇcn´ıho syst´emu Microsoft Windows samotn´ymi uˇzivateli. Uˇzivatel´e mohou zaplnit disk, nainstalovat virus nebo poˇskodit nainstalovan´y software. OS je sice ˇc´asteˇcnˇe zabezpeˇcen, aby k nˇekter´ym vˇecem mˇel pˇr´ıstup pouze administr´ator a nikoliv bˇeˇzn´y uˇzivatel, pˇresto vˇsak k poˇskozen´ı doch´az´ı. Nepouˇziteln´a stanice se opravuje tak, ˇze se jednoduˇse nainstaluje znovu. To samozˇrejmˇe znamen´a, ˇze administr´ator mus´ı pˇrij´ıt a opakovat ˇcasovˇe n´aroˇcn´y postup na instalaci stanice. S OS Linux, kter´y funguje pˇres s´ıt’, nic takov´eho nehroz´ı. Cel´y souborov´y syst´em je pˇr´ıstupn´y v reˇzimu pouze pro ˇ cten´ı, coˇz je zajiˇstˇeno pˇr´ımo na serveru, takˇze uˇzivatel na pracovn´ı stanici ho nem˚ uˇze nijak poˇskodit nebo upravit. J´adro nav´ıc nem´a podporu pevn´ych disk˚ u, takˇze spolehlivˇe je ochr´anˇen i lok´aln´ı OS Microsoft Windows. Cel´y probl´em s chtˇen´ym nebo nechtˇen´ym poˇskozen´ım instalovan´ych program˚ u nebo j´adra nebo se zaplnˇen´ym diskem je tedy celkovˇe eliminov´an.
8.4
Odstranˇ en´ı pevn´ eho disku ze stanic
Z pˇredchoz´ıch odstavc˚ u jasnˇe vypl´yv´a, ˇze pr´ace s jednotliv´ymi pracovn´ımi stanicemi je mnohem m´enˇe v´yhodn´a neˇz pr´ace s jedn´ım serverem. Bohuˇzel v souˇcasn´e dobˇe nen´ı na FAI UTB moˇzn´e bootovat operaˇcn´ı syst´em Microsoft Windows vzd´alenˇe, tedy stejn´ym nebo podobn´ym zp˚ usobem jako OS Linux. Pokud by se naˇsel zp˚ usob, jak OS Microsoft Windows bootovat bez pouˇzit´ı pevn´eho disku, daly by se tyto pevn´e disky ze stanic u ´ plnˇe odstranit. Takov´ym krokem by doˇslo k v´yrazn´emu uˇsetˇren´ı penˇeˇzn´ıch n´aklad˚ u: • sn´ıˇzen´ı n´aklad˚ u na poˇr´ızen´ı pracovn´ı stanice (cena pevn´eho disku je v souˇcasn´e dobˇe kolem 1 000 Kˇc, takˇze vybaven´ı jedn´e poˇc´ıtaˇcov´e uˇcebny o 20 poˇc´ıtaˇc´ıch za cenu 8 000 Kˇc znamen´a uˇsetˇren´ı 12.5%) • sn´ıˇzen´ı n´aklad˚ u na lidskou pr´aci pˇri instalaci nov´ ych stanic (nyn´ı zabere instalace jednoho poˇc´ıtaˇce zhruba 30 minut, takˇze uˇcebna o 20 stanic´ıch znamen´a 10 pracovn´ıch hodin, v pˇr´ıpadˇe bezdiskov´ych stanic by ˇslo pouze o nastaven´ı BIOSu, asi 2 minuty na jednu stanici, coˇz je celkem 40 minut - uˇsetˇren´ı 96%) • sn´ıˇzen´ı n´aklad˚ u na lidskou pr´aci v pˇr´ıpadˇe uprgadu software nebo instalaci nov´eho software (nyn´ı je tˇreba nov´y nebo upgradovan´y software otestovat a pˇripravit a pak nainstalovat tolikr´at, kolik je poˇc´ıtaˇc˚ u v uˇcebn´ach, v pˇr´ıpadˇe bezdiskov´ych stanic by bylo tˇreba prov´est instalaci nebo upgrade softwaru pouze jednou - uˇsetˇren´ı ˇcasu potˇrebn´eho na instalaci se zde limitnˇ e bl´ıˇ z´ı ke 100%)
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
63
• eliminace n´aklad˚ u na lidskou pr´aci v pˇr´ıpadˇe poˇskozen´ı operaˇcn´ıho syst´emu nebo softwaru uˇzivateli - uˇsetˇren´ı 100% Odstranˇen´ım pevn´ych disk˚ u dojde tak´e ke sn´ıˇzen´ı poruchovosti pracovn´ıch stanic pevn´y disk je jedna z nejporuchovˇejˇs´ıch ˇc´ast´ı a porucha pevn´eho disku a n´asledn´a reklamace nebo koupˇe nov´eho disku znamen´a: • u ´ plnou nemoˇznost pouˇz´ıv´an´ı pracovn´ı stanice po celou dobu od poruchy do mont´aˇze nov´eho nebo opraven´eho disku • pouˇzit´ı lidsk´ych zdroj˚ u na demont´aˇz a mont´aˇz pevn´eho disku a dalˇs´ı ˇcas vˇenovan´y reklamaci nebo n´akupu nov´eho disku • v pˇr´ıpadˇe proˇsl´e z´aruky penˇeˇzn´ı n´aklady na n´akup nov´eho disku
8.5
Zkvalitnˇ en´ı v´ yuky OS Linux
Nemal´ym pˇr´ınosem pro FAI UTB je i zkvalitnˇen´ı v´yuky. V nˇekter´ych pˇredmˇetech se sice vyuˇcuje OS Linux, ale studenti k tomuto operaˇcn´ımu syst´emu nemaj´ı na uˇcebn´ach pˇr´ıstup - pokud chtˇej´ı z´ıskat praktick´e dovednosti, mus´ı si ho instalovat sami na sv´ych poˇc´ıtaˇc´ıch, coˇz nˇekter´e studenty velmi odrazuje. Moˇznost nabootovat jiˇz existuj´ıc´ı OS Linux bez jak´ehokoliv z´asahu do pracovn´ı stanice, nemoˇznost rozbit´ı nainstalovan´eho syst´emu a snadn´y pˇr´ıstup urˇcitˇe znamen´a zv´yˇsen´ı znalost´ı student˚ u o tomto operaˇcn´ım syst´emu. Nav´ıc vyuˇcuj´ıc´ı nemus´ı ukazovat pr´aci s OS Linux jen teoreticky (na tabuli nebo na sv´em poˇc´ıtaˇci), do OS Linux mohou nabootovat vˇsichni na uˇcebnˇe.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
64
ˇ ast IV C´
´ ER ˇ ZAV Tato pr´ace obsahuje pˇredevˇs´ım n´avod na v´yrobu prostˇred´ı, ve kter´em je moˇzn´e pracovat s bezdiskov´ymi stanicemi, na kter´ych bˇeˇz´ı plnohodnotn´y operaˇcn´ı syst´em Linux, tedy nejde pouze o termin´al nebo jinou podobu vzd´alen´e pracovn´ı plochy, kdy vˇsechny spouˇstˇen´e programy obsluhuje centr´aln´ı server, ale je plnˇe vyuˇzita kapacita hardwaru pracovn´ı stanice. Centr´aln´ı server pouze poskytuje souborov´y syst´em pro pracovn´ı stanici pomoc´ı protokolu NFS a slouˇz´ı tedy sp´ıˇse jako n´ahraˇzka lok´aln´ıho disku. Takov´eto ˇreˇsen´ı ovˇsem nespoˇc´ıv´a pouze v u ´ pravˇe linuxov´e distribuce a jej´ı zpˇr´ıstupnˇen´ı na s´ıti, vyˇzaduje souˇcinnost nˇekolika na sobˇe nez´avisl´ych hardwarov´ych zaˇr´ızen´ı i softwarov´ych sluˇzeb, bezchybn´e nastaven´ı s´ıtˇe a zabezpeˇcen´ı, kter´a znemoˇzn ˇ uj´ı uˇzivatel˚ um chtˇen´a i nechtˇen´a poˇskozen´ı jednotliv´ych komponent. Pro zprovoznˇen´ı cel´eho syst´emu je tˇreba zaˇc´ıt nastaven´ım s´ıtˇe, tedy spr´avn´ym n´avrhem rozloˇzen´ı s´ıt´ı a jejich adresace a volbou spr´avn´ych hardwarov´ych s´ıt’ov´ych zaˇr´ızen´ıch, tedy smˇerovaˇc˚ u a pˇrep´ınaˇc˚ u. Tato zaˇr´ızen´ı na FAI UTB jiˇz jsou a plnˇe vyhovuj´ı n´arok˚ um souˇcasn´ym a pravdˇepodobnˇe i budouc´ım - nav´ıc v pˇr´ıpadˇe zjiˇstˇen´eho pˇret´ıˇzen´ı jednotliv´ych zaˇr´ızen´ı je moˇzn´y jejich upgrade s minim´aln´ımi zmˇenami v konfiguraci. Dalˇs´ım krokem je zprovoznˇen´ı, nastaven´ı a zabezpeˇcen´ı centr´aln´ıho serveru. Zde je vˇetˇs´ı pravdˇepodobnost, ˇze v budoucnu m˚ uˇze doj´ıt k pˇretˇeˇzov´an´ı serveru, coˇz se d´a ovˇsem ˇreˇsit zv´yˇsen´ım poˇctu server˚ u nebo pos´ılen´ım hardwaru serveru. Posledn´ım krokem je pˇr´ıprava linuxov´e distribuce, kter´a bude umˇet pracovat v s´ıt’ov´em reˇzimu. Ta m˚ uˇze b´yt pˇripravena bud’ z existuj´ıc´ıho nainstalovan´eho syst´emu nebo m˚ uˇze b´yt vytvoˇrena ruˇcnˇe. Distribuce jsou snadno udrˇzovateln´e a spravovateln´e. Na tuto pr´aci je moˇzn´e nav´azat, a to v oblasti vzd´alen´eho bootov´an´ı jin´ych operaˇcn´ıch syst´em˚ u neˇz je Linux. V souˇcasnosti se na pracovn´ıch stanic´ıch pouˇz´ıv´a operaˇcn´ı syst´em Microsoft Windows, kter´y je ovˇsem um´ıstˇen na kaˇzd´e stanici na lok´aln´ım pevn´em disku a spr´ava vˇetˇs´ıho poˇctu takov´ych pracovn´ıch stanic je pro spr´avce sp´ıˇse noˇcn´ı m˚ urou. Zaveden´ım podobn´eho ˇreˇsen´ı jako u OS Linux, tedy moˇznost bootov´an´ı Microsoft Windows po s´ıti by se velmi zjednoduˇsila pr´ace pro spr´avce a nav´ıc by se z pracovn´ıch stanic dal odstranit pevn´y disk, to by znamenalo pˇr´ınos pˇredevˇs´ım v uˇsetˇren´ı penˇeˇzn´ıch n´aklad˚ u na pracovn´ı stanice a tak´e sn´ıˇzen´ı poruchovosti pracovn´ıch stanic. V pˇr´ıpadˇe u ´ spˇeˇsn´eho nasazen´ı tohoto ˇreˇsen´ı v s´ıti FAI UTB m˚ uˇze doj´ıt ke zkvalitnˇen´ı v´yuky OS Linux, nebot’ tento syst´em by byl velmi snadno dostupn´y a spustiteln´y.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
65
Conclusion This work contains mainly instructions for building an environment with the possibility of working with diskless stations with OS Linux with its full capabilities, i.e. not just terminal or remote desktop, where all processes run on central server, but in this case, all capabilities of all hardware included in the workstation are fully utilized. Central server is present just for providing the filesystem for workstations over the NFS protocol, that means it is here instead the local hard drive. Such solution lies not in modification of a linux distribution and sharing it over the network, the solution requires cooperation of some independent hardware equipment and software services, error-free network configuration and security arrangements which avoid users from doing wanted and unwanted damage to any component. To launch all the system it is neccessary to start with the network configuration: correct network design and addressing and choosing of good hardware equipment (switches and routers). Current equipment in FAI UTB fully corresponds with actual requirements and probably with future ones too. In case of rising of some overload, there is the possibility to easily upgrade to higher devices with a very few changes to running configuration. Next step is running, configuring and securing the central server. This is the most loaded device, so there can be some overload sooner as overload in network equipment. Simple solution is running more central servers together or upgrade proper part of hardware. Last step is preparation of linux distribution, which should be completely prepared for running in network environment. It can be prepared from a running distribution or can be made by hand. Distributions are easy maitainable and manageable. It is possible to extend this work, primarily in running other operating systems than Linux in the same environment. Currently the most used operating system on workstations is Microsoft Windows, which is located on every workstation on its harddrive - maintaining of high count of such workstation could be a real nightmare for administrator. If there was such a solution for this operationg system allowing diskless running of the operating system, the administrator would have much less work and the workstation could be really diskless. That would save financial expenses for workstations and the workstations would be less faulty. In case of successfull launching of this solution in the FAI UTB network, the quality of education of OS Linux can be increased, because this operating system would be very simple acciessible and executable.
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
66
ˇ ast V C´
ˇ E ´ LITERATURY SEZNAM POUZIT [1] DROMS, Ralph. RFC 2131 (rfc2131) - Dynamic Host Configuration Protocol [online]. Bucknell University, March 1997 [cit. 2008-05-01]. Text v angliˇctinˇe. Dostupn´y z WWW:
. [2] DHCP snooping [online]. Wikimedia Foundation, Inc., 2008, last modified on 9 April 2008, at 03:02 [cit. 2008-04-15]. Text v angliˇctinˇe. Dostupn´y z WWW: . [3] Cisco Systems, Inc.. Catalyst 2950 Desktop Switch Software Configuration Guide : 12.1(9)EA1 [online]. c1992-2007, Sat May 05 09:48:18 PDT 2007 [cit. 2008-01-27]. Text v angliˇctinˇe. Dostupn´y z WWW: . [4] Cisco Systems, Inc.. Catalyst 3550 Multilayer Switch Software Configuration Guide : Release 12.1(20)EA2 [online]. c1992-2007, Sun Jul 01 05:16:48 PDT 2007 [cit. 200801-27]. Dostupn´y z WWW: . [5] ANVIN, H. Peter. SYSLINUX : Syslinux wiki [online]. 2008, last modified 23:51, 25 April 2008 [cit. 2008-05-25]. Text v angliˇctinˇe. Dostupn´y z WWW: . [6] ANVIN, H. Peter. PXELINUX : Syslinux wiki [online]. 2008, last modified 09:37, 28 April 2008 [cit. 2005-05-01]. Text v angliˇctinˇe. Dostupn´y z WWW: . ˇ Martin, SCHOTTELIUS, Nico. [7] KUHLMANN, Gero, MARES, Linux-2.6.17/Documentation/nfsroot.txt [online]. [2007] [cit. 2008-04-28]. Text v angliˇctinˇe. Dostupn´y z WWW: . [8] ANVIN, H. Peter. Tftpd(8) - Linux man page [online]. [2007] [cit. 2008-04-10]. Text v angliˇctinˇe. Dostupn´y z WWW: . [9] LEMON, Tom. Dhclient(8) - Linux man page [online]. Internet Systems Consortium,Inc., [2007] [cit. 2008-04-15]. Text v angliˇctinˇe. Dostupn´y z WWW: . [10] FAWCETT, Tom. The Linux Bootdisk HOWTO [online]. v4.5. c1995-2002, January 2002 [cit. 2008-04-02]. Text v angliˇctinˇe. Dostupn´y z WWW: .
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
67
[11] DUBEC, Michal. LAN bezpeˇcnost a ovˇeˇrov´an´ı identity [online]. [2007], Last-Modified: Thu, 16 Aug 2007 11:03:05 GMT [cit. 2008-02-05]. Dostupn´y z WWW: . [12] Mount(8) - mount file system : Linux man page [online]. [2008] [cit. 2008-05-03]. Dostupn´y z WWW: . [13] BON, Stef. HOWTO execute scripts at begin and end of a usersession using PAM with examples [online]. [1008] [cit. 2008-05-14]. Text v angliˇctinˇe. Dostupn´y z WWW: . [14] BIONDO, Giuseppe, VAN MEER, Roel. LDAP Implementation HOWTO [online]. v0.5. 2000-2001 [cit. 2005-05-14]. Text v angliˇctinˇe. Dostupn´y z WWW: . [15] ANVIN, H. Peter. PXELINUX - SYSLINUX for network boot [online]. c1994-2007 [cit. 2008-01-27]. Text v angliˇctinˇe. Dostupn´y z WWW: . [16] Internet Systems Consortium, Inc.. Dynamic Host Configuration Protocol (DHCP) [online]. c2007 , 2007-12-19 [cit. 2008-01-27]. Text v angliˇctinˇe. Dostupn´y z WWW: . [17] SMITH, Christopher M.. Linux NFS faq [online]. 2008 [cit. 2008-01-27]. Text v angliˇctinˇe. Dostupn´y z WWW: . [18] Linux Kernel Organization, Inc.. The Linux Kernel Archives [online]. [1994], 2008-0124 23:18 UTC [cit. 2008-01-27]. Dostupn´y z WWW: .
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
68
ˇ ast VI C´
´ ˚ SEZNAM OBRAZK U Obr´ azek 1: Fyzick´ a topologie s´ ıtˇ e ..................................... 12 Obr´ azek 2: Logick´ a topologie s´ ıtˇ e ..................................... 13
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
69
UTB ve Zl´ınˇ e, Fakulta aplikovan´ e informatiky, 2008
70
ˇ ast VII C´
ˇ YCH ´ SEZNAM POUZIT ZKRATEK BIOS
Basic Input/Output System - program um´ıstˇen´y v chipsetu z´akladn´ı desky poˇc´ıtaˇce, m´a na starosti inicializaci a test jednotliv´ych zaˇr´ızen´ı jako jsou procesor, pamˇet’, s´ıt’ov´a karta atd. Spuˇstˇen´ım poˇc´ıtaˇce se spust´ı pr´avˇe tento program.
IP
Internet Protocol - z´akladn´ı soubor pravidel pro komunikaci poˇc´ıtaˇc˚ u po s´ıti Internet
PXE
Preboot Execution Environment - prostˇred´ı umoˇzn ˇ uj´ıc´ı zav´est operaˇcn´ı syst´em do poˇc´ıtaˇce pomoc´ı s´ıtˇe, nez´avisle na existenci nebo nastaven´ı pevn´ych disk˚ u
OS
Operaˇcn´ı syst´em - sada program˚ u umoˇzn ˇ uj´ıc´ı uˇzivateli plnohodnotnou pr´aci s poˇc´ıtaˇcem, m´a na starosti obsluhu hardwarov´ych zaˇr´ızen´ı na z´akladˇe pokyn˚ u uˇzivatele nebo bˇeˇz´ıc´ıch program˚ u
DHCP Dynamic Host Configuration Protocol - protokol, kter´y umoˇzn ˇ uje poˇc´ıtaˇc˚ um v s´ıti z´ıskat nastaven´ı vlastn´ıho s´ıt’ov´eho rozhran´ı na z´akladˇe u ´ daj˚ u, kter´e dostane od serveru TFTP
Trivial File Transfer Protocol - protokol, kter´y umoˇzn ˇ uje jednoduch´y pˇrenos soubor˚ u po s´ıti mezi klientem a serverem (obˇema smˇery), jednoduchost spoˇc´ıv´a v pouˇz´ıvan´ı mal´ych UDP paket˚ u pro pˇrenos a v neexistenci jak´ekoliv autorizace
NFS
Network File System - protokol umoˇzn ˇ uj´ıc´ı sd´ılen´ı soubor˚ u a adres´aˇr˚ u na b´azi server-klient, klientsk´a stanice pak k soubor˚ um na NFS serveru pˇristupuje pˇres s´ıt’, jakoby pˇristupovala k soubor˚ um na lok´aln´ım disku
USB
Universal Serial Bus - typ datov´e smˇernice v poˇc´ıtaˇci, umoˇzn ˇ uje pˇripojov´an´ı nejr˚ uznˇejˇs´ıch druh˚ u hardwarov´ych zaˇr´ızen´ı vˇcetnˇe jejich nap´ajen´ı, na jedn´e sbˇernici m˚ uˇze b´yt aˇz nˇekolik des´ıtek takov´ych zaˇr´ızen´ı
LDAP
Lightweight Directory Access Protocol - protokol pro centralizovanou spr´avu uˇzivatel˚ u na b´azi server-klient, na serveru je datab´aze s uˇzivateli a jejich vlastnostmi, klient se pak dotazuje serveru a t´ım prov´ad´ı autorizaci uˇzivatel˚ u, protokol m´a nav´ıc moˇznost hierarchick´e struktury dat
IDE
Integrated Drive Electronics - starˇs´ı technologie umoˇzn ˇ uj´ıc´ı pˇripojen´ı datov´ych hardwarov´ych zaˇr´ızen´ı (napˇr. disk˚ u, CD-ROM) na z´akladn´ı desku poˇc´ıtaˇce
SATA
Serial Advanced Technology Attachment - novˇejˇs´ı technologie umoˇzn ˇ uj´ıc´ı s´eriov´e pˇripojen´ı datov´ych hardwarov´ych zaˇr´ızen´ı (napˇr. disk˚ u, CD-ROM) na z´akladn´ı desku poˇctaˇce