Si el archivo o directorio tiene atributos extendidos, verá una @ en el campo de permisos. Para obtener información de seguridad extendida (ACL), verá un +.
Desde man ls
OS X:
-@ Display extended attribute keys and sizes in long (-l) output.
El xattr
programa se puede usar para mostrar y manipular atributos extendidos. Sin embargo, eche un vistazo a lo que hay allí antes de decidir ir mientras elimina esos atributos. Definitivamente, eche un vistazo rápido a la página de manual de xattr también.
Un ejemplo rápido de algún ejemplo de código de compromiso PHP que mantengo para referencia:
$ 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 extendido y un+
conjunto de acl, parece que ls mostrará a@
. Como tiene problemas para acceder a un archivo, me parece probable que el problema sea más probable que tenga un problema con una ACL.Con el atributo de cuarentena de manzana, chmod no es suficiente para eliminarlo.
Debe eliminar el atributo explícitamente:
fuente
El
@
representa los atributos extendidos, además de los permisos de archivo UNIX estándar.Verifique los atributos extendidos:
Restablezca todos los atributos extendidos para un solo archivo:
Restablezca todos los atributos extendidos de forma recursiva:
Marcado en macOS High Sierra (10.13) y macOS Mojave (10.14.6).
fuente
Descubrí que los
-E
o-N
son realmente invisibles incluso cuando se usansudo
. La única forma en que pude solucionarlo fue iniciando sesión como rootfuente