Obsah

Chroot (Change Root)

Chroot je jedním z nejstarších mechanismů pro izolaci procesů v systémech Unix (představen již v roce 1979). Umožňuje spustit program tak, aby si „myslel“, že vybraný adresář je kořenem celého systému (/).

Pokud například zavřete aplikaci do adresáře /home/uzivatel/jail, bude pro ni soubor /etc/passwd ve skutečnosti souborem /home/uzivatel/jail/etc/passwd.


Hlavní využití Chrootu

1. Izolace rizikových služeb (Sandboxing)

Pokud provozujete veřejnou službu (např. webový server nebo DNS), můžete ji „zavřít“ do chrootu. Pokud by útočník tuto službu ovládl, zůstane uvězněn v daném adresáři a nedostane se k citlivým systémovým souborům.

2. Oprava systému (Rescue Mode)

Chroot je nepostradatelný při opravě nefunkčního Linuxu. Nabootujete z USB, připojíte disk s poškozeným systémem a pomocí chroot se do něj „přepnete“. Poté můžete opravit zavaděč (GRUB), změnit zapomenuté heslo nebo přeinstalovat balíčky, jako byste v daném systému přímo byli.

3. Testování a vývoj

Umožňuje vytvořit testovací prostředí (např. jinou distribuci Linuxu) uvnitř vašeho stávajícího systému bez nutnosti virtualizace.


Jak se chroot vytváří?

Aby program v chrootu fungoval, musí mít uvnitř „vězení“ vše, co potřebuje k běhu:


Omezení a bezpečnost

Je důležité pochopit, že chroot není plnohodnotný bezpečnostní kontejner.

Technologie Úroveň izolace Hlavní rozdíl
Chroot Nízká Izoluje pouze souborový systém.
Docker / Kontejnery Střední Využívá „Namespaces“ k izolaci sítě, procesů a uživatelů.
Virtuální stroj Vysoká Emuluje celý hardware a běží v něm vlastní jádro OS.

Moderní nástupci

Dnes je chroot považován za základní stavební kámen, na kterém staví pokročilejší technologie:


Související pojmy: Docker, Virtualizace, Linux, Root, Filesystem, Sandbox, Kontejnerizace.