Pourquoi «chroot» n'est-il jamais utilisé sur Mac OS X?

9

J'utilise des Mac depuis 25 ans et "UNIX" depuis OS X 10.0 .. mais je n'ai jamais vraiment pensé à chroot, et je n'ai jamais vraiment eu besoin ou voulu ...

C'est une question simple, mais ... dans quelles circonstances choisirait-on d'utiliser "chroot" sur un Mac? C'est en effet une fonction intégrée de l'époque BSD, mais je n'ai jamais entendu parler de son utilisation ... La fonctionnalité fait-elle partie d'une autre ligne de commande ou d'un outil de niveau système qui évite d'avoir à chrooter? Si oui, quelle est la fonction équivalente? Sinon, pourquoi ne semble-t-il jamais être utilisé, référencé ou nécessaire?

mralexgray
la source

Réponses:

14

Il existe deux catégories principales d'utilisations du chroot ( l'article Wikipédia est plus détaillé):

  • Isolez une application en lui fournissant une vue restreinte du système de fichiers. Cela est généralement fait pour les serveurs FTP publics, par exemple, pour s'assurer qu'ils ne pourront pas servir des fichiers en dehors de la zone publique même s'il y a un bogue dans le logiciel serveur. Ce cas d'utilisation devient de moins en moins courant pour deux raisons. Tout d'abord, chroot ne fournit pas beaucoup d'isolement, une vulnérabilité dans le serveur pourrait permettre à l'attaquant de faire des dégâts de bien d'autres façons que d'accéder aux fichiers. Deuxièmement, les machines virtuelles, qui offrent une meilleure isolation, sont devenues beaucoup moins chères et sont souvent plus faciles à configurer, elles sont donc le choix naturel.
  • Exécutez le logiciel dans un système d'exploitation différent avec le même noyau mais des bibliothèques différentes. Par exemple, comme suggéré par David Cournapeau , si vous développez un logiciel, avez beaucoup de choses supplémentaires installées et que vous voulez vous assurer que votre logiciel ne dépend pas de ces choses supplémentaires, vous pouvez le tester dans un chroot avec seulement un installation minimale. Ou (mais je ne pense pas que ce soit très courant pour les systèmes OSX), vous pouvez exécuter une version différente du système d'exploitation - par exemple, j'ai un système Linux 64 bits qui a une distribution 32 bits accessible avec chroot, pour les rares fois où je besoin d'exécuter une application 32 bits qui ne s'exécutera pas directement sur le système principal.

Les deux types de cas d'utilisation sont plutôt spécialisés. Chroot est inutile pour la plupart des gens; il est là parce qu'il est utile pour certains, et il est très bon marché à mettre en œuvre.

Gilles 'SO- arrête d'être méchant'
la source
6

J'utilise chroot sur mac os x pour tester certains logiciels ou pour tester l'empaquetage des projets avec lesquels je suis impliqué (par exemple, tester les installations sur 10.4 pendant que j'utilise 10.6).

David Cournapeau
la source
2
pouvez-vous donner un exemple d'utilisation?
Alexander Mills
2

À quelle fréquence les gens veulent-ils ouvrir leurs systèmes personnels à d'autres? La plupart du temps, chroot est orienté vers des serveurs avec beaucoup d'utilisateurs différents. Cependant, si vous vouliez en effet configurer un serveur SFTP local pour que les utilisateurs accèdent à votre système personnel, vous devriez certainement le chrooter.

Peut-être que ce post vous lancera dans la bonne direction:

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

Matt Beckman
la source