Unterschied zwischen Chroot und Gefängnis

13

Ich habe dieses Tutorial gelesen - https://help.ubuntu.com/community/BasicChroot - und was ich verstanden habe ist, dass Chroot der Prozess der Änderung ist, /während die neu erstellte eingeschränkte Umgebung das "Gefängnis" ist. Aber manche Leute sagen, ich liege falsch und Chroot und Jails sind zwei völlig verschiedene Dinge.

Kann mir jemand den Unterschied in einfachen Worten erklären?

user1437328
quelle
1
Eine andere Option könnte eine eingeschränkte Shell anstelle von Chroot sein. Es kann jedoch weniger sicher sein.
ott--

Antworten:

5

Der Begriff Jail stammt aus der FreeBSD-Welt und bezieht sich auf eine strengere Methode zur Einschränkung des Benutzerzugriffs auf das System, obwohl chroot in FreeBSD als separater Mechanismus existiert. Es ist so etwas wie (sortiert nach dem Grad der Trennung):

Chroot <Virtualisierung auf Betriebssystemebene: (FreeBSD Jail ≤ Linux OpenVZ) <Paravirtualisierung: XEN

Andrei Mikhaltsov
quelle
4

Die kurze Antwort lautet "Sie haben beide Recht" -

Eine chrooted Umgebung wird oft als "chroot Gefängnis" bezeichnet. Grundsätzlich wird die Ansicht einer Reihe von Prozessen eingeschränkt, sodass sie glauben, dass das angegebene Verzeichnis das Stammverzeichnis des Dateisystems ist.

Dies sollte nicht mit der FreeBSD- jailFunktionalität verwechselt werden, bei der es sich um eine Chroot - Funktion für Steroide handelt (mit vielen zusätzlichen Funktionen, die mehr Isolation bieten als eine einfache chroot).


Aus Gründen der Klarheit ist es am besten, chrooted-Umgebungen als "chrooted environment" zu bezeichnen (oder den vollständigen Ausdruck "chroot jail" zu verwenden), um sie zu unterscheiden - insbesondere, wenn es sich um ein FreeBSD-System handelt.

voretaq7
quelle
3

Ich würde sagen, dass "Gefängnis" ein allgemeiner Begriff ist, während "Chroot" dies nicht ist. chroot ist nur eine von mehreren Möglichkeiten, um die Zugriffe eines Prozesses einzuschränken. Ich habe jedoch noch nie von "Gefängnis" in einem anderen Kontext gehört. Sie können AppArmor, SELinux und dergleichen verwenden, um ähnliche Ergebnisse zu erzielen, aber "AppArmor-Gefängnis" scheint ein ungewöhnlicher Begriff zu sein. Andererseits ist die Sicherheit nicht der einzige Grund für die Verwendung von Chroot. Obwohl der Effekt derselbe sein mag, kann es wenig sinnvoll sein, in bestimmten Situationen von einem "Chroot-Gefängnis" zu sprechen, wenn das Ziel nicht die Sicherheit, sondern eine spezielle Konfiguration für einen bestimmten Prozess ist.

Hauke ​​Laging
quelle
1

"chroot" sagt "Starte das Dateisystem root hier" und hat Anwendungen jenseits eines "Gefängnisses", zB das Zugreifen auf / Reparieren eines defekten Betriebssystems von einer LiveCD; Es ist auch "der Weg, um ein Gefängnis in Linux zu machen".

Andrew
quelle