Recientemente actualicé a Snow Leopard. Me di cuenta de que algunos archivos escritos por MacPorts se instalan con un permiso incorrecto; están escritos con una máscara de 0077. Creo que he reducido el problema:
- El
port
comando se invoca a través desudo
. - Mi
.bashrc
archivo especifica una umask de 0077. - En versiones anteriores de OS X (10.5 y versiones inferiores), sudo usaba la umask del usuario root (que era 0022); sin embargo, ahora usa mi umask de 0077.
¿Hay alguna forma de sudo
usar el viejo comportamiento? En este momento, es un poco molesto porque tengo que utilizar sudo
para ejecutar comandos simples como port installed
, port outdated
, etc.
(El problema se describe con más detalle en este ticket de MacPorts ).
Editar
Descubrí la umask
opción para sudo, y /etc/sudoers
agregué la siguiente línea:
Defaults umask=0022
Sin embargo, esto no funcionó como se deseaba, porque la máscara de usuario real utilizada por sudo
es la unión de la máscara de usuario con esta máscara predeterminada. Para anular el comportamiento de sudo
umask y usar el valor predeterminado directamente (es decir, no la unión del usuario y la máscara de sudo predeterminada), se puede agregar lo siguiente:
Defaults umask_override
Terminé agregando lo siguiente a mi
.bashrc
script de configuración:fuente
qué tal si:
fuente
Con tu .bashrc
fuente
sudo
realidad no (re) fuente.bashrc
, pero hereda la configuración actual del usuario que invocó sudo.Para el registro: la versión actual de sudo como una nueva opción 'umask_override', que debería evitar que las umask se fusionen, por lo que también debería poder bajar la umask. Lamentablemente, Mac OS X 10.6.6 no parece tener esta versión de sudo ...
fuente