Speciální bity

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
m (SUID se ignoruje u skriptů.)
(Přidány příklady výpisu ls -l pro sticky a pro SGID bit.)
 
(Nejsou zobrazeny 2 mezilehlé verze od 1 uživatele.)
Řádka 47: Řádka 47:
 
**<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
 +
 +
* Například:
 +
''$'' ls -ld share
 +
''drwxrw<span style="color:red">s</span>r-x 2 student skupina 4096 17. úno 11.31 share''
 +
 +
 
<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 63: Řádka 69:
 
** <tt>t</tt>... „sticky“ + právo spouštět pro všechny uživatele
 
** <tt>t</tt>... „sticky“ + právo spouštět pro všechny uživatele
 
** <tt>T</tt>... „sticky“ bez právo <tt>x</tt> pro všechny uživatele
 
** <tt>T</tt>... „sticky“ bez právo <tt>x</tt> pro všechny uživatele
 +
 +
* Například:
 +
''$'' ls -ld /tmp
 +
''drwxrwxrw<span style="color:red">t</span> 10 root root 200 17. úno 11.09 /tmp''
 +
  
 
<div class="Priklad">
 
<div class="Priklad">
Řádka 74: Řádka 85:
 
** Vlastník: bude ten uživatel, který soubor vytvořil.
 
** Vlastník: bude ten uživatel, který soubor vytvořil.
 
** Vlastnická skupina: primární skupina uživatele, který soubor vytvořil.
 
** Vlastnická skupina: primární skupina uživatele, který soubor vytvořil.
* Práva získáme tak, že bity nastavené příkazem <tt>umask</tt> odečteme (funkce XOR) od základní masky:
+
* Práva získáme tak, že bity nastavené příkazem <tt>umask</tt> odečteme od základní masky:
 
** základní maska pro soubory <tt>666</tt> (reprezentuje kombinaci <tt>rw-rw-rw-</tt>)
 
** základní maska pro soubory <tt>666</tt> (reprezentuje kombinaci <tt>rw-rw-rw-</tt>)
 
** základní maska pro adresáře <tt>777</tt> (reprezentuje kombinaci <tt>rwxrwxrwx</tt>)
 
** základní maska pro adresáře <tt>777</tt> (reprezentuje kombinaci <tt>rwxrwxrwx</tt>)
Řádka 114: Řádka 125:
  
 
== Související stránky ==
 
== Související stránky ==
* [[Oprávnění pro přístup k souborům]], [[Nastavování práv]]
+
* [[Oprávnění pro přístup k souborům]], [[Nastavování práv|Nastavování oprávnění]]
 
+
  
 
== Další zdroje ==
 
== Další zdroje ==
 
* [http://en.wikipedia.org/wiki/Setuid Wikipedia &rarr; Set UID]
 
* [http://en.wikipedia.org/wiki/Setuid Wikipedia &rarr; Set UID]
 
* [http://www.library.yale.edu/wsg/docs/permissions/sgid.htm Yale.edu &rarr; SGID pro sdílené složky]
 
* [http://www.library.yale.edu/wsg/docs/permissions/sgid.htm Yale.edu &rarr; SGID pro sdílené složky]

Aktuální verze z 17. 2. 2026, 10:34


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.

Upozornění!

Pro skripty a další interpretované programy (bash, Python, PHP,...) se SUID bit ve většině operačních systémů ignoruje!

(V Linuxu se SUID u skriptů ignoruje od verze jádra Linux 3.x.)


Set GID (SGID)

Nastavení
chmod g+s slozka
Výpis ls -l
$ ls -ld share
drwxrwsr-x 2 student skupina 4096 17. úno 11.31 share


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 adresar
Výpis ls -l
$ ls -ld /tmp
drwxrwxrwt 10 root root 200 17. úno 11.09 /tmp


Příklad použití:

  • Je nastaven na složce /tmp (do ní si aplikace odkládají dočasné soubory).

umask

Příklad
umask 007
  • Výpočet
Soubory Adresáře
Základ 666 777
Umask 007 007
Výsledek 660 770
  • Podrobněji po bitech:
Soubory Adresáře
Základ 110 110 110 111 111 111
Umask 000 000 111 000 000 111
Výsledek 110 110 000 111 111 000
Symbolický zápis
práva = základ AND NOT(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