Hoje eu corri brew update
e depois de migrar o repositório, ele relatou que não precisava mais da propriedade 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
Essa mudança parece um pouco duvidosa. Como o brew realiza esse novo comportamento, aparentemente ignorando os controles de segurança?
macos
homebrew
permission
Jason R. Coombs
fonte
fonte
/usr/local
não está incluído no SIP. Consulte Sobre a proteção da integridade do sistema no seu Mac em "Caminhos e aplicativos que aplicativos e instaladores de terceiros podem gravar para incluir:"/usr/local
está listado./usr/local
e seus filhos pertencemroot:admin
ouroot:wheel
não são graváveis em grupo, então não tenho acesso para gravar nesses diretórios (e nem o homebrew, provavelmente), mas se for esse o caso, como o Homebrew pode gerenciar a instalação e remover aplicativos desses locais?/usr/local
e não seus descendentes. E, observando o que uma nova instalação de homebrew faz, ela define todos os subdiretórios de propriedade de $ USER e grupo gravável.Respostas:
De acordo com este script ruby: update-report.rb , eles acabaram de mover as coisas para / usr / local / Homebrew, que ainda é de sua propriedade.
fonte
Agora, criamos todos os diretórios raiz
/usr/local
necessários e verificamos a propriedade deles, em vez de exigi-los por/usr/local
si só.fonte