Если файл или каталог имеет расширенные атрибуты, вы увидите @ в поле прав доступа. Для расширенной информации о безопасности (ACL), вы увидите +.
От man ls
на OS X:
-@ Display extended attribute keys and sizes in long (-l) output.
xattr
Программа может быть использована для отображения и управления расширенных атрибутов. Взгляните на то, что там, прежде чем принять решение об удалении этих атрибутов. Обязательно загляните на страницу справочника по xattr тоже.
Быстрый пример из некоторого примера кода компрометации PHP, который я держу для справки:
$ 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
@
расширенный атрибут и+
набор acl, похоже, что ls покажет a@
. Поскольку у него проблемы с доступом к файлу, мне кажется, что проблема скорее в том, что у него есть проблема с ACL.С атрибутом карантина яблока chmod недостаточно для его удаления.
Вам необходимо удалить атрибут явно:
источник
@
Означает расширенные атрибуты, в дополнение к стандартным права доступа к файлам UNIX.Проверьте расширенные атрибуты:
Сброс всех расширенных атрибутов для одного файла:
Сбросить все расширенные атрибуты рекурсивно:
Проверено на macOS High Sierra (10.13) и macOS Mojave (10.14.6).
источник
Я обнаружил, что
-E
или-N
на самом деле невидимы даже при использованииsudo
. Единственный способ, которым я мог это исправить - войти в систему как пользователь root.источник