Speciální bity
Z MiS
(Rozdíly mezi verzemi)
(Oprava vzhledu, doplnění) |
(→Sticky-bit: Oprava nepřesností ve formulaci a matoucího příkladu.) |
||
Řádka 50: | Řádka 50: | ||
* Dnes obvykle používán pouze pro adresáře. | * Dnes obvykle používán pouze pro adresáře. | ||
* (Původně zamýšlená složitější funkčnost, i pro soubory.) | * (Původně zamýšlená složitější funkčnost, i pro soubory.) | ||
− | * | + | * Pokud je u adresáře nastaven bit sticky, pak může v adresáři uživatel mazat ty soubory, jejichž je vlastníkem. |
+ | * (Standardně buď má uživatel právo zápisu do adresáře (<tt>w</tt>) a pak může mazat všechny soubory bez ohledu na vlastnictví, nebo nemá právo zápisu a nemůže mazat žádné soubory (ani svoje).) | ||
; Nastavení | ; Nastavení | ||
− | chmod o+t | + | chmod o+t adresar |
; Výpis <code>ls -l</code>: | ; Výpis <code>ls -l</code>: | ||
* Místo <tt>x</tt> v právech ''ostatních uživatelů'': | * Místo <tt>x</tt> v právech ''ostatních uživatelů'': | ||
− | ** <tt>t</tt>... „sticky“ + právo spouštět pro | + | ** <tt>t</tt>... „sticky“ + právo spouštět pro všechny uživatele |
− | ** <tt>T</tt>... „sticky“ | + | ** <tt>T</tt>... „sticky“ bez právo <tt>x</tt> pro všechny uživatele |
<div class="Priklad"> | <div class="Priklad"> | ||
Příklad použití: | Příklad použití: | ||
− | * | + | * Je nastaven na složce <tt>/tmp</tt> (do ní si aplikace odkládají dočasné soubory). |
</div> | </div> | ||
− | |||
== umask == | == umask == |
Verze z 23. 3. 2015, 09:02
Obsah |
Úvod
- V systému Unix a systémech z něj vycházejících (Linux,...) se tradičně oprávnění pro přístup k souborům ukládala pomocí devíti bitů viz Nastavování práv.
- Dále se ovšem ukládaly a ukládají další tři speciální bity, které upravují chování programů a složek v některých specifických případech.
Set UID (SUID)
- Používá se pro spustitelné soubory (programy).
- Program je spouštěn s právy vlastníka programu (jako by ho spustil vlastník).
- (Standardně se program spustí s právy toho, kdo program spustil.)
- Nastavení SUID
chmod u+s program
- Ověření SUID
- Ve výpisu
ls -l
. - Místo písmene x ve výpisu práv vlastníka se objeví:
- s... SUID + nastavené právo spouštět (x)
- S... SUID bez práva spouštět
- Například:
$ ls -l `which passwd`
-rwsr-xr-x 1 root root 45396 kvě 25 2012 /usr/bin/passwd
Příklad použití:
Například program /usr/bin/passwd (příkaz passwd) — pro nastavení hesla potřebuje právo zapisovat do souboru /etc/shadow, smí ale zapisovat jen hesla aktuálního uživatele!
POZOR!!!
Nebezpečné, používá se výjimečně pouze pro velmi důvěryhodné a prověřené programy.
Set GID (SGID)
- Pro spustitelné soubory (programy):
- Význam analogický jako SUID — program bude spouštěn s právy skupiny, která program vlastní. (Dnes ne moc používané.)
- Pro složky:
- Pokud ve složce vytvořím soubor či složku, pak se vlastnická skupina převezme z nastavení složky. (Vlastník budu já.)
- (Standardně bych vlastník byl také já, ale vlastnická skupina by byla moje primární skupina.)
- Pokud vytvářím složku, zdědí vytvářená složka i SGID bit.
- Nastavení
chmod g+s slozka
- Výpis
ls -l
- Místo x v právech skupiny:
- s... SGID + právo spouštět pro skupinu
- S... SGID - právo spouštět pro skupinu
Používá se u sdílených složek, kde má právo vytvářet soubory skupina uživatelů. Nově vytvořené soubory tak budou opět vlastněny skupinou.
Sticky-bit
- Dnes obvykle používán pouze pro adresáře.
- (Původně zamýšlená složitější funkčnost, i pro soubory.)
- Pokud je u adresáře nastaven bit sticky, pak může v adresáři uživatel mazat ty soubory, jejichž je vlastníkem.
- (Standardně buď má uživatel právo zápisu do adresáře (w) a pak může mazat všechny soubory bez ohledu na vlastnictví, nebo nemá právo zápisu a nemůže mazat žádné soubory (ani svoje).)
- Nastavení
chmod o+t adresar
- Výpis
ls -l
- Místo x v právech ostatních uživatelů:
- t... „sticky“ + právo spouštět pro všechny uživatele
- T... „sticky“ bez právo x pro všechny uživatele
Příklad použití:
- Je nastaven na složce /tmp (do ní si aplikace odkládají dočasné soubory).
umask
- Nastavuje, jaká práva má mít nově vytvořený soubor.
- Vlastník: bude ten, kdo soubor vytvořil.
- Vlastnická skupina: primární skupina toho, kdo soubor vytvořil
- Práva získáme tak, že bity masky odečteme od základní masky:
- základní maska pro soubory 666
- základní maska pro adresáře 777
- Standardní nastavení umask je 022.
- Úkol
- Jaká práva bude mít soubor/adresář vytvoření se standardním nastavením umask?
Související stránky