Základné príkazy pre prácu so systémom

Úloha

Zoznámte sa s textovou konzolou OS linux. Overte si ovládanie príkazového interpretera bash Vyskúšajte základné príkazy pre prácu so súborovým systémom.

Teória

OS linux môže komunikovať s užívateľom prostredníctom dvoch rôznych užívateľských rozhraní. Jedno je príkazový riadok, druhé je GUI Graphic User Interface Grafické rozhranie nemusí byť na každom systéme dostupné. Hlavným dôvodom je jeho vysoká náročnosť na hw príslušného zariadenia. GUI vyžaduje veľa operačnej pamäte, veľa priestoru na disku a tiež veľmi výkonný procesor a grafickú kartu. V jednoduchých zariadeniach ako sú napríklad sieťové prvky (prepínače, smerovače, wifi prístupové body) takýto výkonný hw nie je k dispozícii. Zariadenie má minimum RAM, minimum diskového priestoru a žiadny zobrazovací adaptér, takže tu býva ako rozhranie iba príkazový riadok.
V prípade osobnej pracovnej stanice (PC) užívateľ zvyčajne preferuje GUI. V prípade serveru je to otázka preferencií správcu. Z pohľadu efektivity je inštalácia GUI nevhodná. GUI obsadzuje zbytočne veľké množstvo operačnej pamäte a zaberá pomerne veľa miesta na disku. Z tohoto dôvodu je často serverovská inštalácia bez GUI. Preto sa na začiatok budeme venovať správe systému pomocou príkazového riadku.

Textové virtuálne konzoly

Pod konzolou rozumieme technické zariadenie ktoré je priamo pripojené k hostiteľskému počítaču a umožnuje prácu s týmto počítačom prostredníctvom zadávania príkazov a sledovanie odozvy systému na tieto príkazy

Linuxový systém vytvára textové rozhranie postredníctvom virtuálnej konzoly. Pre pohodlnú prácu má systém vytvorených niekoľko virtuálnych konzol. V prípade štandartnej inštalácie debianu bez GUI je to celkovo šesť virtuálnych konzol. Tento počet sa dá zmeniť v konfigurácii systému pokiaľ by niekomu tento počet nevyhovoval.
Prepínanie medzi konzolami sa robí nasledovnými klávesovými skratkami

Čo to je tty?

Je to historický pozostatok z doby kedy unixovský (linux vtedy ešte neexistoval) počítač sídlil v špeciálnej klimatizovanej miestnosti. Prístup k nemu mali iba vysoko kvalifikovaný odborníci a užívateľ bol k systému pripojený zariadením s názvom dialnopis. Viac si môžete o dialnopisoch prečítať na tomto odkaze
Dennis Ritchie a Ken Thompson na Teletype konzole počítača PDP-11/20 v roku 1972.

Elektromechanický dialnopis sa neskôr nahradil terminálom Terminál bol už plne elektronický a skladal sa z klávesnice a obrazovky ktorá dokázala zobraziť určitý počet riadkov a stĺpcov znakov. DEC VT52 Video Terminal

Virtuálna konzola simuluje na prostredkoch daného počítača (klávesnica, monitor, zobrazovací adaptér) vlastne niekoľko takýchto terminálov pričom samozrejme zobrazený môže byť iba jeden z nich v jednom okamihu, ale dajú sa veľmi ľahko prepínať.

Popis textov konzoly a postup prihlásenia

Prihlásenie pomocou textovej konzoly tty1

Po nabootovaní systému sa zobrazí konzola číslo jedna. Takto to bude vyzerať ak nemáte na servery nainštalované GUI. V prvom riadku máme vypísané celkovo tri rôzne informácie (zvýraznené v červených obdĺžnikoch). Prvá informácia popisuje distribúciu a verziu systému (Debian GNU/Linux 11).
Nasleduje meno servera (macik). macik je moje obľúbené meno pre môj školský ukážkový server. Toto meno sa zadávalo pri inštalácii servera.
Tretia informácia je meno konzoly na ktorej sa práve nachádzame (tty1).

Ako posledná informácia sa na konzole po spustení objaví informácia zvýraznená obdĺžnikom č.4 Je to opäť meno servera a výzva na prihlásenie login: Tu potom je zobrazený blikajúci kurzor a je tu možné napísať prihlasovacie meno užívateľa.
Po odoslaní mena klávesou Enter sa zobrazí výzva na zadanie hesla. Password: Heslo sa pri zadávaní nevypisuje a ani sa neposúva kurzor aby nebolo vidno aké heslo je a ani koľko má znakov. Už taká informácia o tom aké je heslo dlhé dáva prípadnému útočníkovi veľmi užitočnú informáciu ktorá by viedla k obrovskej úspore času pri jeho prelamovaní. Heslo sa odosiela rovnako ako užívateľské meno klávesou Enter

Ak je prihlásenie neúspešné tak sa tento postup opakuje dovtedy pokiaľ užívateľ nezadá správne meno a heslo.

Pozor systém unix/linux rozlišuje veľké a malé písmená aj v prihlasovacom mene na rozdiel od systému Windows, ktorý ich rozlišuje len v hesle.
Pozor na nastavnie klávesnice - môže byť vypnutý num lock, alebo môže byť nastavená národná klávesnica, či zamenené písmena z a y

Úspešné prihlásenie (v tomto prípade správcu systému s menom root) sa prejaví tak že sa vypíše uvítací výpis (obdĺžniky 8,9,10) Tu sa opäť uvádza meno servera (macik), verzia jadra (5.10.0-21-amd64) a architektúra (amd64 alebo aj 86_64). Nasledujú právne veci ako informácia že ide o volný softvér a odkaz na dokumentáciu ku každému jednému programu v adresári /usr/share/doc.
Ďalší riadok uvádza zrieknutie sa zodpovednosti za akékoľvek používanie. (To isté platí aj v systémoch za ktoré ste zaplatili)

Nasleduje informácia o dátume čase a mene terminála posledného prihlásenia.

V reálnom svete je toto treba sledovať a kontrolovať dáva to signál o zneužití konta. Pozor ak sa podarí niekomu prihlásiť ako root má k dispozícii prostriedky ako tento údaj zakamuflovať na pôvodnú správnu hodnotu. Len veľmi slabý útočník by nechal po sebe takúto okatú stopu, ktorá by mala okamžite viesť k tomu že systém bol kompromitovaný.

Posledný riadok vypísaný na terminál sa volá prompt. Prompt znamená výzva, prostredníctvom promtu nás systém vyzíva o zadanie príkazu. Skladá sa z niekoľkých častí ktoré informujú užívateľa o dôležitých údajoch a zatým nasleduje interaktívny príkazový riadok v ktorom sa pomcou klavesnice a kurzora dá zadať príkaz pre systém.
V prompte sa nachádzajú tieto informácie:

  1. meno užívateľa - dôležité pre udržanie si prehľadu na ktorej konzole som prihlasený ako aký užívateľ. Linux je multiužívatelský systém čo znamená že na každej konzole môžem byť napríklad prihlásený ako iný užívateľ.
  2. @ oddeľovací snak s anglickým významom at teda so slovenským významom na
  3. meno servera - dôležité ak sa následne prihlásim na iné vzdialené servery aby som mal prehľad kde práve som
  4. : oddeľovací znak
  5. aktuálny pracovný adresár - dôležité pri prechádzaní stromovej adresárovej štruktúry súborového systému servera. V tomto prípade sa zobrazuje špeciálny znak ~ ktorý reprezentuje domovský adresár užívateľa
  6. #oddeľovací znak ktorý ukončuje prompt a zárovň informuje o tom že ide o užívateľa ktorý je správcom systému. Nie nutne to musí byť vždy užívateľ s menom root.
  7. Blikajúci kurzor naznačuje že sem je možné začať písať text príkazu
Prompt
root@macik:~#
treba čítať takto: Užívateľ root na serveri macik sa nachádza vo svojom domovskom adresári (~ ) a ide o správcu systému (# )

Prompt

peter@macik:~$
treba čítať takto: Užívateľ peter na serveri macik sa nachádza vo svojom domovskom adresári (~ ) a ide o obyčajného užívateľa ($ )

Základné príkazy