Speciální bity

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (Dodány zdroje.)
(Oprava vzhledu, doplnění)
Řádka 1: Řádka 1:
 
[[Category:VSE]][[Category:Informatika]][[Category:OSY]][[Category:Uživatelské účty]][[Category:Linux]]
 
[[Category:VSE]][[Category:Informatika]][[Category:OSY]][[Category:Uživatelské účty]][[Category:Linux]]
 +
 +
== Ú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) ==
 
== Set UID (SUID) ==
* Pro spustitelné soubory (programy).
+
* Používá se pro spustitelné soubory (programy).
* Program bude spouštěn s právy vlastníka programu.
+
* Program je spouštěn s právy vlastníka programu (jako by ho spustil vlastník).
** standardně se spustí s právy toho, kdo program spustil
+
* (Standardně se program spustí s právy toho, kdo program spustil.)
* Nastavení SUID
+
; Nastavení SUID
 
  chmod u+s program
 
  chmod u+s program
* Zjištění ve výpisu <code>ls -l</code>
+
; Ověření SUID
** Místo <tt>x</tt> v právech vlastníka:
+
* Ve výpisu <code>ls -l</code>.
*** <tt>s</tt>... SUID + právo spouštět
+
* Místo písmene <tt>x</tt> ve výpisu práv vlastníka se objeví:
*** <tt>S</tt>... SUID - právo spouštět
+
** <tt>s</tt>... SUID + nastavené právo spouštět (<tt>x</tt>)
 +
** <tt>S</tt>... SUID bez práva spouštět
 +
* Například:
 +
''$'' ls -l `which passwd`
 +
''-rw<span style="color:red">s</span>r-xr-x 1 root root 45396 kvě 25  2012 /usr/bin/passwd''
 +
 
 
<div class="Priklad">Příklad použití:  
 
<div class="Priklad">Příklad použití:  
 
Například program <tt>/usr/bin/passwd</tt> (příkaz <tt>passwd</tt>) &mdash; pro nastavení hesla potřebuje právo zapisovat do souboru <tt>/etc/shadow</tt>, smí ale zapisovat jen hesla aktuálního uživatele!
 
Například program <tt>/usr/bin/passwd</tt> (příkaz <tt>passwd</tt>) &mdash; pro nastavení hesla potřebuje právo zapisovat do souboru <tt>/etc/shadow</tt>, smí ale zapisovat jen hesla aktuálního uživatele!
Řádka 26: Řádka 36:
 
** (Standardně bych vlastník byl také já, ale vlastnická skupina by byla moje primární skupina.)
 
** (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.
 
** Pokud vytvářím složku, zdědí vytvářená složka i SGID bit.
* Nastavení
+
; Nastavení
 
  chmod g+s slozka
 
  chmod g+s slozka
*Výpis <code>ls -l</code>
+
; Výpis <code>ls -l</code>:
** Místo <tt>x</tt> v právech skupiny:
+
* Místo <tt>x</tt> v právech ''skupiny'':
***<tt>s</tt>... SGID + právo spouštět pro skupinu
+
**<tt>s</tt>... SGID + právo spouštět pro skupinu
***<tt>S</tt>... SGID - právo spouštět pro skupinu
+
**<tt>S</tt>... SGID - právo spouštět pro skupinu
 
<div class="Priklad">
 
<div class="Priklad">
 
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.
 
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.
Řádka 38: Řádka 48:
  
 
== Sticky-bit ==
 
== Sticky-bit ==
* dnes obvykle pouze pro adresáře
+
* Dnes obvykle používán pouze pro adresáře.
* vlastník souboru může v adresáři soubor mazat
+
* (Původně zamýšlená složitější funkčnost, i pro soubory.)
**původně zamýšlená složitější funkčnost, i pro soubory
+
* Vlastník souboru může v adresáři soubor mazat, ostatní uživatelé soubor mazat nemohou.
* Příklad použití
+
; Nastavení
** složka /tmp
+
*nastavení
+
 
  chmod o+t soubor.txt
 
  chmod o+t soubor.txt
* Výpis <code>ls -l</code>
+
; Výpis <code>ls -l</code>:
** místo <tt>x</tt> v právech všech:
+
* Místo <tt>x</tt> v právech ''ostatních uživatelů'':
*** <tt>t</tt>... „sticky“ + právo spouštět pro skupinu
+
** <tt>t</tt>... „sticky“ + právo spouštět pro ostatní
*** <tt>T</tt>... „sticky“ + právo spouštět pro skupinu
+
** <tt>T</tt>... „sticky“ + právo spouštět pro ostatní
 +
 
 +
<div class="Priklad">
 +
Příklad použití:
 +
* Složka <tt>/tmp</tt> (do ní si aplikace odkládají dočasné soubory).
 +
</div>
  
  
 
== umask ==
 
== umask ==
 
* Nastavuje, jaká práva má mít nově vytvořený soubor.
 
* Nastavuje, jaká práva má mít nově vytvořený soubor.
* Vlastník bude:
+
* Vlastník: bude ten, kdo soubor vytvořil.
** ten, kdo ho vytvořil
+
* Vlastnická skupina: primární skupina toho, kdo soubor vytvořil
* Skupina:
+
* Práva získáme tak, že bity masky odečteme od základní masky:
** primární skupina toho, kdo soubor vytvořil
+
* bity masky odečteme od základní masky
+
 
** základní maska pro soubory 666
 
** základní maska pro soubory 666
 
** základní maska pro adresáře 777
 
** základní maska pro adresáře 777
* standardní nastavení umask je 022
+
* Standardní nastavení umask je 022.
  
 
+
<div class="Priklad">
== Úkol ==
+
; Úkol
 
* Jaká práva bude mít soubor/adresář vytvoření se standardním nastavením <tt>umask</tt>?
 
* Jaká práva bude mít soubor/adresář vytvoření se standardním nastavením <tt>umask</tt>?
 +
</div>
 +
 +
 +
== Související stránky ==
 +
* [[Oprávnění pro přístup k souborům]], [[Nastavování práv]]
  
  

Verze z 19. 3. 2015, 07:36


Obsah

Úvod


Set UID (SUID)

Nastavení SUID
chmod u+s program
Ověření SUID
$ 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)

Nastavení
chmod g+s slozka
Výpis ls -l

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

Nastavení
chmod o+t soubor.txt
Výpis ls -l

Příklad použití:

  • Složka /tmp (do ní si aplikace odkládají dočasné soubory).


umask

Úkol
  • Jaká práva bude mít soubor/adresář vytvoření se standardním nastavením umask?


Související stránky


Další zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje