Portál AbcLinuxu, 16. července 2025 22:43

setuid

setuid (nebo suid) je speciální příznak v právech souboru, který způsobí, že jádro nastaví programu při spuštění práva vlastníka souboru. Například program /bin/mount mívá nastaven setuid bit, protože připojovat souborové systémy a zapisovat do /etc/mtab smí jen procesy roota:
$ ls -l /bin/mount 
-rwsr-xr-x  1 root root 82696 dub  4 11:42 /bin/mount
   ^
U výpisu ls mají setuid programy s místo x u práva ke spuštění uživatelem.

Existuje příznak setgid, který dělá totéž pro skupinu. Například hry mívají nastaven setgid bit a skupinu games, aby mohly zapisovat high scores do /var:
$ ls -l /usr/bin/glines  /var/lib/games/glines.scores  
-r-xr-s--x  1 root  games 50936 říj 20 00:21 /usr/bin/glines
-rw-rw-r--  1 games games    33 říj 20 00:20 /var/lib/games/glines.scores
Setuid programy musí být pochopitelně napsány s důrazem na bezpečnost, protože chyba v setuid programu znamená získání účtu vlastníka (většinou roota). Setuid programy si tedy sami nepiště ;-) Pokud přesto potřebujete nastavit set*id bit, použijte příkaz chmod (u+s pro setuid, g+s pro setgid).

Poznámka: Linux ignoruje set*id bit na #! skriptech.

Dokument vytvořil: Michal Marek (twofish), 8.4.2005 14:31 | Poslední úprava: David Watzke, 21.3.2009 08:01 | Historie změn | Zobrazeno: 1872×

Další pojmy: SEČ - sed - SELČ - setuid - SFLC - SFTP - shebang

Filtr: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.