Nastavení SUID bitu

Linuxový souborový systém obsahuje řadu parametrů, kterými můžeme specifikovat a upravovat chování různých skriptů nebo programů. Většina těchto parametrů je modifikovatelná pomocí programu chmod.

O jednotlivých právech a jejich nastavení se nyní zabývat nebudu. Jedním z těchto parametrů kromě běžně známých (read/write/execute) je i takzvaný SUID bit. Zkratka SUID ve skutečnosti znamená Set owner User ID up on execution. Při spuštění běžného programu bez nastaveného UID je spuštěn s právy aktuálního uživatele. Pokud ale je nastaven SUID bit, skript je pak spouštěn s právy vlastníka, nyní by mohla přijít otázka, k čemu to může sloužit.

Jednoduchý příklad nastavení SUID je všem známý program ping. Aby mohl program vytvořit spojení a vyslat požadavek na otestování dostupnosti cíle musí se spouštět s právy roota. Ve většině distribucí ale není potřebné (od většiny uživatelů ani chtěné) spouštět ping jedním z následujících způsobů.

Ve většině systémů je vše zařízeno tak, že binární program ping je vlastněn uživatelem root a přiřazen také do skupiny root. Nastavení SUID bitu tak program automaticky získá stejná práva jako kdyby byl spuštěn libovolným příkazem výše. Aktuální nastavení práv lze vypsat pomocí programu ls.

Z výpisu je vidět, že pro vlastníka je nastaven SUID bit. Jak už bylo řečeno vlastníkem je root, proto je možné ping takto používat.

Nyní už se dostáváme k hlavní části tohoto příspěvku a to, jak nastavit SUID bit. Základní kroky nutné v úspěšnému nastavení už by měly být jasné.

  1. nastavit vlastníka skriptu/programu jako root
  2. nastavit skupinu jako root
  3. nastavit SUID bit pro vlastníka

SUID bit je nyní nastaven a při jeho spuštění máme stejná práva jako root. Nastavování SUID bitu je pro systém velmi nebezpečné, proto většina moderních systémů nedovoluje nastavovat SUID bity pro shell skritpty, povolené jsou pouze binární soubory.

Další literatura

http://www.theunixschool.com/2010/06/what-is-suid.html

http://en.wikipedia.org/wiki/Chmod

http://en.wikipedia.org/wiki/Chown

Mohlo by se vám líbit...

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *