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?
Dito isto, como não sou usuário do Homebrew, como eu compilo diretamente do código-fonte os utilitários que eu quero que não estão incluídos no OS X, no entanto, imagino que o Homebrew foi reescrito conforme necessário / necessário para agir normalmente como outros aplicativos. feito no passado. O Homebrew da IMO deveria ter sido escrito desde o início, para não precisar usurpar a propriedade raiz, para começar!
—
user3439894
Quero dizer, se
—
Jason R. Coombs
/usr/local
e seus filhos pertencem root:admin
ou root: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?
Só estou percebendo que a mensagem apenas faz referência
—
Jason R. Coombs
/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.
/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.