1. Charakteristika operačního systému GNU/Linux



Podobné dokumenty
Charakteristika operačního systému GNU/Linux

Úvod do Linuxu SŠSI Tábor 1

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Tomáš Borland Valenta

LINUX ADRESÁŘOVÁ STRUKTURA. Co to, hrome, je? V této lekci se budeme brouzdat adresáři. SPŠ Teplice - 3.V

UŽIVATEL, SKUPINA, PROCES

Operační systém GNU/Linux

Systém souborů (file system, FS)

Linux-příkazový řádek

Přednáška 5. Identita uživatelů, procesů a souborů. Přístupová práva a jejich nastavení. Úvod do Operačních Systémů Přednáška 5

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Identita uživatelů, přístupová práva. Linux

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Nová cesta ip. Stará cesta ifconfig, route. Network address translation NAT

Charakteristika operačního systému GNU/Linux

Unix je víceuživatelský a víceúlohový OS

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

PROGRAMOVÁNÍ V SHELLU

LINUX SOUBORY. Zadejme příkaz ls l! V této lekci se odrazíme od dlouhého výpisu příkazu ls a uvidíme, kam nás to zanese. SPŠ Teplice - 3.

LINUX uživatelské účty (1)

Architektura systému GNU/Linux. Bohdan Milar

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Nastroje na zpracovani textu:

Operační systémy 1. Přednáška číslo Souborové systémy

SSL Secure Sockets Layer

Úvod do Linuxu. SŠSI Tábor 1

Linux připojování zařízení. 6 praktická část

Úvod do UNIXu. Okruh č. 1 - přihlášení, historie, práce se soubory. Jakub Galgonek. verze r1. inspirováno materiály Davida Hokszy

File Transfer Protocol (FTP)

Instalační a uživatelská příručka aplikace PSImulator2 Obsah

IT ESS II. 1. Operating Systém Fundamentals

Úvod do Operačních Systémů

Úvod, jednoduché příkazy

Architektura systému. Tomáš Borland Valenta

Úvod do informačních služeb Internetu

Správa procesů - manipulace s procesy, signály

Další nástroje pro testování

DNS, DHCP DNS, Richard Biječek

Úloha 3 editor a skripty. připojte se vzdáleně na dray6.feld.cvut.cz heslo získáte na adrese

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

1 Webový server, instalace PHP a MySQL 13

TC-502L TC-60xL. Tenký klient

Ing. Jitka Dařbujanová. TCP/IP, telnet, SSH, FTP

Identita uživatele (procesu)

PSK3-9. Základy skriptování. Hlavička

Téma 11: Firewall v CentOS. Nastavení firewallu

Základní příkazy pro práci se soubory

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Audit bezpečnosti počítačové sítě. Předmět: Správa počítačových sítí Jiří Kalenský

ÚČETNICTVÍ ORGANIZAČNÍCH KANCELÁŘÍ KOMPLEXNÍ SYSTÉM PRO VEDENÍ ÚČETNICTVÍ

TC-502L. Tenký klient

Administrace OS Unix. Úvodní informace Principy administrace Uživatelé

Radim Dolák Gymnázium a Obchodní akademie Orlová

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV Windows server 2003 (seznámení s nasazením a použitím)

Přednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8

Nainstaloval jsem a jak dál? Michal Turek

Základní příkazy OS UNIX

Souborový systém (File System FS) Souborové systémy. Souborová fragmentace. Disková fragmentace. Organizace dat na pevném disku

Zprovoznění nových userů pro pure-ftpd server (s privátními adresáři)

PB169 Operační systémy a sítě

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

SADA VY_32_INOVACE_PP1

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP.

Popis programu EnicomD

Linux Teorie operačních systémů a realita

ČÁST 1 ÚVOD. Instalace operačního systému 21 Aktualizace operačního systému 57 Příkazový řádek 77 Windows Script Host 103 ČÁST 2 ŘEŠENÍ

Inovace výuky prostřednictvím šablon pro SŠ

Základy IOS, Přepínače: Spanning Tree

Použití programu WinProxy

Instalace a konfigurace web serveru. WA1 Martin Klíma

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Audit bezpečnosti počítačové sítě

Počítačové sítě Systém pro přenos souborů protokol FTP

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Rozdělení operačních systémů

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

2. přednáška pro začátečníky

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Identita uživatele. predn_04.odt :47:03 1

ZOS CV1 Základy operačních systémů

Konfigurace Windows 7

Operační systémy. Cvičení 1: Seznámení s prostředím

úvod Historie operačních systémů

Přednáška 10. X Window. Secure shell. Úvod do Operačních Systémů Přednáška 10

Úvod do Operačních Systémů

Skripty - úvod. Linux - skripty 2

Semestrální projekt do předmětu SPS

Instalace. Samotný firewall již je s největší pravděpodobností nainstalovaný Zjistíme dle parametru při použití. aptitude search iptables

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Windows Server 2003 Active Directory

SOU Valašské Klobouky. VY_32_INOVACE_02_18 IKT DNS domény. Radomír Soural. III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

PSK3-7. Plánované spouštění programů a správce sezení. Skupiny procesů

Univerzita Pardubice Fakulta elektrotechniky a informatiky ISOSY Matěj Trakal

Transkript:

1. Charakteristika operačního systému GNU/Linux OS Unixového typu - filozofie, procesy, uživatelé, souborový systém, základní programy a další věci jsou shodné s Unixovými standardy Víceúlohový OS - jeden člověk může mít spuštěno několik programů současně Víceuživatelský OS - více lidí může současně pracovat na jednom fyzickém počítači. OS uživateli vytváří virtuální prostředí tvářící se, jako by měl počítač sám pro sebe: nikdo nebude bez jeho povolení číst jeho soubory, nikdo nebude zasahovat do běhu jeho programů, bude moci používat periferní jednotky počítače (tiskárny, vstupní jednotky,..) atd. Víceprocesorový OS podpora až 64 procesorů

Historie Linuxu Autorem operačního systému Linux je pan Linus Torvalds. Původní verzi Linuxu napsal v roce 1991. Od té doby však byla tato verze mnohými dalšími programátory značně upravena a zdokonalena. Na vývoji Linuxu se nijak nepodílely společnosti, které vytvořily původní UNIXové systémy. Linux byl kompletně celý znovu vytvořen. Pan Torvalds však přišel s jednou velice zajímavou myšlenkou. Rozhodl se, že neponechá vývoj Linuxu jen na svých bedrech, ale podělí se o starosti s širokou programátorskou veřejností. Tak vlastně došlo k velice zajímavému vývoji operačního systému, který vlastně probíhá dodnes. Každou část operačního systému má na starosti jeden programátor. Je to jakýsi koordinátor. Toho kontaktuje spousta dobrovolníků, kteří sami vytváří různá vylepšení a doplnění operačního systému. Pokud je doplnění nebo oprava výhodné, je tato zahrnuta koordinátorem do celku operačního systému.

Svobodný software, GNU Tento projekt byl započat v roce 1984. Jeho zakladatelem byl Richard Stallman. Komponenty tohoto projektu jsou šířeny pod licencí GPL a LGPL. Cílem tohoto projektu bylo vytvořit volně šiřitelný operační systém postavený na Unixové filozofii. Nyní je projekt hotov až na jádro Hurd, které je postavené na mikrojádru Mach. Jelikož původní jádro nebylo zatím dokončeno, používá se nyní systém GNU spolu s jádrem Linux, které začal Linus Torvalds. Mimo odbornou veřejnost se toto spojení chybně nazývá pouze Linux, celý název tohoto operačního systému však zní GNU/Linux. Co znamená GNU? GNU je rekurzivní akronym pro větu "GNU is not Unix" (GNU není Unix). Gnu však také znamená pakůň hřivnatý. Ostatně logo to dokazuje skvěle.

Výhody GNU/LINUX Moderní operační systém Bezpečný - bez virů a spywaru Velké množství aplikací Kancelářské nástroje (Office) Variabilní a přizpůsobitelný Víceuživatelský a víceúlohový Vzdálená správa a použití Kvalifikovaná podpora a dokumentace Dostupný v češtině Pro všechny zdarma

GPL GNU Linux GPL - General Public License ( všeobecná veřejná licence ) licence pro svobodný software zdrojové kódy software pod GPL mohou být svobodně upravovány a používány, šířeny však musí být opět pod GPL tvoří základ projektu GNU GNU akronym GNU is not UNIX projekt zaměřený na svobodný software, inspirovaný operačními systémy unixového typu původní cíl byl vyvinout operační systém se svobodnou licencí, který však neobsahuje žádný kód původního UNIXu vývoj od r. 1982, projekt úspěšně dokončen v roce 1992 přídáním jádra LINUX LINUX jádro (kernel) operačních systémů UNIXového typu GNU/Linux jeho zdrojový kód volně k dispozici pro veřejnost a kdokoli jej může svobodně používat, upravovat a dále distribuovat.

GNU/Linux, distribuce GNU/Linux -unixový operační systém složen z linuxového jádra a zároveň z knihoven a nástrojů z projektu GNU + další zdroje. GNU/Linuxová distribuce - zkráceně distribuce Distribuce je spojením systému GNU, Linuxového jádra a řady dalšího, převážně svobodného software. linuxové jádro + další aplikace GNU/Linux může dodávat každý => existuje spousta profesionálních nebo amatérských distribucí Všechny distribuce mají stejný základ - jádro OS, knihovny a nástroje od GNU. Liší se obalem (tzn. instalátorem) a složením (tzn. software, unikátní úpravy)

Seznam distribucí Debian Jejím zakladatelem je Ian Murdock. Distribuce je pojmenována po jeho ženě (Debra). Je to přísná open-source distribuce, ktrerá je vyvíjena dobrovolníky z celého světa. Debian nabízí on-line repozitář (server, kde jsou uloženy zdrojové kódy) softwarových balíků. Fedora Jedná se o distribuci, za kterou stojí (sponzoruje) Red Hat, protože je na tomto systému založena. Je to volná distribuce, která vzniká podobně jako Debian. Klade důraz na otevřenost a bezpečnost. Red Hat Jedna z nejstarších distribucí. Dnes velmi komerční, hlavně díky Red Hat Enterprise Linuxu. V Red Hatu vznikl balíčkovací systém RPM. Na desktopech se již moc nepoužívá. Slackware pro pokročilejší uživatele. Mandriva (dříve Mandrakelinux) vhodná pro začátečníky SUSE Původně samostatná distrbuce, později koupena firmou Novell.. Ubuntu distribuce vhodná pro začátečníky vychází z Debianu

2. Start systému GNU/Linux na architektuře Intel ix86 Po zapnutí počítače s procesorem Intel se jako první provede program zvaný BIOS BIOS je zkratkou pro Basic Input/Output System. Tento program je trvale uložen ve zvláštní paměti počítače. Realizuje některé základní testy a identifikuje technické vybavení, jako je pevný disk či disketová jednotka. Po identifikaci disku najde tzv. zaváděcí sektor (boot sector) a spustí kód, který v něm nalezne. Jestliže byl nalezen disk, ale žádný zaváděcí sektor, vypíše BIOS následující hlášení: Non-system disk or disk error BIOS vyhledá hlavní zaváděcí záznam MBR (master boot record) na pevném disku (závisí na nastavení BIOSu). Ten obsahuje kód (zaváděcí program), jehož úkolem je zavést operační systém. Pro operační systém Linux se tento program jmenuje LILO (LInux LOader) GRUB Loader

Jak Linux přebírá kontrolu nad počítačem Nejdříve předá BIOS kontrolu zaváděcímu programu GRUB (LILO) a ten pak předá kontrolu jádru operačního systému Linux (Linux kernel). Jádro je centrálním programem celého systému a řídí všechny ostatní programy. V dalším kroku se Linux pokouší identifikovat technické vybavení počítače, na kterém běží. Musí znát informace o pevném disku, zda je nebo není k dispozici myš, zda je nebo není váš počítač připojen k počítačové síti a podobně. Jestliže tedy úspěšně identifikuje veškeré technické vybavení počítače, spus tí jiný program, který již začne dělat něco užitečného. Proces init

Proces init Zařizuje připojení ("mountování" - mount) a případnou kontrolu souborových systémů a swapovacích oblastí, nastavení hodin, jména systému, startuje systémové démony, síťové služby a procesy pro přihlášení do systémů Linux při kontrole souborového systému zjišuje, které části disku jsou již použity a které jsou volné Proces init spouští další program označený jako fsck, jenž se pokouší vadné soubory a konfliktně obsazené části pevného disku opravit. Pokud je váš počítač připojen k síti, spustí se několik speciálních programů, jež zajišují komunikaci vašeho počítače s jinými počítači. Základním konfiguračním souborem programu init je /etc/inittab Tento soubor popisuje, které procesy jsou startovány během zavedení systému a během normální činnosti.

Úrovně běhu systému - runlevel runlevel 0 - zastavení systému runlevel 1 - jednouživatelský režim halt Single user mode runlevel 2 - víceuživatelský režim bez podpory sítě Multiuser, without NFS runlevel 3 - víceuživatelský režim s podporou sítě runlevel 4 - není použit unused runlevel 5 - víceuživatelský režim s podporou sítě a XFree runlevel 6 - restart systému reboot Full multiuser mode X11

Proces logování událostí systému (systém logger) Jedny z prvních služeb, které jsou startovány procesem init, jsou démoni syslogd a klogd. Zapisují zprávy do systémových logů - zprávy jádra jsou obsluhovány démonem klogd, zatímco syslogd provádí logování zpráv z jiných procesů, a případně přes síť i z jiných systémů. Hlavní logovací soubor bývá /var/log/messages

Getty a Login Getty je program který umožňuje připojit se přes sériové zařízení jako je virtuální terminál, textový terminál, nebo modem. Zobrazí přihlašovací prompt a když zadáte vaše uživatelské jméno, getty jej předá programu login, který se zeptá na heslo, ověří to a spustí shell. Je dostupných několik variant programu getty. Některé distribuce, včetně RedHat používají velmi malou verzi zvanou mingetty, která pracuje pouze s virtuálními terminály Getty jsou obyčejně startovány v /etc/inittab procesem init. Zpráva která se vypíše na vrchu obrazovky před přihlašovacím promptem je ze souboru /etc/issue. Login kontroluje detaily ohledně přihlášení uživatele v /etc/passwd

Bash Po zadání správné kombinace přihlašovacího jména a hesla úloha login ověří v /etc/passwd který shell má spustit. Ve většině případů to na Linuxových systémech bude bash (Bourne Again SHell - vylepšený sh). Jeho úkolem je čtení uživatelských příkazů a jejich provádění. Bash je zároveň uživatelské rozhraní a interpret programovacího jazyka:

3. Systém souborů, adresářová struktura GNU/Linux Základem systému souborů je kořenový adresář (root directory), který se značí /

V Linuxu jen jeden kořenový adresář, označený '/'. Všechny další souborové systémy se připojují do jednoho stromu takže když chceme například přistupovat k souborům na disketě, tak ji připojíme do adresáře /mnt/floppy a pokud máme oddělený diskový oddíl pro adresáře uživatelů, tak jej připojíme do adresáře /home. Souborové systémy se připojují příkazem mount a odpojují příkazem umount. Soubor /etc/fstab uvedeny všechny disky a souborové systémy, které se při startu automaticky připojí nemusíme ručně připojovat při každém spuštění systému všechny disky příkaz df zobrazí kapacitu, obsazení a volné místo všech připojených jednotek (pevné disky, CD-ROMy)

LINUX - Adresářová struktura / - kořen souborového systému, začátek stromové struktury /bin - základní spustitelné soubory pro použití všemi uživateli /boot - zde je umístěno jádro (kernel) systému + soubory zavaděče (boot loader) GRUB nebo LILO /dev - soubory v tomto adresáři reprezentují jednotlivá fyzická zařízení nebo psedozařízení systému. /etc - globální konfigurační soubory systému /home - domovské adresáře uživatelů /lib - základní sdílené knihovny systému /lost+found - ztracené a opravené soubory po chybách FS

/mnt - do místních podadresářů se připojují další souborová zařízení, např. do "/mnt/floppy" disketa, do "/mnt/cdrom" CD /opt - zde bývají SW aplikace, které nejsou standardní součástí distribuce /proc - soubory nastavení a stavu systému a jednotlivých procesů - dalo by se říci, že je to mapa stavu paměti RAM /root - domovský adresář superuživatele (root) /sbin - systémové privilegované spustitelné soubory, používané uživatelem root /tmp - adresář pro odkládací a pomocné soubory /usr - další stromová struktura, obsahuje velké množství informací, jako knihovny, zdrojové kódy, spustitelné soubory, konfigurační soubory a další.

Souborový systém (filesystem) způsob organizace informací (souborů) tak, aby bylo možné je snadné najít a přistupovat k nim Souborový systém umožňuje ukládat data do souborů, které jsou označeny názvy. Obvykle také umožňuje vytvářet adresáře, pomocí kterých lze soubory organizovat do stromové struktury. Žurnálovací systém souborů - zapisuje změny, které mají být v počítačovém systému souborů provedeny, do speciálního záznamu nazývaného žurnál (anglicky journal). účel - ochránit data na pevném disku před ztrátou integrity v případě neočekávaných havárií (výpadek napájení, neočekávané přerušení vykonávaného programu, pád systému apod.). Windows: NTFS používá žurnálovací systém souborů FAT16, FAT32 nepoužívá

Souborové systémy ext2 - open source souborový systém umožňuje nastavit práva UGO (uživatele, skupiny,ostatních) poskytuje pevné odkazy, symbolické odkazy, zařízení, adresáře, pojmenované roury, ext3 - navazuje na ext2 zpětně kompatibilní žurnálovací filesystem ext4 - navýšení výkonu a spolehlivosti ReiserFS - nevýhoda - dlouhá doba mountování a dlouhé prodlevy čtení/zápis u velkých datových kapacit

Typy souborů - plain file (obyčejný soubor) d l directory (adresář, seznam jmen souborů) symbolic link (symbolický odkaz)

I-node (česky I-uzel) datová struktura uchovávající metadata o souborech a adresářích (metadata - strukturovaná data o datech.) Nese informace o tom, jaké jsou přístupové práva k danému souboru, kdy došlo k poslední změně či prístupu k souboru, kdo je jeho vlastníkem, počet hardlinku a především informace o tom, kde se nachází obsah souboru ve filesystemu. V adresářích jsou pak dvojice název souboru a I-uzel, které definují soubory a adresáře Výpis názvů spolu s čísly I-uzlů v adresáři: ls -i Výpis obsazeného datového prostoru: df Výpis počtu obsazených I-uzlů: df -i

hard link (pevný link odkaz) Linky - odkazy jedno číslo i-nodu má více jmen souborů neexistuje originál či kopie - dva soubory mají společný I-node pevný odkaz vytvoříme příkazem: ln jméno_cíle [jméno_pev_odkazu] Pro zjištění, kolik jmen souborů ukazuje na daný soubor, můžeme použít příkaz stat nebo se podívat na číslo v druhém sloupci ve výpisu adresáře příkazem ls -l symlink (soft link, symbolický odkaz) soubor typu l, ve kterém je napsána cesta směřující k odkazovanému souboru (Obdoba zástupce v OS MS Windows) může odkazovat i na adresáře Symbolický odkaz vytvoříme příkazem: ln -s jméno_cíle [jméno_sym_odkazu]

Základní příkazy OS Linux ls cd [ADRESÁŘ] pwd cp mv vypíše obsah aktuálního nebo zadaného adresáře změní aktuální adresář zobrazí aktuální adresář zkopíruje soubor do jiného souboru, nebo zkopíruje několik souborů do zadaného adresáře přesouvá soubory do jiného adresáře, nebo je přejmenuje mkdir vytvoří nový adresář rmdir zruší prázdný adresář rm chmod smaže jeden nebo více souborů mění atributy souborů

Základní příkazy OS Linux cat, less df du free passwd vypíše obsah souboru na obrazovku zobrazí kapacitu, obsazení a volné místo všech připojených jednotek (pevné disky, CD-ROMy) zobrazí velikosti adresářů zobrazí kolik je obsazené a volné paměti ram a místa v odkládacím prostoru (swap) změna hesla

Typy diskových oddílů Pevné disky počítačů se dělí na diskové oddíly tzv. partitions. Tyto oddíly jsou buď využity, a je na nich určitý souborový systémem, nebo jsou nevyužité. Každý oddíl pevného disku pracuje jako samostatná jednotka. Diskové oddíly lze rozdělit na tři typy: primární, rozšířený a logický MBR - Master Boot Record je prvních 512 bytů (0. hlava, 0. cylindr a 1. sektor) na začátku každého disku. Obsahuje zavaděč systému a tabulku rozdělení disku (partition table). Někdy také volitelně identifikátor disku. Hlavní úlohou MBR je načíst do paměti boot sektor oddílu, který je označen jako aktivní v partition table.

Primární diskové oddíly Kvůli omezení BIOSu počítače lze nastavit pouze 4 primární diskové oddíly. Jsou to oddíly zapsané v MBR (master boot record) oblasti disku. Rozšířené diskové oddíly Rozšířené (extended) oddíly byly zavedeny kvůli potřebě dělení disků na více než 4 oddíly se zachováním zpětné kompatibility. Rozšířený diskový oddíl nelze přímo používat, ale může obsahovat větší množství logických oddílů. Je to v podstatě kontejner pro logické oddíly. Logické diskové oddíly Logický oddíl je oddíl umístěný v rozšířeném diskovém oddílu. Logicé oddíly musí na sebe navazovat. Každý logický oddíl obsahuje odkaz na jeho následující oddíl. Oddíl Swap Každý proces operačního systému potřebuje pro svůj běh určité množství operační paměti (RAM). V případě nedostatku této paměti se momentálně nepotřebná data z RAM (např. blokované procesy) přesouvají na disk aby uvolnili místo běžícímu procesu. Data se odkládají na speciálně vyhrazený oddíl swap Swap by měl být velký alespoň stejně jako je velká RAM počítače, neuškodí však více. U serverů je swap oddíl několikanásobně větší oproti RAM.

Diskové zařízení na linuxu - značení Na Linuxu jsou všechny zařízeni reprezentovány ve speciálním adresáři /dev (device files) se speciálním souborovým systémem DevFS nebo modernějším Udev. IDE zařízení mají označení hd*. V případě primárního řadiče má master zařízení hda, slave zařízení hdb. Slave na sekundárním řadiči by pak měl hdd. Obvykle mají počítače 2 IDE řadiče, takže se většinou setkáváme se zařízeními označenými hda hdd. SCSI (SATA) zařízení jsou označovány obdobně jako sd*. Značení diskových oddílů Jednotlivé oddíly každého zařízení obsahují v názvu navíc číslo. Primární disk rozdělený na dva oddíly tak bude mít v adresáři /dev soubory hda1 a hda2.

4. Zabezpečení souborového systému, přístupová práva Přístupová práva jsou atributy (parametry) souboru nebo složky, které říkají, jaká práva k nim mají určití uživatelé či skupiny uživatelů Oprávnění se dělí do tří skupin podle: Vlastníka (číselné UID) Skupiny (do které patří vlastník, číselné GID) Ostatní Vlastník je ten, kdo soubor vytvořil a jehož UID číslo je zapsáno v i-uzlu Aktuální skupina toho, kdo vytvořil soubor Typ práv a Symbolické v yjádření Oktalov é vyjádření Čtení r (Read) 4 Zápis w (W rite) 2 Spuštění x (execute) 1

Pro práci více osob na jednom projektu je nutné sdělování práv, tj. dát ostatním osobám (uživatelům) práva k práci se soubory. Práva uživatelů jsou: Právo na čtení r Právo na zápis - w Právo na spuštění souboru - x Tato práva se určují zvlášť pro majitele souboru, skupinu a ostatní. Stejná přístupová práva se dají nastavit i adresáři, ale znamenají něco trochu jiného. Právo čtení povoluje přečíst, co je uloženo v adresáři. Právo zápisu dává možnost měnit obsah adresáře (nové nebo mazat) Právo spuštění povoluje, aby bylo možno vstoupit do adresáře

Změna přístupových práv pomocí příkazu chmod Komu práva přiřadit: u - user (vlastník) g - group (skupina) o - others (ostatní) Jaká práva přiřadit: r - read (čtení) w - write (zápis) x - execute (spouštění) Jakou operaci použít: = - nastavit + - přidat - - odebrat Příklady: chmod u+w jméno_soubor přídá právo zápisu pro vlastníka souboru chmod o+x jméno_soubor přídá právo spouštění pro ostatní uživatele chmod g-r jméno_soubor odebere právo čtení pro primární skupinu uživatele

Rozšířená (speciální) práva Standardně dědí potomek (nový proces) oprávnění svého rodiče. Někdy je však nutné, aby měl spuštěný program jiná (vyšší) oprávnění Symbolické vyjádření Kategorie Právo s uživatel setuid s skupina setgid t ostatni sticky setuid - Program s nastaveným setuid bitem má při běhu práva svého vlastníka. Používá se hlavně v případech, kdy chceme dočasně zvýšit poskytnutá práva setgid - podobně jako setuid - mění skupinu Používán je hlavně u adresářů, kdy po provedení příkazu patří všechny nově vytvořené soubory do určené skupiny a ne do hlavní skupiny uživatele. sticky bit - ve starších verzích Unixu zamezení odtranění programu z paměti Použití při práci s adresáři - při nastavení tohoto příznaku smí soubory v tomto adresáři přejmenovat či smazat pouze jejich vlastník

ACL (Access Conrol List ) ACL - seznam oprávnění připojený k nějakému objektu ( souboru). Seznam určuje, kdo nebo co má povolení přistupovat k objektu a jaké operace s ním může provádět. V typickém ACL specifikuje každý záznam v seznamu uživatele a operaci. ACL v Linuxu - rozšiřuje práva souboru může nastavit, který konkrétní uživatel do toho kterého souboru může zapisovat, číst atd.. Pro práci s ACL slouží příkazy getfacl a setfacl. setfacl - nastavování práv getfacl - výpis práv

5. Správa uživatelů v OS GNU/Linux Uživatelský účet - pojmem uživatelský účet se označují všechny soubory, zdroje a informace, které se vztahují k danému uživateli Vytváření uživatelského účtu samotné jádro OS Linux považuje uživatele za pouhé číslo tzv. UID (User ID) informace o uživateli se udržují ve zvláštní databázi mimo jádro systému vytváření nového uživatele se přidají informace o něm do uživatelské databáze a vytvoří se pro něj domovský adresář základní databází uživatelů je soubor /etc/passwd

soubor /etc/passwd - každému uživateli odpovídá jeden řádek - každý uživatel může číst tento soubor řádek je rozdělen na 7 polí, která jsou oddělena dvojtečkou (:) uživatelské jméno : heslo : ID uživatele :ID pracovní skupiny (GID Group ID) : skutečné jméno uživatele : domovský adresář : příkazový interpret, který se spustí po přihlášení ID uživatele: 0 500 je vyhrazeno pro systém ID = 0 uživatel bude mít práva roota v současnosti se používá systém stínových hesel (shadow password) zakódovaná hesla se ukládají do souboru /etc/shadow, který může číst pouze superuživatel každému uživateli odpovídá jeden řádek, jednotilivá pole jsou rozdělena dvojtečkou (:) uživatelské jméno : heslo :

Vytváření uživatelských účtů Příkaz useradd / adduser parametry příkazu: d home_directory : název domovského adresáře, defaultně se vytvoří podle uživ. jména g ID_základní skupiny : ID základní skupiny, lze zadat jako řetězec nebo číslo G ostatní_skupiny : členství v dalších skupinách m : do domovského adresáře zkopíruje soubory z /etc/skel u UID : definice ID uživatele Nastavení uživatelského prostředí po vytvoření domovského adresáře uživatele se zkopírují soubory z adresáře /etc/skel adresář /etc/skel obsahuje základní konfigurační soubory

Smazání uživatelského účtu příkaz userdel parametry příkazu: r : vymaže i domovský adresář příklad: userdel Petra // smazání pouze uživatele userdel r Petra // vymazání uživatele i domovského adresáře

Modifikace uživatelského účtu po vytvoření uživatelského účtu můžeme změnit některé parametry (domovský adresář, členství ve skupinách, přihlašovací jméno, ) příkaz usermod parametry příkazu: d home_directory : název domovského adresáře, defaultně se vytvoří podle uživ. jména g ID_základní skupiny : ID základní skupiny, lze zadat jako řetězec nebo číslo G ostatní_skupiny : členství v dalších skupinách u UID : definice ID uživatele příklad: usermod Petra d petra2 // změní domovský aresář

Správa skupin soubor /etc/group seznam všech skupin je uložen v souboru /etc/group každé skupině odpovídá jeden řádek název skupiny : x : ID skupiny : členové této skupiny, kteří jsou odděleni čárkou Základní skupina ( g) x Ostatní skupiny (-G) základní skupina = hlavní skupina daného uživatele ostatní skupiny = seznam všech skupin, ve kterých se daný uživatel nachází

Správa skupin vytvoření/smazání Vytvoření skupiny: příkaz groupadd parametry příkazu: g ID skupiny : ID skupiny příklad: groupadd studenti // vytvoří skupinu studenti groupadd ucitele g 800 // vytvoří skupinu ucitele s ID 800 Smazání skupiny příkaz groupdelp příklad: groupdel studenti

Správa uživ. účtů další příkazy Změna hesla uživatele passwd přihlašovací_jméno Změna vlastníka adresáře příkaz chown použití: chown vlastník:skupina adresář příklad: chown baloun:studenti /home/baloun Změna přístupových práv k vytvořenému domovskému adresáři pomocí příkazu chmod

6. Příkazový interpret Shell, systémové prostředí Příkazový řádek je zobrazován speciálním programem, který se nazývá příkazový interpret - shell Shell - interpret programovacího jazyka. Čte příkazy z terminálu nebo ze souboru a provádí je Příkazové interprety mají svůj vlastní programovací jazyk a programy napsané v tomto jazyce se nazývají skripty příkazového interpretu - shell scripts Různé Unixovské shelly: Bourne shell - sh C-shell - csh Korn shell - ksh vychází z Bourne shellu Bourn again shell - bash představitel GNU, vychází z Bourne shellu bash je implicitním příkazovým interpretem používaným v operačním systému GNU/Linux http://cs.wikipedia.org/wiki/bourne-again_shell

Shell - spuštění a ukončení Po přihlášení se uživateli spustí shell, který má uvedený v souboru /etc/passwd Pro spuštění bash shellu je uvedeno /bin/bash Tento první spuštěný shell se nazývá login shell. Provádí soubor /etc/profile - login script pro všechny uživatele při přihlášení do systému Dále provádí tyto skripty (pokud existují) v domovském adr. uživatele:.bash_profile.bash_login.profile Při odhlašování provádí skript v domovském adresáři:.bash_logout

Systémové proměnné Každý program běžící v Linuxu ma přiřazeno jisté prostředí enviroment Prostředí je množina dvojic [systémová proměnná, hodnota]. Systémové proměnné jsou znakové řetězce - píší se velkými písmeny. Proměnné se vytvářejí v shellu zápisem PROMENNA=hodnota, exportují se příkazem export PROMENNA zjištění hodnoty proměnné - příkaz: echo $PROMENNA vypsat prostředí shellu (všechny proměnné) příkazy: printenv nebo env Znak dolaru se používá k vyhodnocení systémové proměnné, avšak pouze v kontextu s příkazovým procesorem přesněji s příkazovým procesorem, jenž realizuje interpretaci příkazu. http://www.abclinuxu.cz/clanky/navody/bash-i

Některé důležité systémové proměnné P ro m ě n n á O b s a h u je P řík la d H O M E D o m o v s k ý a d re s á ř T E R M T y p te rm in á lu S H E L LC e s ta k p řík a z o v é m u p ro c e/b s oin ru /b a s h U S E R J m é n o ú č tu n o v a c e k P A T H /h o m e /n o v a c e k x te rm,v t1 0 0,c o n s o le S e zn a m a d re s á řů, v e k te rý c h s e a u to m a tic k y v y h le d á v a jí p ro g ra m y k e s p u š tě n í /b in :/u s r/lo c a l/b in :/u s r/b in /X 1 1

Proměnná PATH Systémová proměnná PATH obsahuje seznam adresářů oddělených dvojtečkou, ve kterých systém automaticky vyhledává spustitelné programy. Když například zadám příkaz ls bude příkazový procesor bash hledat program ls nejdříve v adresáři /home/larry/bin, který jsem vytvořil pro ukládání mých vlastních programů. Program ls jsem však nenapsal já, proto zde příkazový procesor tento příkaz nenašel. Jako další prohledává příkazový procesor adresář /bin. A zde program ls našel. Protože soubor ls je spustitelný program, přestane příkazový procesor dále hledat a spustí jej. Může se stát, že v jiném adresáři bude také uložen spustitelný program ls (například v adresáři /usr/bin), ale příkazový procesor jej nespustí, pokud mu to výslovně nepřikážete:

Přesměrování vstupů a výstupů Jako standardní vstup bývá nejčastěji chápán vstup z klávesnice, standarní výstup je nejčastěji veden na obrazovku (zrovna tak standardní chybový výstup) LINUX však umožnňuje přeměrování standardního vstupu nebo výstupu ze/do souboru. To například umožňuje načítat vstupní data ze souboru místo klávesnice, nebo vypisovat výstupní data do souboru (místo na obrazovku). Přesměrování standardního výstupu Přesměrování lze provést pomocí znaku '>' následovaným jménem souboru, do kterého se má výstup přesměrovat, např: ls -l > vystup.1 ls -l >> vystup.1 Přesměrování standardního vstupu Přesměrování lze provést pomocí znaku '<', například příkaz cat < vstup.1

Kolony (pipeline) V Unixu se programy, které čtou data ze standarního vstupu a vypisují je na standardní vstup někdy označují jako tzv. filtry. Jedná se například o programy cat, more, grep... Takovéto programy lze pomocí mechanismu, který se označuje jako roura (pipe), spojovat do tzv. kolon (pipeline). Princip spočívá v tom, že standardní výstup z jednoho programu je přeměrován na standardní vstup jiného programu. To lze na příkazové řádce zajistit pomocí znaku ' '. Například výpis souboru 'file1' na obrazovku lze zajistit pomocí příkazu cat file1. Když je soubor příliš dlouhý, uteče nám text za horní okraj obrazovky. Tomu se dá zabránit buď tak, že místo příkazu cat použijeme příkaz more, a nebo příkaz more použijeme jako filtr: cat file1 more

Expanze jmen (souborů) tzv. "žolíkové znaky" * libovolná posloupnost znaků (i nulové délky)? právě jeden libovolný znak [ ] právě jeden znak z množiny znaků uvedených v těchto závorkách, při specifikaci lze použít následující dva speciální znaky: používa se pro označení intervalů znaků z množiny ASCII (např. a-z, 0-9),! negace výčtu znaků

7. Programování v shellu skripty, spouštění scriptu, strukturované příkazy BASH není pouze příkazovou řádkou, ale zároveň také plnohodnotným skriptovacím jazykem rozdíl mezi skriptovacím a kompilovaným jazykem Skriptovací jazyky začínají psaním zdrojového kódu, ale nejsou kompilovány. Místo toho interpreter jazyka čte instrukce ze zdrojového kódu a podle obsahu tyto instrukce vykonává Shell umí interpretovat scripty ( textové příkazové soubory) Script se často používá v situacích, které se opakují a je výhodné je zautomatizovat - např. boot systému, přihlášení uživatele apod. Hlavní výhodou scriptu je jeho čitelnost a snadná úprava. Nevýhodou je pomalé zpracování. Script lze spustit stejně, jako binární program. Soubor by měl být umístěn v adresáři uvedeném v proměnné PATH, uživatel musí mít právo x http://docs.linux.cz/programming/interpreted/bashdoc-1.4/

Proměnné Proměnné jsou "krabičky" do kterých se ukládají hodnoty (laicky řečeno). Místa v paměti označená identifikátorem (názvem proměnné). V bash se proměnné deklarují např takto: #!/bin/bash x=5 echo "Hodnota proměnné x je $x" k proměnné se přistupuje pomocí znaku symbolu dolaru ($) uvedeného před názvem proměnné

Hlavní systémové proměnné $$ - obsahuje pid aktuálního procesu (ať víte co zabíjet :-) $0 - obsahuje jméno právě prováděného skriptu: mujskript.sh $1 - obsahuje první argument, předaný vašemu skriptu, na příkazové řádce: parametr1 $9 - obsahuje 9-tý argument z příkazové řádky: parametr9 $# - obsahuje počet argumentů z příkazové řádky mujskript.sh parametr1 parametr2 parametr3... parametr9

Vstup/výstup Skript může získat od uživatele data příkazem read promenna. Tímto se načte do proměnné promenna vše až do stisku klávesy enter. Pokud uvedeme více proměnných, uloží se do každé proměnné jedno slovo. read promenna1 promenna2... promennan výstup programu zajišťuje příkaz echo echo Ahoj, ja jsem bash skript a jmenuju se $0. Co jsi ty? echo -n Zadej svuj plat: read plat echo Nevypadas jako bys vydelaval $plat korun.

SHELL - Řídící struktury Řídící struktury můžou váš program řídit a tím ho udělat mnohem více užitečný a efektivnější. Velmi důležitá je například detekce chyb Řídící struktury jsou: if, case while, until, for, Každá tato struktura je tzv. párová. To znamená, že začíná jako "návěst" a končí taky "návěst". Například struktura podmínky začíná if a končí fi If... else... elif... fi Case... in... esac While... do... done Until... do... done For... in... do... done

IF struktura pro rizeni pomoci podminek if [ podminka ] fi then prikazy else prikazy Pokud je podminka splnena vykonaji se prikazy za slovem then, pokud podminka neni splnena provedou se prikazy za slovem else, fi urcuje konec