Perché "chroot" non viene mai utilizzato su Mac OS X?


9

Uso Mac da 25 anni e "UNIX" da OS X 10.0 .. ma non ho mai pensato molto al chroot, né ho mai avuto davvero bisogno o voluto ...

È una domanda semplice, ma ... in quali circostanze si potrebbe scegliere di utilizzare "chroot" su un Mac? È davvero una funzione integrata dai tempi di BSD, ma non ho mai sentito parlare del suo utilizzo ... La funzionalità fa parte di un altro strumento da riga di comando o di sistema che elimina la necessità di chroot? In tal caso, qual è la funzione equivalente? In caso contrario, perché non sembra mai essere utilizzato, referenziato o necessario?

Risposte:


14

Esistono due categorie principali di usi per chroot (l' articolo di Wikipedia approfondisce):

  • Isolare un'applicazione, fornendo una vista limitata del filesystem. Questo è comunemente fatto per i server FTP pubblici, ad esempio, per assicurarsi che non siano in grado di servire file al di fuori dell'area pubblica anche se c'è un bug nel software del server. Questo caso d'uso sta diventando sempre meno comune per due motivi. Innanzitutto, chroot non fornisce molto isolamento, una vulnerabilità nel server potrebbe consentire all'attaccante di fare danni in molti altri modi oltre all'accesso ai file. In secondo luogo, le macchine virtuali, che offrono un isolamento più forte, sono diventate molto più economiche e spesso sono più facili da configurare, quindi sono la scelta naturale.
  • Esegui il software in un sistema operativo diverso con lo stesso kernel ma librerie diverse. Ad esempio, come suggerito da David Cournapeau , se stai sviluppando software, hai installato molte cose extra e vuoi assicurarti che il tuo software non dipenda da quelle cose extra, potresti testarlo in un chroot con solo un installazione minima. Oppure (ma non penso che sia molto comune per i sistemi OSX) potresti eseguire una diversa versione del sistema operativo, ad esempio ho un sistema Linux a 64 bit che ha una distribuzione a 32 bit accessibile con chroot, per quei rari momenti in cui è necessario eseguire un'applicazione a 32 bit che non verrà eseguita direttamente sul sistema principale.

Entrambi i tipi di casi d'uso sono piuttosto specializzati. Chroot è inutile per la maggior parte delle persone; è lì perché è utile per alcuni ed è molto economico da implementare.


6

Uso chroot su mac os x per testare alcuni software o per testare il packaging dei progetti con cui sono coinvolto (ad esempio testare installazioni su 10.4 mentre sto usando 10.6).


2
puoi fare un esempio di come usarlo?
Alexander Mills,

2

Con quale frequenza le persone desiderano aprire i propri sistemi personali per consentire l'accesso ad altri? Il più delle volte, chroot è orientato verso server con molti utenti diversi. Tuttavia, se si desidera effettivamente configurare un server SFTP locale per consentire agli utenti di accedere al proprio sistema personale, è necessario effettuare il chroot.

Forse questo post ti farà iniziare nella giusta direzione:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.