
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:
- Propriedades e permissões padrão do Unix, como r/w/x para usuário/grupo/outros que você vê
ls -l
e corrige comchown(1)
echmod(1)
. - Sinalizadores de arquivo como
uchg
eschg
que você vêls -lO
e corrige comchflags(1)
. Os antigos metadados do Finder "Bit de bloqueio" que você vê comNão importa, isso está mapeado para aGetFileInfo filename
. Você também pode ver a presença dos metadados do Finder, mas não seu significado, comls -l@
. Você pode consertar isso comSetFile(1)
.uchg
bandeira agora.- Listas de controle de acesso (ACLs) que você vê
ls -le
e corrige com os argumentos relacionados à ACL parachmod(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 ls
comando combinado que sugeri acima, para que possamos ver o que está acontecendo.