Di recente ho effettuato l'aggiornamento a Snow Leopard. Ho notato che alcuni file scritti da MacPorts sono installati con un'autorizzazione sbagliata - sono scritti con un umask di 0077. Penso di aver ristretto il problema:
- Il
port
comando viene invocato tramitesudo
. - Il mio
.bashrc
file specifica un umask di 0077. - Nelle versioni precedenti di OS X (10.5 e precedenti), sudo utilizzava l'umask dell'utente root (che era 0022); tuttavia, ora usa la mia umask di 0077.
Esiste un modo per sudo
usare il vecchio comportamento? In questo momento, è una specie di fastidioso perché devo usare sudo
per eseguire comandi semplici come port installed
, port outdated
ecc
(Il problema è descritto in modo più dettagliato in questo ticket MacPorts .)
modificare
Ho scoperto l' umask
opzione per sudo e in /etc/sudoers
ho aggiunto la seguente riga:
Defaults umask=0022
Tuttavia, ciò non ha funzionato come desiderato, poiché la vera umask utilizzata da sudo
è l' unione della maschera utente con questa maschera predefinita. Per sovrascrivere il comportamento di sudo
umask e usare direttamente il default (cioè non l' unione dell'utente e la maschera sudo predefinita), si può aggiungere quanto segue:
Defaults umask_override