Si vous souhaitez utiliser une installation MacPorts sans racine, vous devrez configurer votre installation de manière à ce qu'elle le fasse en l'installant à partir des sources et en spécifiant --with-no-root-privileges
comme argument à ./configure
. Notez que vous devrez peut-être définir --prefix
également, si vous le souhaitez.
Je vous encourage à ne pas le faire, pour plusieurs raisons :
- Les répertoires listés dans le $PATH de plusieurs utilisateurs qui sont accessibles en écriture sans les privilèges du super-utilisateur peuvent être utilisés pour des attaques (par exemple, en plaçant un binaire sudo qui enregistrera le mot de passe à cet endroit). La même chose peut être faite par un logiciel malveillant qui s'exécute en tant qu'utilisateur afin d'obtenir votre mot de passe - bien que l'on puisse dire qu'il est déjà trop tard lorsque cela se produit.
- Les MacPorts ne peuvent pas utiliser la séparation des privilèges sans les privilèges Root. Normalement, MacPorts abandonne les privilèges à un utilisateur non privilégié "macports" pendant la construction du logiciel afin d'éviter que des Makefiles malveillants ne fassent des ravages (ou même ne lisent des fichiers) dans votre $HOME.
- À partir de la version 2.2, MacPorts utilise les capacités de sandboxing d'OS X pour empêcher les ports d'installer des fichiers en dehors des emplacements encouragés par MacPorts. Ces emplacements par défaut sont les suivants :
/opt/local
/Applications/MacPorts
/Library/LaunchDaemons/
- certains emplacements nécessaires au fonctionnement de certains ports spéciaux, par exemple,
/usr/lib/pam
pour les modules PAM.
Donc, en conclusion, je pense qu'une installation de MacPorts utilisant les privilèges Root est en fait plus sûre et plus sécurisée qu'une installation ne les utilisant pas.
Clause de non-responsabilité : étant donné que je suis un développeur de MacPorts, il se peut que je sois partial.