Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

8. diel - Linuxový terminál (Bash) - Oprávnenia, inštalácia a procesy

V minulom dieli nášho seriálu o Linuxe sme sa naučili pracovať so súbormi a získavať nápovedu pre rôzne typy príkazov. Dnešný diel je venovaný užívateľským oprávnením, inštaláciu balíčkov s aplikáciami a správe procesov.

Užívatelia

Linux je multiužívatelský operačný systém. To znamená, že ho môže používať na jednom počítači niekoľko užívateľov a to dokonca naraz. UNIXové systémy majú okrem klasických užívateľov ešte užívateľa root (superuser), ktorý má kompletný prístup k systému. Ostatní užívatelia majú prístup len do svojich zložiek a nemôžu napr. Inštalovať aplikácie.

V Ubuntu je účet root zakázaný a napr. Inštalácia aplikácií prebieha pomocou vynútenie práv superužívateľa na dobu nutnú pre inštaláciu softvéru alebo skrátka pre akciu, ktorú nemôže bežný užívateľ vykonať.

Prihlásenie

Sudo

Ak pred nejaký príkaz napíšeme sudo, vyžiada si od nás systém heslo a daný príkaz bude mať k svojmu behu plná oprávnenia. Skúsme si to, nainštalujeme si nejakú aplikáciu cez konzolu, napr. Aplikáciu kolourpaint4. Docielime toho príkazom apt-get install, ktorý si za moment rozoberieme.

Inštalácia balíka v termináli Linuxe pomocou sudo a apt-get - Základy Linuxu

Vidíme, že bez sudo nám systém balíček odmietne nainštalovať.

Klon mspaint KolourPaint na Linuxe - Základy Linuxu

Su ==

Ak chceme, môžeme práva superužívateľa vynútiť na dlhšiu dobu a nie len na jeden príkaz. Docielime toho príkazom su. Akonáhle sa budeme chcieť odhlásiť, napíšeme exit. Príkaz su musíme na Ubuntu spustiť pomocou sudo.

Získanie práv superužívateľa v Bashi pomocou príkazu su - Základy Linuxu

Inštalácia balíčkov

Jeden z najdôležitejších konzolových príkazov je apt-get. Jeho názov vychádza z balíčkovacieho systému APT (Advanced Packaging Tool), ktorý používa Linuxová distribúcia Debian a distribúcie od nej odvodené (napr. Práve Ubuntu).

Balíček nainštalujeme pomocou nasledujúceho príkazu:

sudo apt-get install nazev_balicku

To sme si už vyskúšali vyššie s KolourPaint.

Odinštalácie

Aplikáciu následne odinštalujeme pomocou parametra remove alebo purge. Remove odstráni aplikáciu a ponechá nastavenie. Purge odstráni kompletne všetko.

sudo apt-get purge nazev_balicku

Vyhľadávanie

Balíčky sú často pomenované trochu inak ako aplikácie. Našťastie v nich môžeme veľmi jednoducho vyhľadávať:

dpkg -l *hledany_vyraz*
Príkaz dpkg na vyhľadanie balíčku - Základy Linuxu

Podobne môžeme vyhľadávať aj pomocou:

apt-cache search hledany_vyraz
Vyhľadanie balíčka v Linuxe - Základy Linuxu

Informácie

Akonáhle nejakú zaujímavú aplikáciu objavíme, môžeme si nechať vypísať podrobnosti pomocou:

apt-cache show nazev_aplikace
Zobrazenie informácií o balíku v Linuxe - Základy Linuxu

Oprávnenie

V úvodnom dielu k Bashi sme si ukazovali príkaz ls a jeho prepínač -l, vďaka ktorému ls vypísal aj prístupové práva k súboru alebo priečinku:

Oprávnenie k súborom a priečinkom v Linuxe - Základy Linuxu

Vysvetlili sme si, že práva zapisujeme ako sekvenciu 10tich znakov. Ich význam je nasledovný:

- r w x r w x r w x
1 2 3 4
1) Pomlčka označuje súbor, d označuje zložku.
  1. Prvá trojica znakov označuje práva pre vlastníka
  2. Druhá trojica znakov označuje práva pre skupinu
  3. Posledná trojica označuje práva pre ostatných užívateľov

Každá trojica sa skladá z 3 znakov. Na prvej pozícii je buď r alebo -, čo označuje či môže užívateľ tento súbor čítať alebo nie. w označuje zápis ax spúšťanie.

Skupina

V Linuxe sa užívatelia združujú do skupín a práve prostrednej trojice označuje aké práva má k súboru / priečinku skupina vlastníka.

Zložka

U zložiek sa oprávnenia zapisuje úplne rovnako ako pri súboroch, len reťazec začína znakom d. Jednotlivé znaky majú nasledujúci význam:

  • r - Umožňuje vypísať obsah priečinka (ak do nej môže vstúpiť).
  • w - Umožňuje zmenu obsahu zložky (ak do nej môže vstúpiť).
  • x - Umožní vstúpiť do priečinka a zobraziť jej obsah.

Práva v oktánové sústave

Práva sa často zapisujú tiež v osmičkovej sústave. Predstavme si nasledujúce povolenia:

-rwxrw-r--

Oprávnenie môžeme previesť na dvojkovú sústavu a to tak, že ak je daná operácia (znak) povolená, zapíšeme 1, inak zapíšeme 0:

111110100

Keď každú trojicu teraz prevedieme na desiatkovú sústavu, získame nasledovné číslo:

764

Určite by ste prišli na to, že plná oprávnenie k súboru zapíšeme ako 777.

Chmod

Príkaz chmod (Change mode) umožňuje nastaviť súboru alebo priečinku oprávnenia a to práve pomocou oktánového zápisu. Pred príkaz musíme vložiť sudo pre vynútenie práv.

Pridelenie práv k súboru alebo priečinku v Linuxe pomocou príkazu chmod - Základy Linuxu

Je dobré spomenúť, že takto plné práva zvyčajne nenastavuje.

Chown

Pomocou príkazu chown (ako change owner) zmeníme vlastníka súboru. Určite vás neprekvapí, že k tomu potrebujeme oprávnenie.

Príklad:

sudo chown karel soubor.xml

Chgrp

Pomocou chgrp (Change Group) zmeníme skupinu.

sudo chgrp skupina soubor.xml

Procesy

Linux je rovnako ako Windows viacúlohový operačný systém (anglicky multitasking). Aplikácia beží ako procesy, o ktorej sa procesor strieda alebo ktoré bežia na rôznych jadrách. V procesoch beží v skutočnosti ešte vlákna, ale tými sa zaoberať nebudeme. Zameriame sa na procesy a naučíme sa ich spravovať.

Ps **

Všetky bežiace procesy užívateľa vypíšeme pomocou príkazu ps (ako Process Status).

Výpis bežiacich procesov v Bash pomocou príkazu ps - Základy Linuxu

Vidíme tu bežiaci terminál a samotný ps. Všimnite si, že každý proces má svoje ID (PDI), pomocou ktorého ho môžeme napr. Ukončiť. ID je nutné z dôvodu, že jedna aplikácia môže bežať niekoľkokrát a systém by teda len podľa jej názvu nerozpoznal ktorý proces má ukončiť.

Jobs

Okrem ps môžeme k výpisu procesov využiť aj shell BUILTIN jobs. Pretože je súčasťou shellu, použijeme ho v prípade, keď nás zaujímajú procesy, ktoré sme cez shell spustili.

jobs

Po spustení nevidíme žiadne procesy, keďže nemáme žiadny spustený. Nápravy to a spustite si napr. Gedit. Akonáhle vyskočí okno a my sa vrátime späť do terminálu, zistíme, že je zaneprázdnený.

Gedit spustený ako proces v Bashi - Základy Linuxu

Proces môžeme pozastaviť tak, že sa prepneme do terminálu a stlačíme CTRL + Z.

Gedit spustený ako proces v Bashi - Základy Linuxu

Bg **

Pomocou príkazu bg spustíme pozastavený proces na pozadí (ako background).

Gedit spustený ako proces v Bashi - Základy Linuxu

Vidíme, že teraz reaguje gedit a zároveň je prístupný aj terminál. Proces môžeme na pozadí spustiť aj hneď na prvýkrát a to tak, že mu dáme ako parameter ampersand (&):

Gedit spustený ako proces v Bashi - Základy Linuxu

Fg **

Pomocou príkazu fg môžeme proces preniesť do popredia (ako Foreground). Za príkaz fg môžeme zadať jeho ID po percente (ID získame z príkazu jobs) alebo ho spustiť bez parametrov, kedy prenesie do popredia poslednej pozastavený proces alebo posledný proces v pozadí.

Gedit spustený ako proces v Bashi - Základy Linuxu

Kill

Posledný príkaz, ktorý si v súvislosti s procesmi zmienime, je príkaz kill. Ako asi tušíte, slúži na ukončenie daného procesu. Proces môžeme označiť buď pomocou jeho PID (zistíme príkazom ps) alebo pomocou percentá a čísla, ktoré zistíme pomocou príkazu jobs.

Ukončenie procesu v Bash pomocou príkazu kill v Linuxe - Základy Linuxu

Nabudúce sa pozrieme na štandardný vstup / výstup a vysvetlíme si čo je to expanzia a ako ju využívať.


 

Predchádzajúci článok
Linuxový terminál (Bash) - Práca so súbormi
Všetky články v sekcii
Základy Linuxu
Preskočiť článok
(neodporúčame)
Linuxový terminál (Bash) - Štandardný vstup / výstup a expanzia
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
1 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity