Chroot

chroot (ang. change root) – uniksowe polecenie uruchamiające program ze zmienionym katalogiem głównym (root). W zmienionym środowisku będą działać też procesy potomne. W systemie GNU ten program obecny jest w pakiecie GNU Coreutils.

Zmiana katalogu 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.

Przykładowe zastosowania

Separacja uprawnień
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 poczty Postfix, 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
chroot jest 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życie chroot może on wykorzystać automatyczne metody konsolidacji kontrolując jednocześnie biblioteki dołączane do programu.

chroot jest także używany przez użytkowników Linuksa pracujących na procesorach AMD64, podczas uruchamiania aplikacji 32 bitowych.

Wady i ograniczenia

Tylko superużytkownik root może wywołać polecenie chroot. 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 we FreeBSD.

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

Przykład

root@box:~# chroot /mnt/gentoo/ /bin/bash
box / #

Linki zewnętrzne

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya