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?
macos
homebrew
permission
Jason R. Coombs
fuente
fuente
/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./usr/local
y sus hijos son propiedad deroot:admin
oroot: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?/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.Respuestas:
De acuerdo con este script de ruby: update-report.rb , acaban de mover cosas a / usr / local / Homebrew, que aún es de tu propiedad.
fuente
Ahora creamos todos los directorios raíz
/usr/local
que necesita y verificamos la propiedad de los mismos en lugar de exigirlos/usr/local
.fuente