sudo chown falha com operação não permitida

sudo chown falha com operação não permitida

Encontrei perguntas semelhantes aqui, mas as respostas fornecidas a essas perguntas não resolvem meu problema.

Se eu fizer:

sudo chown <username> main.m

Recebo um erro de operação não permitida.

A solução geral para erros anteriores foi:

sudo chflags nouchg main.m

para limpar um sinalizador de bloqueio. No entanto, depois de fazer isso, ainda não consigo exibir o arquivo. Eu também tentei:

chflags noschg main.m

no modo de usuário único sem sorte - recebo um erro de operação não permitida.

Se alguém tiver alguma opinião, eu estaria interessado.

Responder1

Os arquivos do Mac podem ser protegidos em quatro trêsdiferentes maneiras que conheço:

  1. Propriedades e permissões padrão do Unix, como r/w/x para usuário/grupo/outros que você vê ls -le corrige com chown(1)e chmod(1).
  2. Sinalizadores de arquivo como uchge schgque você vê ls -lOe corrige com chflags(1).
  3. Os antigos metadados do Finder "Bit de bloqueio" que você vê com GetFileInfo filename. Você também pode ver a presença dos metadados do Finder, mas não seu significado, com ls -l@. Você pode consertar isso com SetFile(1). Não importa, isso está mapeado para a uchgbandeira agora.
  4. Listas de controle de acesso (ACLs) que você vê ls -lee corrige com os argumentos relacionados à ACL para chmod(1).

Então, vamos ver o que há com seu arquivo combinando todos esses sinalizadores para ls:

ls -lO@e main.m

Parece que você já sabe como lidar com os números 1 e 2.

Se você vir uma ACL (nº 4), poderá corrigi-la com os argumentos relacionados à ACL para chmod(1).

Se você ainda estiver perplexo, atualize sua resposta com a saída do lscomando combinado que sugeri acima, para que possamos ver o que está acontecendo.

informação relacionada