Dlaczego muszę używać chroot

13

To pytanie chroot-jail-what-is-it-and-how-do-i-use-it odnosi się do tego, co jest i jak korzystać chroot.

Nie rozumiem tylko, dlaczego muszę go używać chroot. Rozumiem, co robi, ale nie mogę wymyślić przypadku, w którym muszę go użyć, biorąc pod uwagę fakt, że nie jest to mechanizm bezpieczeństwa ani piaskownica, ponieważ odpowiedź wskazuje, że „nie należy używać chrootjako zabezpieczenia środek, aby zapobiec modyfikowaniu plików przez program poza symulowanym systemem plików ".

W szczególności dlaczego pewien proces musi mapować podkatalog jako system plików root?

Alexandru Irimiea
źródło
mieć więcej dystrybucji w jednym systemie plików.
Ipor Sircer
co to znaczy?
Alexandru Irimiea
1
Chociaż może nie zapobiegać wyłamaniu się zdecydowanego hakera z więzienia, utrudnia to i prawie na pewno zapobiegnie przypadkowemu dostępowi.
Barmar
jeśli chcesz zbudować nowy system operacyjny od zera, można go użyć do skonfigurowania nowego środowiska niezależnego od systemu plików hosta. spójrz na projekt LFS (linux od zera)
chenchuk

Odpowiedzi:

13

Istnieje wiele powodów, aby używać środowiska chrootowanego, możesz go używać do przechowywania różnych wersji jednego programu, możesz użyć go do symulacji określonego środowiska w celu przetestowania niektórych funkcji, aby stworzyć obrazy systemu innego niż główny jeden itd.

Wikipedia może powiedzieć więcej na temat więzień chroot i ich zastosowań.

Stamtąd:

Testowanie i rozwój : środowisko chroot można skonfigurować w środowisku testowym dla oprogramowania, które w innym przypadku byłoby zbyt ryzykowne do wdrożenia w systemie produkcyjnym.

Kontrola zależności : Oprogramowanie można opracowywać, budować i testować w chroot wypełnionym tylko oczekiwanymi zależnościami. Może to zapobiec niektórym rodzajom przekrzywienia łączenia, które może wynikać z budowania projektów przez programistów z zainstalowanymi różnymi zestawami bibliotek programów.

Zgodność : Starsze oprogramowanie lub oprogramowanie korzystające z innego ABI musi czasem być uruchamiane w chroot, ponieważ ich biblioteki pomocnicze lub pliki danych mogą kolidować z nazwą lub powiązaniem z bibliotekami systemu hosta.

Odzyskiwanie : Jeśli system nie nadaje się do rozruchu, można użyć chroota do powrotu do uszkodzonego środowiska po rozruchu z alternatywnego głównego systemu plików (np. Z nośnika instalacyjnego lub Live CD).

Separacja uprawnień : programy mogą przenosić otwarte deskryptory plików (dla plików, potoków i połączeń sieciowych) do chroot, co może uprościć projektowanie więzień, uniemożliwiając pozostawienie działających plików w katalogu chroot. Upraszcza to również wspólne ustawienie uruchamiania potencjalnie wrażliwych części uprzywilejowanego programu w piaskownicy, aby zapobiegać naruszeniu bezpieczeństwa. Zauważ, że chroot niekoniecznie wystarcza, aby zawierać proces z uprawnieniami roota.

Alberto Méndez
źródło
3
Zasadniczo, jeśli uruchamiasz zestaw programów, które od początku chcą odczytywać / zapisywać określone rzeczy /, ale nie chcesz zepsuć istniejącego systemu, chroot jest przydatny, nawet jeśli jest uruchamiany jako root (wtedy, gdy jest to bezcelowe z punktu widzenia bezpieczeństwa). Działa jako „readresator”, który jest przydatny, o ile ufasz programowi.
LawrenceC