web-dev-qa-db-ja.com

「chroot」がMac OS Xで使用されないのはなぜですか?

私は25年間Macを使用しており、OS X 10.0以来「UNIX」を使用していますが、chrootについてあまり考えたことも、本当に必要だったり、したかったこともありません...

簡単な質問ですが、Macで「chroot」を使用するのはどのような場合ですか。これは確かにBSD時代の組み込み関数ですが、使用されたということは聞いたことがありません... chrootする必要をなくす別のコマンドラインまたはシステムレベルのツールの機能の一部ですか?もしそうなら、同等の機能は何ですか?そうでない場合、なぜ使用、参照、または必要がないと思われるのですか?

9
mralexgray

Chrootの使用法には、主に2つのカテゴリがあります( Wikipediaの記事 で詳しく説明しています)。

  • アプリケーションを分離し、ファイルシステムの制限されたビューを提供します。これは一般に、たとえば、サーバーソフトウェアにバグがある場合でも、パブリックFTPサーバーでパブリックエリア外のファイルを提供できないようにするために行われます。このユースケースは、2つの理由で次第に一般的になりません。第1に、chrootはあまり分離を提供しません。サーバーの脆弱性により、攻撃者はファイルにアクセスする以外の多くの方法で損害を与える可能性があります。 2つ目は、より強力な分離を提供する仮想マシンが大幅に安価になり、多くの場合セットアップが容易になるため、当然の選択です。
  • 同じカーネルで異なるライブラリを使用して、異なるオペレーティングシステムでソフトウェアを実行します。たとえば、 David Cournapeauの提案による で、ソフトウェアを開発していて、追加のものがたくさんインストールされていて、ソフトウェアがその追加のものに依存していないことを確認したい場合は、テストすることができます。最小限のインストールのみでchrootにインストールします。または(ただし、OSXシステムではそれほど一般的ではないと思います)、別のOSリリースを実行する可能性があります。たとえば、64ビットLinuxシステムにchrootでアクセスできる32ビットディストリビューションがあり、まれにメインシステムで直接実行されない32ビットアプリケーションを実行する必要があります。

どちらのユースケースもかなり専門的です。 Chrootはほとんどの人にとって役に立ちません。一部の人にとっては便利であり、実装するのが非常に安価であるため、そこにあります。

Mac OS Xでchrootを使用して、一部のソフトウェアをテストしたり、関与しているプロジェクトのパッケージをテストしたりします(たとえば、10.6を使用しているときに10.4のインストールをテストします)。

6

他の人がアクセスできるように、個人のシステムをどのくらいの頻度で開放したいですか?ほとんどの場合、chrootはさまざまなユーザーが多数いるサーバーを対象としています。ただし、ユーザーが個人用システムにアクセスするためのローカルSFTPサーバーを実際にセットアップする場合は、必ずchrootする必要があります。

たぶん、この投稿はあなたを正しい方向から始めるでしょう:

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

2
Matt Beckman