Przejdź do zawartości

chroot

Z Wikipedii, wolnej encyklopedii

chroot(ang.change root) –uniksowepolecenie uruchamiające program ze zmienionymkatalogiem głównym(root). W zmienionym środowisku będą działać teżprocesypotomne. WsystemieGNUten program obecny jest w pakiecieGNU Coreutils.

Zmianakatalogugłó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.

Przykładowe zastosowania

[edytuj|edytuj kod]
Separacja uprawnień
chrootmoże być użyty jako narzędzie do ochrony przed atakami. Np.serwer plikówmoż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.
Honeypotting
Można użyć środowiska chrootowanego do obrony przed atakami, gdyż intruz będzie mógł niszczyć tylko wydzielony fragment systemu.
Testowanie
chrootjest przydatny także podczas testowania, gdyż powstałe w wyniku niewłaściwej pracy programu szkody nie dotyczą systemu głównego.
Izolacja
środowisko chrootowane jest efektywną metodą izolacji rozwijanego programu, mającej na celu użycie specyficznego zestawu bibliotek oraz ograniczyć ilość zależności programu. Programista może mieć zainstalowane biblioteki wykorzystywane do czynności codziennych np. do przeglądania stron internetowych, natomiast te biblioteki nie mają być dostępne w środowisku docelowym. Poprzez użyciechrootmoże on wykorzystać automatyczne metodykonsolidacjikontrolując jednocześnie biblioteki dołączane do programu.

chrootjest także używany przez użytkownikówLinuksapracujących na procesorachAMD64,podczas uruchamiania aplikacji 32 bitowych.

Wady i ograniczenia

[edytuj|edytuj kod]

Tylko superużytkownikrootmoż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)chrootnie 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.

chrootnie ogranicza działalności chrootowanych programów poprzez redukcję ilości operacji wejścia/wyjścia lub tym podobnych.

Przykład

[edytuj|edytuj kod]
root@box:~# chroot /mnt/gentoo/ /bin/bash
box / #

Linki zewnętrzne

[edytuj|edytuj kod]