Správa oprávnení, vlastníctva a skupín v systéme Linux: Komplexný sprievodca

Operačný systém Linux poskytuje rozsiahle možnosti pre správu prístupu k súborom a adresárom. Tento článok sa zameriava na vysvetlenie konceptov oprávnení, vlastníctva a skupín v systéme Linux, a to od základných princípov až po pokročilé techniky. Dôraz sa kladie na pochopenie a efektívne využívanie týchto mechanizmov na zabezpečenie a správu systému.

Úvod do správy prístupu v Linuxe

V systéme Linux, ktorý je navrhnutý ako multiužívateľský systém, je kľúčové presne definovať prístupové práva pre každého používateľa. Každý používateľ by mal mať jasne vymedzený priestor, kde môže zapisovať, spúšťať programy a meniť obsah súborov. Z bezpečnostných dôvodov je to nevyhnutné.

Základné koncepty: Vlastník, Skupina a Ostatní

Práva pre priečinky a súbory v Unixových systémoch sú definované pre tri kategórie užívateľov:

  • Vlastník (Owner/User - u): Osoba, ktorá súbor vytvorila.
  • Skupina (Group - g): Skupina užívateľov, ktorí majú spoločné prístupové práva.
  • Ostatní (Others - o alebo a): Všetci ostatní užívatelia systému, ktorí nie sú vlastníkom ani členom skupiny.

Prístupové práva: Čítanie, Zápis a Spúšťanie

Pre každú z týchto kategórií sú definované tri základné prístupové práva:

  • Čítanie (Read - r): Umožňuje zobraziť obsah súboru alebo zoznam súborov v priečinku.
  • Zápis (Write - w): Umožňuje meniť obsah súboru alebo vytvárať a mazať súbory v priečinku.
  • Spúšťanie (Execute - x): Umožňuje spustiť súbor ako program alebo vstúpiť do priečinka.

Zobrazenie prístupových práv

Prístupové práva súborov a priečinkov sa dajú zobraziť pomocou príkazu ls -l v termináli. Výstup príkazu zobrazuje reťazec znakov, ktorý definuje typ súboru a prístupové práva pre vlastníka, skupinu a ostatných.

Prečítajte si tiež: ÚPSVaR Liptovský Mikuláš a vodičské oprávnenie

Interpretácia výstupu príkazu ls -l

Napríklad, reťazec -rwxr-xr-- indikuje:

  • Prvý znak - označuje, že ide o obyčajný súbor.
  • rwx pre vlastníka: Vlastník má právo čítať, zapisovať a spúšťať súbor.
  • r-x pre skupinu: Skupina má právo čítať a spúšťať súbor, ale nie zapisovať do neho.
  • r-- pre ostatných: Ostatní majú právo len čítať súbor.

Ak je na danom mieste pomlčka, znamená to, že dané právo nie je udelené.

Číselné vyjadrenie práv (chmod)

Práva súborov a adresárov môžu byť vyjadrené aj číselne, pomocou osmičkovej notácie. Každé právo má svoju číselnú hodnotu:

  • Čítanie (r) = 4
  • Zápis (w) = 2
  • Spúšťanie (x) = 1

Kombináciou týchto hodnôt sa dá vyjadriť akákoľvek kombinácia práv. Napríklad:

  • 7 (rwx) = 4 (r) + 2 (w) + 1 (x)
  • 5 (r-x) = 4 (r) + 0 (w) + 1 (x)
  • 4 (r--) = 4 (r) + 0 (w) + 0 (x)

Príkaz chmod 751 subor.txt nastaví práva súboru subor.txt na:

Prečítajte si tiež: Bezpečnosť za volantom pre držiteľov vodičského preukazu skupiny B

  • Vlastník: čítanie, zápis a spúšťanie (7)
  • Skupina: čítanie a spúšťanie (5)
  • Ostatní: len spúšťanie (1)

Zmena prístupových práv

Prístupové práva sa dajú meniť pomocou príkazu chmod. Tento príkaz umožňuje nastaviť práva pre vlastníka, skupinu a ostatných, a to buď číselne, alebo symbolicky.

Použitie príkazu chmod

  • Číselný režim: chmod 755 subor.txt
  • Symbolický režim:
    • chmod u+x subor.txt (pridá právo spúšťania pre vlastníka)
    • chmod g-w subor.txt (odoberie právo zápisu pre skupinu)
    • chmod o=r subor.txt (nastaví právo čítania pre ostatných)
    • chmod a+r subor.txt (pridá právo čítania pre všetkých)

Zmena vlastníctva súborov

Vlastníctvo súborov sa dá meniť pomocou príkazu chown (change owner). Tento príkaz vyžaduje administrátorské práva (root).

Použitie príkazu chown

  • sudo chown novy_vlastnik subor.txt (zmení vlastníka súboru na novy_vlastnik)
  • sudo chown novy_vlastnik:nova_skupina subor.txt (zmení vlastníka a skupinu súboru)

Zmena príslušnosti k skupine

Príslušnosť k skupine sa dá meniť pomocou príkazu chgrp (change group). Tento príkaz tiež vyžaduje administrátorské práva (root).

Použitie príkazu chgrp

  • sudo chgrp nova_skupina subor.txt (zmení skupinu súboru na nova_skupina)

Správa užívateľov a skupín

Operačný systém Linux umožňuje pracovať pod rôznymi používateľskými účtami. Každý používateľ má po prihlásení k dispozícii svoje vlastné súbory a v nich programy a nastavenia.

Práca s užívateľmi

  • Vytvorenie užívateľa: sudo adduser meno_uzivatela
  • Zmazanie užívateľa: sudo deluser meno_uzivatela
  • Zmena hesla užívateľa: sudo passwd meno_uzivatela

Práca so skupinami

  • Vytvorenie skupiny: sudo addgroup meno_skupiny
  • Zmazanie skupiny: sudo delgroup meno_skupiny
  • Pridanie užívateľa do skupiny: sudo adduser meno_uzivatela meno_skupiny

Špeciálne práva: SUID, SGID a Sticky Bit

Okrem základných práv (rwx) existujú aj špeciálne práva, ktoré ovplyvňujú spôsob, akým sa spúšťajú programy a pristupuje k súborom.

Prečítajte si tiež: Ako získať vodičák cez úrad práce?

SUID (Set User ID)

Ak je SUID bit nastavený na spustiteľnom súbore, program sa spúšťa s právami vlastníka súboru, nie s právami užívateľa, ktorý program spúšťa.

SGID (Set Group ID)

Ak je SGID bit nastavený na spustiteľnom súbore, program sa spúšťa s právami skupiny súboru. Ak je nastavený na adresári, všetky nové súbory a podadresáre v tomto adresári zdedí skupinu nadradeného adresára.

Sticky Bit

Ak je sticky bit nastavený na adresári, iba vlastník súboru, vlastník adresára a root môžu mazať alebo premenovávať súbory v tomto adresári.

Superužívateľ (Root)

Nad všetkými právami sa nachádza užívateľ root. V rôznych distribúciách sa môže volať rôzne, napríklad SuperUser, SuperVisor, admin, či administrator. Tento užívateľ sa pri bežnom behu systému používa len zriedka. Jeho práva totiž presahujú všetky práva ostatných užívateľov. Môže napríklad aj zmeniť vlastníka akéhokoľvek súboru. Ak teda náhodou zmeníte práva k nejakému súboru a nebudete mať viac k nemu prístup, root vás môže zachrániť. V niektorých distribúciách používate tento účet tak, že pred vykonávanú akciu zadáte sudo, čo znamená SuperUser Do. Vtedy sa akcia vykoná so systémovými privilégiami.

Štandardná štruktúra súborového systému Linux

V Linuxe existuje štandard, podľa ktorého sa v určitých priečinkoch nachádzajú určité súbory. Nižšie je uvedený prehľad štandardných priečinkov a ich účel:

  • / (root, koreň): Koreňový priečinok je začiatok všetkých priečinkov a súborov, pretože v ňom sú umiestnené všetky ostatné súbory a priečinky.
  • /bin (ako binary): Tu sú umiestnené súbory príkazov, ktoré používa operačný systém.
  • /boot: Tu nájdeme statické súbory programu, ktorý spúšťa (zavádza) operačný systém Linux (tzv. bootloader).
  • /dev (ako device): Tu sú umiestnené súbory zariadení.
  • /etc (ako et cetera): Tu nájdeme konfiguračné súbory lokálneho počítača. Napríklad v súbore /etc/passwd nájdeme informácie o používateľoch.
  • /home: Domovský priečinok pre všetkých používateľov, okrem používateľa root. Používateľ s menom Tibor by teda používal domovský priečinok /home/tibor, v ktorom by mal právo čítať, zapisovať aj spúšťať súbory.
  • /lib (ako library): Tu sú umiestnené základné zdieľané knižnice a moduly jadra.
  • /media: Do tohto priečinka sa pripájajú (montujú) prenosné médiá ako sú USB kľúče.
  • /mnt (ako mounted): Sem sa pripájajú (montujú) dočasne pripojené systémy súborov.
  • /opt (ako optional): Prídavné softvérové balíčky (voliteľný softvér).
  • /proc (ako processes): Priečinok, ktorý obsahuje informácie o jadre a procesoch.
  • /root: Domovský priečinok super-administrátora Linuxu.
  • /run: Sem si systémové procesy ukladajú svoje dočasné údaje.
  • /sbin (ako super-binaries): Tu nájdeme dôležité súbory systému, ktoré zvyčajne fungujú iba pod používateľom root.
  • /srv (ako server): Sem si ukladajú údaje servery. Napr. FTP server tu môže mať priečinok /srv/ftp.
  • /sys: Ide o priečinok, ktorý obsahuje informácie o pripojených zariadeniach.
  • /tmp (ako temp): Dočasné súbory. Pri reštarte systému sú odstránené.
  • /usr (ako UNIX System Resources): Tu sú umiestnené súbory príkazov, ktoré spúšťa používateľ.
  • /var (variable): Premenlivé údaje ako dočasné súbory, systémové záznamy, zdieľané súbory aplikácií alebo súbory používateľských poštových schránok.

Rôzne druhy súborov v Linuxe

V Linuxe je všetko súbor. V súboroch nájdeme uložené nastavenia programov, samotné programy, a tiež obsah vytvorený používateľom. Jedným súborom môžeme odkazovať na iný súbor a dokonca aj priečinok je v Linuxe iba druh súboru. V Linuxe existuje viacero druhov súborov.

  • - (pomlčka): Obyčajný textový súbor. Ak má súbor pred názvom bodku, znamená to, že je skrytý a nezobrazuje sa v zozname súborov, pokiaľ nepoužijeme prepínač -a. Skryté sú predovšetkým konfiguračné súbory, pretože k nim používateľ zväčša nepotrebuje priamy prístup.
  • d (ako directory): Priečinok je v Linuxe iba druh súboru, takže o skrývaní priečinkov platí to isté ako o skrývaní súborov.
  • l (ako link): Odkaz. Tu odkazuje súbor obycajny_subor-odkaz.txt na súbor obycajny_subor.txt. To znamená, že reálne existuje iba obsah súboru obycajny_subor.txt, pričom odkazujúci súbor tento obsah vždy len preberá.
  • c (ako character device): Určuje súbor zariadenia, ktoré komunikuje tak, že posiela znak (character) po znaku. Príkladom je generátor náhodných znakov: ls -lah /dev/random
  • b (ako block device): Určuje súbor zariadenia, ktoré komunikuje tak, že posiela celé bloky (viac znakov naraz).

tags: #ftp #oprávnenie #vlastníctvo #skupiny #linux