Se o arquivo ou diretório tiver atributos estendidos, você verá um @ no campo de permissões. Para informações de segurança estendidas (ACLs), você verá um +.
A partir man ls
do OS X:
-@ Display extended attribute keys and sizes in long (-l) output.
O xattr
programa pode ser usado para exibir e manipular atributos estendidos. Veja o que está lá antes de decidir excluir esses atributos. Definitivamente, dê uma olhada rápida na página de manual do xattr também.
Um exemplo rápido de um exemplo de código de compromisso PHP que eu mantenho aqui para referência:
$ ls -@l php-compromise.php
-rw-r--r--@ 1 user group 502620 Jul 5 2011 php-compromise.php
com.apple.FinderInfo 32
com.apple.TextEncoding 15
@
atributo estendido e um+
conjunto de ACL, parece que ls mostrará a@
. Como ele está tendo problemas para acessar um arquivo, parece-me provável que o problema seja mais provável que ele tenha um problema com uma ACL.Com o atributo quarentena da maçã, o chmod não é suficiente para removê-lo.
Você precisa remover o atributo explicitamente:
fonte
A
@
representa atributos estendidos, além das permissões de arquivo padrão do Unix.Verifique os atributos estendidos:
Redefina todos os atributos estendidos para um único arquivo:
Redefina todos os atributos estendidos recursivamente:
Verificado no macOS High Sierra (10.13) e no macOS Mojave (10.14.6).
fonte
Descobri que o
-E
ou-N
são realmente invisíveis, mesmo ao usarsudo
. A única maneira de corrigir isso foi fazendo login como rootfonte