Hoy ejecuté 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 pasando por alto los controles de seguridad?
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.
Ahora creamos todos los directorios raíz /usr/local
que necesita y verificamos la propiedad en ellos en lugar de requerirlo en /usr/local
sí mismo.
usuario3439894
/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 e instaladores de terceros pueden escribir para incluir:"/usr/local
aparece en la lista.usuario3439894
Jason R. Coombs
/usr/local
y sus elementos secundarios son propiedad deroot:admin
oroot:wheel
no se puede escribir en grupo, entonces no tengo acceso para escribir en esos directorios (y tampoco Homebrew, presumiblemente), pero si ese es el caso, ¿cómo puede Homebrew administrar la instalación? y eliminar aplicaciones de esas ubicaciones?Jason R. Coombs
/usr/local
y no a sus descendientes. Y mirando lo que hace una nueva instalación de homebrew, establece que todos los subdirectorios sean propiedad de $USER y grupo grabable.Pryftan
/usr/local
la propiedad al usuario! No tener la propiedad de eso es mejor, no peor. No es para nada dudoso no tener propiedad sobre él; pero es dudoso que lo necesite. Sophos también escribe en ese directorio (correctamente). Deja que eso se hunda.