Aujourd'hui, j'ai couru brew update
et 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/local
et ses enfants appartiennent à root:admin
ou root:wheel
ne 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/local
qu'à 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/local
n'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/local
est répertorié.