Aujourd'hui, j'ai couru brew updateet après avoir migré le référentiel, il a indiqué qu'il n'avait plus besoin de posséder /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
Ce changement semble un peu douteux. Comment Brew utilise-t-il ce nouveau comportement, en contournant apparemment les contrôles de sécurité?
/usr/localet ses enfants appartiennent à root:adminou root:wheelne sont pas inscriptibles en groupe, alors je n'ai pas accès à l'écriture dans ces répertoires (et ni homebrew, sans doute), mais si c'est le cas, comment Homebrew peut-il gérer l'installation et supprimer des applications de ces emplacements?
/usr/localqu'à ses descendants. Et en regardant ce que fait une toute nouvelle installation homebrew, elle définit tous les sous-répertoires comme appartenant à $ USER et au groupe accessibles en écriture.
/usr/localn'est pas inclus dans SIP. Voir À propos de la protection de l'intégrité du système sur votre Mac sous «Chemins et applications que les applications et les installateurs tiers peuvent écrire pour inclure:»/usr/localest répertorié.