Se si desidera utilizzare un'installazione MacPorts non root, sarà necessario configurare l'installazione per farlo installando dal sorgente e specificando --with-no-root-privileges
come argomento su ./configure
. Non che tu possa dover impostare anche --prefix
, se vuoi farlo.
Ti incoraggerei a non farlo, per un paio di motivi, però:
- Le directory elencate in $ PATH di più utenti che sono scrivibili senza privilegi di superutente possono essere utilizzate per gli attacchi (ad es. posizionando un binario sudo che registrerà la password lì). Lo stesso può essere fatto da un software dannoso in esecuzione come utente per ottenere la password, anche se si potrebbe obiettare che è già troppo tardi quando ciò accade.
- MacPorts non può utilizzare la separazione dei privilegi senza privilegi di root. Normalmente, MacPorts lascerà i privilegi a un utente "macport" non privilegiato mentre costruisce software per evitare che i Makefile canaglia distruggano (o addirittura leggano i file) nel tuo $ HOME.
- MacPorts a partire dalla versione 2.2 utilizza le funzionalità di sandbox di OS X per impedire alle porte di installare file all'esterno delle posizioni che MacPorts incoraggia. Queste posizioni predefinite sono:
-
/opt/local
-
/Applications/MacPorts
-
/Library/LaunchDaemons/
- alcune posizioni necessarie per il funzionamento di alcune porte speciali, ad esempio
/usr/lib/pam
per i moduli PAM.
Quindi, in conclusione, penso che l'installazione di MacPorts utilizzando i privilegi di root sia in realtà più sicura e sicura di quella che non li utilizza.
Dichiarazione di non responsabilità: poiché sono uno sviluppatore MacPorts, potrei essere di parte.