1. Home
  2. Cloud a servery
  3. Speciální práva souborů v Linuxu

Speciální práva souborů v Linuxu

Kromě základní Správy souborů a uživatelů v linuxovém příkazovém řádku existují i speciální práva souborů, se kterými se uživatel při vytváření a upravovaní souborů nesetkává často.

Linuxový příkazový řádek WebSupport pro svůj hosting poskytuje i jako webovou konzolu, v které můžeme pracovat pomocí webového prohlížeče jako je Google Chrome. Stejně tak je s ní možné menežovat Virtuální server (VPS). Získáme tak přístup k linuxovému příkazovému řádku z prostředí, které funguje nezávisle na operačním systému. 

Spuštění souboru pod účtem vlastníka souboru (SUID)

Na spuštění některých programů v Linuxu nepotřebujeme práva uživatele root (např. přes příkaz sudo), dokonce i když majitelem spouštěného programu je root. Například program sloužící na změnu hesla uživatelů passwd sice patří uživateli root, ale spustí ho každý uživatel. Je to možné proto, že má nastavené právo spuštění (písmeno x) spolu s právem spuštění pod účtem majitele (písmeno s). Projevuje se to tak, že namísto písmena x bude uvedené malé písmeno s (když je spuštění povolené) nebo velké písmeno S (když je spuštění zakázané):

ls -l /usr/bin/passwd

Díky tomuto nastavení si může kterýkoliv uživatel změnit heslo a zapisovat tak do souborů jako /etc/passwd nebo /etc/shadow – do kterých má jinak přístup pouze uživatel root. Hesla ostatních uživatelů však už běžný uživatel měnit nemůže. Program passwd totiž porovnává UID uživatele, který spouští program s UID uživatele, kterého heslo se má změnit. Pokud se obě UID neshodují, program passwd požadavek na změnu hesla zamítne.

Právo spuštění souboru pod účtem majitele můžeme přidat (druhý a čtvrtý řádek) nebo odebrat (třetí a pátý řádek) pomocí příkazu chmod s písmenem s (druhý a pátý řádek) nebo s číslicí 4 (čtvrtý řádek), kterou umístíme před ostatní tři číslice:

touch ~/obycajny_subor.txt
chmod u+s ~/obycajny_subor.txt
chmod 0764 ~/obycajny_subor.txt
chmod 4764 ~/obycajny_subor.txt
chmod u-s ~/obycajny_subor.txt

Spústenie súbora pod primárnou skupinou súboru (SGID)

To isté, ako pri spustení súboru pod účtom majiteľa (SUID), platí aj pri spustení súboru pod primárnou skupinou súboru (SGID). Akurát právo spustenia meníme skupine (druhý a piaty riadok) a číslica bude 2 (štvrtý riadok):

mkdir ~/testovaci_slozka
chmod g+s ~/testovaci_slozka
chmod 0764 ~/testovaci_slozka
chmod 2764 ~/testovaci_slozka
chmod g-s ~/testovaci_slozka

Výhoda SGID spočívá v tom, že když toto právo nastavíme složce, všechny ostatní soubory a složky vytvořené v této složce budou mít SGID nastavené též. Nebudou mít tedy nastavené vlastnictví na uživatele, který je vytvářel. Táto výhoda se využívá například při sdílení souborů v síti přes Samba server, aby všechny soubory (bez ohledu na to, kdo je vytvořil) měly vždy stejná práva.

Ochrana souboru proti přejmenování nebo vymazání (Sticky Bit)

Písmeno t nebo číslice 1 namísto písmena x v právech ostatních vyznačuje soubor, který může přejmenovat nebo smazat pouze vlastník nebo root. Takovým způsobem je chráněná například složka /tmp a všechny soubory a složky v ní. Takto ochráníme soubor či složku před nechtěným přejmenováním nebo smazáním:

chmod +t ~/test/obycejny_soubor.txt
chmod 1764 ~/test/obycejny_soubor.txt
chmod -t ~/test/obycejny_soubor.txt
chmod 0764 ~/test/obycejny_soubor.txt

Po spuštění příkazu ls -l ~/test/obycajny_subor.txt je teď v prvním sloupci na konci velké písmeno T (když je spuštění zakázané) nebo malé písmeno t (když je spuštění povolené).

Shrnutí

Ukázali jsme si speciální práva souborů, které využívají zejména systémoví administrátoři. Jelikož tyto práva mohou ovlivnit i jiné soubory a složky, je velmi důležité, abychom je používali s rozmyslem. Tato práva se u systémových složek a souborů nedoporučují měnit, resp. ke změně musí být vážný důvod s dopředu zváženými následky.

Aktualizováno: 19 července, 2021

Byl tento článek užitečný?

Related Articles

Zákaznická podpora
24 hodin denně, 7 dní v týdnu
KONTAKTOVAT PODPORU