SUID
Přilnavý bit aplikováno na spustitelné programy označující systém, aby po skončení běhu programu zůstal obraz programu v paměti.
Ale nevím, co je uloženo v paměti. A jak je mohu vidět v tomto případě.?
Přijatá odpověď:
To je pravděpodobně jedna z mých nejnepříjemnějších věcí, které lidé neustále kazí. Bit SUID/GUID a sticky-bit jsou 2 zcela odlišné věci.
Pokud provedete man chmod
můžete si přečíst o SUID a sticky-bits. Manuál je k dispozici také zde.
pozadí
úryvek
Písmena rwxXst vyberte bity režimu souboru pro dotčené uživatele:číst
(r), zapisovat (w), spouštět (nebo hledat adresáře) (x), spouštět/hledat pouze
pokud je soubor adresářem nebo již má oprávnění ke spuštění pro některé uživatele
(X), nastaví ID uživatele nebo skupiny na spuštění (y) , příznak omezeného smazání nebo sticky bit (t) .
SUID/GUID
Výše uvedená manuálová stránka se snaží říci, že pozice, kterou bit x zaujímá v rwxrwxrwx pro uživatele octal (1. skupina rwx) a skupinová osmička (2. skupina rwx), může nabýt dalšího stavu, kdy se x stane s. Když k tomu dojde, tento soubor se při spuštění (pokud se jedná o program a ne pouze o shellový skript) spustí s oprávněními vlastníka nebo skupiny souboru.
Pokud je tedy soubor vlastněn rootem a je zapnutý bit SUID, program poběží jako root. I když jej spustíte jako běžný uživatel. Totéž platí pro bit GUID.
úryvek
NASTAVENÍ BITŮ A SETGID
chmod vymaže bit set-group-ID běžného souboru, pokud ID skupiny souboru
neodpovídá skutečnému ID skupiny uživatele nebo jednomu z uživatelových
doplňkových ID skupiny, pokud uživatel nemá příslušná oprávnění.
Další omezení mohou způsobit, že bity set-user-ID a set-group-ID
režimu MODE nebo RFILE budou ignorovány. Toto chování závisí na zásadě
a funkčnosti základního systémového volání chmod. V případě pochybností
zkontrolujte základní chování systému.chmod zachovává bity set-user-ID a set-group-ID adresáře, pokud
výslovně neurčíte jinak. Bity můžete nastavit nebo vymazat pomocí
symbolických režimů, jako jsou u+s a g-s, a můžete nastavit (ale ne vymazat) bity
pomocí číselného režimu.
Příklady SUID/GUID
žádný suid/guid – pouze bity rwxr-xr-x jsou nastaveny.
$ ls -lt b.pl
-rwxr-xr-x 1 root root 179 Jan 9 01:01 b.pl
suid &spustitelný bit uživatele povolen (malá písmena s) – bity rwsr-x-r-x jsou nastaveny.
$ chmod u+s b.pl
$ ls -lt b.pl
-rwsr-xr-x 1 root root 179 Jan 9 01:01 b.pl
suid povolen a spustitelný bit zakázán (velká písmena S) – bity rwSr-xr-x jsou nastaveny.
$ chmod u-x b.pl
$ ls -lt b.pl
-rwSr-xr-x 1 root root 179 Jan 9 01:01 b.pl
Povolen spustitelný bit průvodce a skupiny (malá písmena s) – bity rwxr-sr-x jsou nastaveny.
$ chmod g+s b.pl
$ ls -lt b.pl
-rwxr-sr-x 1 root root 179 Jan 9 01:01 b.pl
GUID povolen a spustitelný bit deaktivován (velké S) – bity rwxr-Sr-x jsou nastaveny.
$ chmod g-x b.pl
$ ls -lt b.pl
-rwxr-Sr-x 1 root root 179 Jan 9 01:01 b.pl
lepivý bit
Lepivý bit na druhé straně je označen jako t
, například pomocí /tmp
adresář:
$ ls -l /|grep tmp
drwxrwxrwt. 168 root root 28672 Jun 14 08:36 tmp
Tento bit by se měl vždy nazývat „bit s omezeným vymazáním“, protože to skutečně znamená. Když je tento bit režimu povolen, vytvoří adresář takový, že uživatelé v něm mohou mazat pouze soubory a adresáře, jejichž jsou vlastníky.
Související:Koš s 80 tisíci soubory. "Vyprázdnit koš" nefunguje!?úryvek
VLAJKA S OMEZENÝM VYMAZÁNÍM NEBO PŘILEPĚCÍ BIT
Příznak omezeného odstranění nebo sticky bit je jeden bit, jehož
interpretace závisí na typu souboru. U adresářů
zabraňuje neprivilegovaným uživatelům odebrat nebo přejmenovat soubor v adresáři
, pokud soubor nebo adresář nevlastní; toto se nazývá
příznak omezeného smazání pro adresář a běžně se vyskytuje v
adresářích, do kterých lze zapisovat do světa, jako je /tmp. U běžných souborů na některých
starších systémech bit ukládá textový obrázek programu na swap
zařízení, takže se při spuštění načte rychleji; tomu se říká lepivý bit.