cp setattrlist Permissão negada no MacOS

cp setattrlist Permissão negada no MacOS

Sou um segundo usuário "Administrador" em um Mac OS. Estou no admingrupo e estou tentando usar o homebrew, que foi instalado pelo primeiro usuário.

Eu me certifiquei de que tudo pode /usr/local/*ser gravado por admin, ou seja sudo chmod -R g+w /usr/local/*, .

Ao tentar executar brew installalguns pacotes diferentes, recebo alguns desses erros

cp: setattrlist: /usr/local/Cellar/[email protected]/.: Permission denied
cp: chmod: /usr/local/Cellar/[email protected]/.: Operation not permitted
Error: Failure while executing; `cp -pR /private/tmp/d20210523-60782-14t7vu8/[email protected]/. /usr/local/Cellar/[email protected]` exited with 1. Here's the output:
cp: setattrlist: /usr/local/Cellar/[email protected]/.: Permission denied
cp: chmod: /usr/local/Cellar/[email protected]/.: Operation not permitted

Mas ao inspecionar, a pasta tem as permissões que eu esperava

:; ls -al /usr/local/Cellar/icu4c/
total 0
drwxrwxr-x  3 user1 admin   96 May 23 14:06 .
drwxrwxr-x 73 user1 admin 2336 May 23 14:05 ..
drwxrwxr-x 12 user1 admin  384 May 23 14:06 67.1

Alguém sabe o que posso estar perdendo aqui?

Responder1

Na verdade, não tenho uma resposta, mas estou enfrentando o mesmo problema, mas podem haver algumas pistas que ajudarão a progredir na localização da causa raiz e podem resolver o problema. Da minha parte, estou usando ACLs na instalação do brew, pois tenho duas contas de administrador, mas como você não está usando ACLs, isso significa que provavelmente não é um problema de ACL como pensei.

Eu tenho um script de pós-instalação que define ACLs para os administradores para que qualquer administrador possa usar o brew. Cada vez que uso o brew para instalar, uso este script para restaurar o proprietário e definir ACLs

O que eu sei é que setattrlist e fsetattrlist são sobre metadados, portanto, informações do localizador/destaque. Não encontrei nenhuma maneira com as ACLs de eliminar esse erro de forma limpa.

Posso reproduzi-lo fora da instalação do homebrew se usar a mesma maneira que o homebrew executa a cópia

por exemplo $ cp -pR /usr/local/Cellar/webp ~/webp $ cp -pR ~/webp/. /usr/local/Cellar/webp # ⇒ produz um erro de permissão ou erro setattrlist $ cp -pR ~/webp /usr/local/Cellar/webp # ⇒ funciona, então provavelmente há uma correção no homebrew para encontrar e remover o / . formam a fonte de cp.

Até agora, quando recebo esse erro, removo o diretório do Cellar e reinicio o comando brew install.

tedioso quando o brew está atualizando muitas coisas, mas esta é a única solução alternativa que encontrei por enquanto.

informação relacionada