chroot (ang. change root) –uniksowe polecenie uruchamiające program ze zmienionymkatalogiem głównym (root). W zmienionym środowisku będą działać teżprocesy potomne. WsystemieGNU ten program obecny jest w pakiecieGNU Coreutils.
Zmianakatalogu głównego może być przydatna podczas uruchamiania niepewnych programów, gdyż nie mają one wtedy dostępu do katalogu nadrzędnego względem nowego katalogu głównego.
W praktyce uruchamianie programów w zmienionym środowisku jest utrudnione, jeżeli programy wymagająbibliotek, plików dzielonych itp. Wtedy nowe środowisko musi zostać wyposażone w wymagane pliki.
chroot może być użyty jako narzędzie do ochrony przed atakami. Np.serwer plików może zmienić swój katalog główny zaraz po rozpoczęciu komunikacji z klientem. Podobne rozwiązanie istnieje w agencie transferu pocztyPostfix, który dzieli dane na mniejsze części, z których każda jest przetwarzana za pomocą oddzielnego chrootowanego programu.chroot jest przydatny także podczas testowania, gdyż powstałe w wyniku niewłaściwej pracy programu szkody nie dotyczą systemu głównego.chroot może on wykorzystać automatyczne metodykonsolidacji kontrolując jednocześnie biblioteki dołączane do programu.chroot jest także używany przez użytkownikówLinuksa pracujących na procesorachAMD64, podczas uruchamiania aplikacji 32 bitowych.
Tylko superużytkownikroot może wywołać poleceniechroot. Z powodu zagrożenia przejęcia kontroli nad systemem przez użytkowników (np. poprzez używanie spreparowanego pliku/etc/fstab)chroot nie zawsze jest bezpieczny.
Program działający na prawach superużytkownika (root) zawsze może wrócić do poprzedniego katalogu głównego. Z tego powodu, chroot nie nadaje się do ograniczania roota - zamiast niego trzeba użyć np. Jaili weFreeBSD.
chroot nie ogranicza działalności chrootowanych programów poprzez redukcję ilości operacji wejścia/wyjścia lub tym podobnych.
root@box:~# chroot /mnt/gentoo/ /bin/bashbox / #
chroot(1) – strona podręcznika systemuLinux| System plików | |
|---|---|
| Procesy | |
| Środowisko użytkownika | |
| Przetwarzanie tekstu | |
| Wbudowane w powłokę | |
| Komunikacja | |
| Wyszukiwanie | |
| Dokumentacja | |
| Różne |