Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 8 - Linuxový terminál (Bash) - Oprávnění a instalace balíčků

V minulé lekci, Linuxový terminál (Bash) - Práce se soubory, jsme prohlíželi obsah souborů, manipulovali se soubory a složkami a naučili se používat manuál.

Dnešní lekce je věnována uživatelským oprávněním a instalaci balíčků s aplikacemi.

Uživatelé

Linux je víceuživatelský operační systém. To znamená, že ho může používat na jednom počítači několik uživatelů a to dokonce najednou. UNIXové systémy mají kromě klasických uživatelů ještě uživatele root (superuser), který má kompletní přístup k systému. Ostatní uživatelé mají přístup jen do svých adresářů a nemohou například instalovat aplikace.

V Ubuntu je účet root zakázán a například instalace aplikací probíhá pomocí vynucení práv superuživatele na dobu nutnou pro instalaci softwaru nebo zkrátka pro akci, kterou nemůže běžný uživatel provést.

Přihlášení

sudo

Pokud před nějaký příkaz napíšeme sudo, vyžádá si od nás systém heslo a daný příkaz bude mít ke svému běhu plná oprávnění. Zkusme si to, nainstalujeme si nějakou aplikaci přes konzoli, například aplikaci kolourpaint4. Docílíme toho příkazem apt-get install, který si za moment rozebereme:

Instalace balíčku v terminálu Linuxu pomocí sudo a apt-get - Základy Linuxu

Vidíme, že bez sudo nám systém balíček odmítne nainstalovat:

Klon MSPaint KolourPaint na Linuxu - Základy Linuxu

su

Pokud chceme, můžeme práva superuživatele vynutit na delší dobu a ne jen na jeden příkaz. Docílíme toho příkazem su. Jakmile se budeme chtít odhlásit, napíšeme exit. Příkaz su musíme na Ubuntu spustit pomocí sudo:

Získání práv superuživatele v Bashi pomocí příkazu su - Základy Linuxu

Instalace balíčků

Jeden z nejdůležitějších konzolových příkazů je apt-get. Jeho název vychází z balíčkovacího systému APT (Advanced Packaging Tool), který používá Linuxová distribuce Debian a distribuce od ní odvozené, například právě Ubuntu.

Balíček nainstalujeme pomocí následujícího příkazu:

sudo apt-get install nazev_balicku

To jsme si již vyzkoušeli výše s KolourPaint.

Odinstalace

Aplikaci následně odinstalujeme pomocí parametru remove nebo purge. Remove odstraní aplikaci a ponechá nastavení. Purge odstraní kompletně vše:

sudo apt-get purge nazev_balicku

Vyhledávání

Balíčky jsou často pojmenované trochu jinak než aplikace. Naštěstí v nich můžeme velmi jednoduše vyhledávat:

dpkg -l *hledany_vyraz*

Výstup:

Příkaz dpkg k vyhledání balíčku - Základy Linuxu

Podobně můžeme vyhledávat i pomocí:

apt-cache search hledany_vyraz

Výstup:

Vyhledání balíčku v Linuxu - Základy Linuxu

Informace

Jakmile nějakou zajímavou aplikaci objevíme, můžeme si nechat vypsat podrobnosti pomocí:

apt-cache show nazev_aplikace

Výstup:

Zobrazení informací o balíčku v Linuxu - Základy Linuxu

Oprávnění

V úvodním dílu k Bashi jsme si ukazovali příkaz ls a jeho přepínač -l, díky kterému ls vypsal i přístupová práva k souboru nebo adresáři:

Oprávnění k souborům a adresářům v Linuxu - Základy Linuxu

Vysvětlili jsme si, že práva zapisujeme jako sekvenci 10ti znaků. Jejich význam je následující:

- r w x r w x r w x
1 2 3 4
  • Pomlčka (-) označuje soubor, d označuje adresář.
  • První trojice znaků označuje práva pro vlastníka
  • Druhá trojice znaků označuje práva pro skupinu
  • Poslední trojice označuje práva pro ostatní uživatele

Každá trojice se skládá ze 3 znaků. Na první pozici je buď r nebo -, což označuje zda může uživatel tento soubor číst či nikoli. w označuje zápis a x spouštění.

Skupina

V Linuxu se uživatelé sdružují do skupin a právě prostřední trojice označuje jaká práva má k souboru či adresáři skupina vlastníka.

Adresář

U adresářů se oprávnění zapisuje úplně stejně jako u souborů, jen řetězec začíná znakem d. Jednotlivé znaky mají následující význam:

  • r - Umožňuje vypsat obsah adresáře (pokud do ni lze vstoupit).
  • w - Umožňuje změnu obsahu adresáře (pokud do ni lze vstoupit).
  • x - Umožní vstoupit do adresáře a zobrazit její obsah.

Práva v oktanové soustavě

Práva se často zapisují také v osmičkové soustavě. Představme si následující oprávnění:

-rwxrw-r--

Oprávnění můžeme převést na dvojkovou soustavu a to tak, že pokud je daná operace (znak) povolena, zapíšeme 1, jinak zapíšeme 0:

111110100

Když každou trojici nyní převedeme na desítkovou soustavu, získáme následující číslo:

764

Určitě byste přišli na to, že plná oprávnění k souboru zapíšeme jako 777, protože:

  • 4 - práva pro čtení
  • 2 - práva pro zápis
  • 1 - práva pro spouštění

Při přidělování práv poté jen sečteme daná čísla.

chmod

Příkaz chmod (CHange MODe) umožňuje nastavit souboru nebo adresáři oprávnění a to právě pomocí oktanového zápisu. Před příkaz musíme vložit sudo pro vynucení práv:

Přidělení práv k souboru nebo adresáři v Linuxu pomocí příkazu chmod - Základy Linuxu

Je dobré zmínit, že takto plná práva obvykle nenastavujeme.

Kdybychom chtěli vlastníkovi souboru dát plná práva, skupině práva ke čtení a spouštění a zakázat přístup ostatním, celý příkaz by vypadal takto:

sudo chmod 750 soubor.xml

Sticky bit

Standardně může uživatel smazat soubory a adresáře ostatních uživatelů. Pokud bychom tomuto chtěli zabránit, použijeme sticky bit:

chmod +t soubor.xml

Nastavený sticky bit poznáme tak, že na konci standardního výpisu oprávnění (rwx) bude znak T. Případně t pokud bude nastavené oprávnění na 777. Budeme-li chtít v tomto případě smazat soubor jinému uživateli, systém nám v tom zamezí a vypíše hlášku Permission denied. A to i přesto, že máme nastavená práva pro ostatní na rwx.

chown

Pomocí příkazu chown (jako CHange OWNer) změníme vlastníka souboru. Určitě vás nepřekvapí, že k tomu potřebujeme oprávnění:

sudo chown karel soubor.xml

Příkazem chown lze změnit současně s vlastníkem i skupinu:

sudo chown uzivatel:skupina soubor.xml

chgrp

Pomocí chgrp (CHange GRouP) změníme skupinu:

sudo chgrp skupina soubor.xml

To je pro dnešení lekci vše 🙂

V příští lekci, Linuxový terminál (Bash) - Práce s procesy, si vysvětlíme rozdíl mezi procesem, úlohou a úkolem. Následně se podíváme na uspořádání procesů v Linuxu a také se naučíme pracovat s příkazy pro jejich obsluhu.


 

Předchozí článek
Linuxový terminál (Bash) - Práce se soubory
Všechny články v sekci
Základy Linuxu
Přeskočit článek
(nedoporučujeme)
Linuxový terminál (Bash) - Práce s procesy
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
140 hlasů
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 se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity