Warum wird "chroot" unter Mac OS X nie verwendet?

9

Ich benutze Macs seit 25 Jahren und "UNIX" seit OS X 10.0. Aber ich habe nie wirklich viel über Chroot nachgedacht, noch habe ich jemals wirklich gebraucht oder wollte ...

Es ist eine einfache Frage, aber ... unter welchen Umständen würde man "chroot" auf einem Mac verwenden? Es ist in der Tat eine eingebaute Funktion aus den BSD-Tagen, aber ich habe noch nie davon gehört, dass sie verwendet wird ... Ist die Funktionalität Teil eines anderen Tools auf Befehlszeilen- oder Systemebene, das das Chroot überflüssig macht? Wenn ja, was ist die äquivalente Funktion? Wenn nicht, warum wird es anscheinend nie verwendet, referenziert oder benötigt?

mralexgray
quelle

Antworten:

14

Es gibt zwei Hauptkategorien für die Verwendung von Chroot (der Wikipedia-Artikel geht ausführlicher darauf ein):

  • Isolieren Sie eine Anwendung und geben Sie ihr eine eingeschränkte Ansicht des Dateisystems. Dies wird normalerweise für öffentliche FTP-Server durchgeführt, um beispielsweise sicherzustellen, dass sie keine Dateien außerhalb des öffentlichen Bereichs bereitstellen können, selbst wenn ein Fehler in der Serversoftware vorliegt. Dieser Anwendungsfall wird aus zwei Gründen immer seltener. Erstens bietet chroot nicht viel Isolation. Eine Sicherheitslücke im Server kann es dem Angreifer ermöglichen, auf viele andere Arten Schaden zuzufügen, als auf Dateien zuzugreifen. Zweitens sind virtuelle Maschinen, die eine stärkere Isolation bieten, viel billiger geworden und oft einfacher einzurichten, sodass sie die natürliche Wahl sind.
  • Führen Sie Software in einem anderen Betriebssystem mit demselben Kernel, aber unterschiedlichen Bibliotheken aus. Wenn Sie beispielsweise Software entwickeln, viele zusätzliche Dinge installiert haben und sicherstellen möchten, dass Ihre Software nicht von diesen zusätzlichen Dingen abhängt , können Sie sie , wie von David Cournapeau vorgeschlagen , in einer Chroot mit nur a testen minimale Installation. Oder (aber ich glaube nicht, dass dies bei OSX-Systemen sehr häufig vorkommt) Sie könnten eine andere Betriebssystemversion ausführen - zum Beispiel habe ich ein 64-Bit-Linux-System mit einer 32-Bit-Distribution, auf die mit chroot zugegriffen werden kann, für die seltenen Fälle, in denen ich Sie müssen eine 32-Bit-Anwendung ausführen, die nicht direkt auf dem Hauptsystem ausgeführt wird.

Beide Arten von Anwendungsfällen sind eher spezialisiert. Chroot ist für die meisten Menschen nutzlos; Es ist da, weil es für manche nützlich ist und sehr billig zu implementieren ist.

Gilles 'SO - hör auf böse zu sein'
quelle
6

Ich verwende chroot auf Mac OS X, um einige Software zu testen oder um die Verpackung von Projekten zu testen, an denen ich beteiligt bin (z. B. um Installationen auf 10.4 zu testen, während ich 10.6 verwende).

David Cournapeau
quelle
2
Können Sie ein Beispiel für die Verwendung geben?
Alexander Mills
2

Wie oft möchten Menschen ihre persönlichen Systeme für andere öffnen? Meistens richtet sich chroot an Server mit vielen verschiedenen Benutzern. Wenn Sie jedoch tatsächlich einen lokalen SFTP-Server einrichten möchten, damit Benutzer auf Ihr persönliches System zugreifen können, sollten Sie ihn auf jeden Fall chrooten.

Vielleicht bringt Sie dieser Beitrag in die richtige Richtung:

http://hints.macworld.com/article.php?story=2004110314282345

Matt Beckman
quelle