Hoy corrí brew update
y después de migrar el repositorio, informó que ya no necesitaba la propiedad de /usr/local
:
$ brew update
Updated Homebrew from 5371359 to 13f08a2.
...
==> Migrating HOMEBREW_REPOSITORY (please wait)...
==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew!
Homebrew no longer needs to have ownership of /usr/local. If you wish you can
return /usr/local to its default ownership with:
sudo chown root:wheel /usr/local
Este cambio parece un poco dudoso. ¿Cómo logra Brew este nuevo comportamiento, aparentemente evitando los controles de seguridad?
Dicho esto, al no ser un usuario de Homebrew, ya que compilo directamente del código fuente las utilidades que quiero que no están incluidas en OS X, no obstante imagino que Homebrew se ha reescrito según sea necesario / necesario para actuar normalmente como otras aplicaciones hecho en el pasado. ¡IMO Homebrew debería haber sido escrito desde el principio para no tener que usurpar la propiedad raíz para empezar!
—
user3439894
Quiero decir, si
—
Jason R. Coombs
/usr/local
y sus hijos son propiedad de root:admin
o root:wheel
no son de escritura grupal, entonces no tengo acceso para escribir en esos directorios (y tampoco lo haría homebrew, presumiblemente), pero si ese es el caso, ¿cómo puede Homebrew administrar la instalación? y eliminar aplicaciones de esos lugares?
Solo estoy notando que el mensaje solo hace referencia
—
Jason R. Coombs
/usr/local
y no sus descendientes. Y mirando lo que hace una nueva instalación de homebrew, establece que todos los subdirectorios sean propiedad de $ USER y del grupo de escritura.
/usr/local
no está incluido en SIP. Consulte Acerca de la Protección de integridad del sistema en su Mac en "Rutas y aplicaciones que las aplicaciones y los instaladores de terceros pueden escribir para incluir:"/usr/local
aparece en la lista.