🔐 Uživatelé a oprávnění

Klíče od školy

O čem to je

Ve škole má školník klíč od všech dveří. Učitel má klíč od svého kabinetu a učeben. Žák nemá klíč skoro od ničeho. Nikdo to nebere jako nedůvěru: každý má přesně to, co potřebuje k práci.

V operačním systému to funguje stejně. Každý člověk má uživatelský účet a ke každému souboru jsou nastavená oprávnění: kdo smí číst, kdo měnit a kdo spouštět. Správné nastavení chrání data před chybou i útokem.

Nové pojmy

Uživatelský účetIdentita člověka (nebo služby) v systému: jméno, heslo, domovská složka.účet jana
SkupinaPojmenovaná množina uživatelů. Oprávnění se dávají skupině, ne každému zvlášť.skupina ucitele
SprávceÚčet s plnými právy nad systémem. V Linuxu root, ve Windows člen skupiny Administrators (Správci).
Vlastník souboruUživatel, kterému soubor patří, obvykle ten, kdo ho vytvořil. Může měnit jeho oprávnění.
Princip nejnižších oprávněníKaždý dostane jen ta práva, která opravdu potřebuje. Běžná práce se dělá pod obyčejným účtem, ne pod správcem.

Oprávnění v Linuxu: r, w, x

PísmenoU souboruU složky
r (read)číst obsahvypsat obsah složky
w (write)měnit obsahvytvářet a mazat soubory ve složce
x (execute)spustit jako programvstoupit do složky (cd)

Oprávnění se nastavují pro tři skupiny osob: vlastník (u), skupina (g), ostatní (o). Příkaz ls -l je ukáže takto:

TypVlastníkSkupinaOstatní
-rwxr-xr--

První znak je typ: - soubor, d složka. Pomlčka místo písmena znamená, že právo chybí. Tady: vlastník smí vše, skupina číst a spouštět, ostatní jen číst.

Změna oprávnění: chmod

chmodPříkaz pro změnu oprávnění. Píše se, komu (u, g, o, a = všem), co (+ přidat, − odebrat) a jaké právo.chmod u+x skript.sh přidá vlastníkovi spouštění.
Soubor zapisky.txt má -rw-r--r--. Chceš, aby ho ostatní vůbec nemohli číst. Jaký příkaz použiješ a jak bude výsledek vypadat?
chmod o-r zapisky.txt odebere ostatním čtení. Výsledek: -rw-r-----.
Skript zaloha.sh nejde spustit: „Permission denied“. Co uděláš?
Souboru chybí právo x. chmod u+x zaloha.sh přidá spouštění vlastníkovi. Pak ho spustíš ./zaloha.sh.

Oprávnění ve Windows (NTFS)

Ve Windows klikneš na soubor nebo složku pravým tlačítkem → Vlastnosti → Zabezpečení. Uvidíš seznam uživatelů a skupin a jejich práva: Úplné řízení, Změnit, Číst a spouštět, Zobrazit obsah složky, Číst, Zapisovat. Každé právo jde povolit, nebo odepřít.

DěděníSoubory a podsložky automaticky přebírají oprávnění nadřazené složky. Nastavíš to jednou nahoře a platí to pro všechno uvnitř.
✗Pracuju pořád jako root nebo správce, ať mě systém neotravuje.
✓Běžnou práci dělej pod obyčejným účtem, právo správce použij jen na chvíli (sudo, dotaz UAC ve Windows).

Pod správcem může každá chyba nebo škodlivý program smazat nebo změnit celý systém. Obyčejný účet škodu omezí.

Účty a skupiny určují, kdo je kdo. Linux: r, w, x pro vlastníka, skupinu a ostatní, mění se chmod. Windows: NTFS práva ve Vlastnosti → Zabezpečení, s děděním. Vždy princip nejnižších oprávnění.

Číselně 755

O čem to je

V návodech na zprovoznění webového serveru často najdeš „nastav oprávnění 755 pro složky a 644 pro soubory“. Ta čísla nejsou náhodná. Za minutu je budeš umět přečíst a sestavit sám. A k tomu se naučíš, jak spolu fungují práva NTFS ve Windows.

Nové pojmy

Uživatel a skupinaUživatel je účet člověka nebo služby, skupina je množina uživatelů. Každý soubor v Linuxu má vlastníka a skupinu.
Oprávnění r, w, xČtení, zápis, spouštění (u složky vstup). Nastavují se zvlášť pro vlastníka, skupinu a ostatní.
Osmičkový zápisKaždé právo má hodnotu: r = 4, w = 2, x = 1. Hodnoty se sečtou. Tři číslice = vlastník, skupina, ostatní.rwx = 4 + 2 + 1 = 7, r-x = 4 + 0 + 1 = 5
ACLSeznam řízení přístupu (Access Control List): u každého souboru ve Windows seznam položek „kdo – jaké právo – povolit/odepřít“.
UACŘízení uživatelských účtů ve Windows. I správce pracuje běžně s omezenými právy a před změnou systému se objeví dotaz na potvrzení.

Převod mezi písmeny a čísly

Rozděl zápis na tři trojice: vlastník, skupina, ostatní.
V každé trojici sečti: r = 4, w = 2, x = 1, pomlčka = 0.
Napiš tři číslice za sebou.
ČísloPísmenaTypické použití
755rwxr-xr-xsložky, programy, skripty
644rw-r--r--běžné soubory
700rwx------soukromá složka
600rw-------soukromý klíč, hesla
777rwxrwxrwxvšichni vše: nebezpečné, nepoužívat
Převeď rwxr-x--- na číslo.
rwx = 4 + 2 + 1 = 7; r-x = 4 + 0 + 1 = 5; --- = 0. Výsledek 750: vlastník vše, skupina čte a spouští, ostatní nic.
Co znamená chmod 640 mzdy.xlsx?
6 = 4 + 2 = rw- pro vlastníka, 4 = r-- pro skupinu, 0 = --- pro ostatní. Vlastník čte a píše, skupina (třeba ucetni) jen čte, ostatní nic.

Doplň.

Správa uživatelů v Linuxu

PříkazCo dělá
sudo adduser petrvytvoří uživatele (Debian, Ubuntu)
sudo passwd petrnastaví heslo
sudo usermod -aG ucitele petrpřidá uživatele do skupiny
id petrukáže skupiny uživatele
sudo chown petr:ucitele souborzmění vlastníka a skupinu

Windows: jak se práva skládají

  • Práva se sčítají ze všech skupin, ve kterých uživatel je.
  • Výslovné odepření (Deny) má přednost před povolením.
  • Výslovně nastavená práva mají přednost před zděděnými.
  • U složky sdílené po síti platí zároveň práva sdílení a práva NTFS; výsledkem je přísnější z obou.
Petr je ve skupině Ucitele (Změnit) a Hoste (Odepřít zápis) na stejné složce. Smí do ní zapisovat?
Ne. Práva se sčítají, ale výslovné odepření má přednost. Proto se odepření používá opatrně: raději uživateli právo vůbec nedat.
  • r – 4: číst
  • w – 2: zapisovat
  • x – 1: spouštět / vstoupit
  • 755 – rwxr-xr-x
  • 644 – rw-r--r--
  • Deny ve Windows – má přednost před Allow
✗Web nefunguje, tak nastavím chmod -R 777 na celou složku webu a je to.
✓Nastav jen potřebná práva, typicky 755 pro složky a 644 pro soubory, a správného vlastníka (chown).

777 dovolí komukoli na serveru soubory měnit, takže útočník přes jinou službu může podvrhnout kód webu.

r = 4, w = 2, x = 1, tři číslice = vlastník, skupina, ostatní (755, 644, 600). chmod mění práva, chown vlastníka. Windows NTFS: práva se sčítají ze skupin, odepření má přednost, u sdílení platí přísnější z obou.