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é?
macos
homebrew
permission
Jason R. Coombs
la source
la source
/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é./usr/local
et ses enfants appartiennent àroot:admin
ouroot: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.Réponses:
Selon ce script ruby: update-report.rb , ils viennent de déplacer des éléments vers / usr / local / Homebrew, qui vous appartient toujours.
la source
Nous créons maintenant tous les répertoires racine
/usr/local
dont vous avez besoin et vérifions leur propriété plutôt que de l'exiger sur/usr/local
lui-même.la source