Как и в большинстве других UNIX-подобных операционных систем, Macintosh позволяет вам контролировать доступ к файлу с разрешениями POSIX . Однако, начиная с Mac OS / X 10.4 (Tiger), файл и операционная система Macintosh позволяют (опционально) настраивать список контроля доступа . Списки контроля доступа дают администратору гораздо больше контроля, чем обычные разрешения POSIX (ACL чаще всего используются в рабочих средах).
Как примечание, Windows поддерживает ACL начиная с Windows NT; и некоторые версии Linux делают то же самое. Кроме того, есть отличная статья о списках контроля доступа в Macintosh на Ars Technica .
Во всяком случае, в соответствии с Mac OS X Server v10.6 - руководство пользователя управления (см 28), если есть один или несколько правил ACL, установленные для файла и один из этих правил ACL применяется к вам, то правила ACL имеют приоритет поверх обычных разрешений POSIX .
В вашем случае ваш файл принадлежит «корневому» пользователю («суперпользователь») и принадлежит к группе «администратор» (к этой группе относятся только пользователи, помеченные как «Администраторы» на панели «Учетные записи» в Системных настройках). Разрешения POSIX для вашего файла настроены так, чтобы root мог читать, записывать и выполнять файл; запрещает любой доступ для группы «администратор» и позволяет другим пользователям читать, записывать и выполнять ее. Как вы продемонстрировали, вам следует разрешить делать с этим файлом все, что вы хотите! Не волнуйтесь, хотя; вы не сходите с ума (что всегда обнадеживает, узнав ^ _ ^) ... похоже, что правило ACL мешает и переопределяет разрешения файла POSIX.
Вот почему Марк спросил:
Что показывает ls -e?
... ls -e
показывает правила списка контроля доступа для этого файла. Очевидно, если у вас установлен Macintosh Server, есть хорошая панель, которая позволяет вам управлять всеми правилами. (В обычном диалоговом окне «Получить информацию» в Finder также есть ограниченный файл ... найдите файл в Finder и нажмите «Command + i», чтобы «получить информацию» для него ... разверните панель «Общий доступ и разрешения» внизу). окна покажет вам некоторые правила ACL ... вам придется разблокировать эту панель, чтобы изменить права доступа).
Если способ поиска не работает, вам придется попробовать ls -e
. Надеемся, что распечатанные правила ACL не будут слишком сложными. Однако в документе «Обзор безопасности» в Центре разработки Macintosh есть удобная ссылка ACL . Не стесняйтесь ответить на этот пост, если вам нужна дополнительная помощь.
В вашем случае, даже если вы знаете правила ACL, вы не сможете ничего с этим поделать ... только владелец (или суперпользователь, который в вашем случае также является владельцем) может изменить его; и только люди, которые входят в группу «администратор» (к которой вы говорите, что не принадлежите) могут действовать от имени суперпользователя. Однако, если вы хотите попробовать, вы (или кто-то, кто является администратором) можете перейти в каталог, содержащий файл, и выполнить одну или несколько из следующих команд:
sudo chmod +a "liuxiang allow read" sa
# чтобы включить чтение
sudo chmod +a "liuxiang allow write" sa
# чтобы включить запись
sudo chmod +a "liuxiang allow execute" sa
# чтобы включить его выполнение
... (или что-то подобное), чтобы исправить это (вам будет предложено ввести пароль человека, который запускает команду).
Надеюсь, это поможет!