Да, Mac имеет много улучшений Unix в области файлов. Не обращая внимания на целую ветвь ресурсов , которая больше не используется, есть:
- на стандартные разрешения Unix
ugo rwx и так далее. Применяются обычные инструменты Unix.
- ACL , с возможностью просмотра
ls -leи изменения с chmod [ -a | +a | =a ].
- Флаги файла, видимые с
ls -lO(Столица ой, не ноль) и изменяемые с chflags.
- расширенные атрибуты , видимые с помощью
ls -l@(только ключи атрибутов) и видимые и изменяемые с помощью xattr. (Используйте xattr -hдля помощи, если man xattrничего не дает.)
- Начиная с OS X 10.11 «El Capitan», защита целостности системы (SIP) дополнительно защищает некоторые файлы от изменений от обычных процессов, даже при использовании
sudoдля запуска от имени root. Файлы, защищенные SIP, будут перечислены ls -lOкак имеющие restrictedфлаг и / или будут перечислены ls -l@как имеющие com.apple.rootlessатрибут.
Вам может быть отказано в операциях с файлом из-за разрешений Unix, ACL, файловых флагов или SIP. Чтобы полностью разблокировать файл:
sudo chmod -N file # Remove ACLs from file
sudo chmod ugo+rw file # Give everyone read-write permission to file
sudo chflags nouchg file # Clear the user immutable flag from file
sudo chflags norestricted file # Remove the SIP protection from file
sudo xattr -d com.apple.rootless file # Remove SIP protection from file
Если защита целостности системы (SIP) включена, sudo chflags norestrictedа sudo xattr -d com.apple.rootlessтакже будет выдано сообщение об ошибке «Операция не разрешена». Чтобы снять флажок и / или атрибут, вам нужно загрузиться в macOS Recovery и запустить команды из Терминала (вам, возможно, придется сначала использовать Дисковую утилиту, чтобы разблокировать и смонтировать загрузочный диск, затем помните, что ваши файлы будут находиться под /Volumes/Macintosh HDвашей загрузкой или вне зависимости от того, что вы загрузили имя диска) или вообще отключите SIP и затем перезагрузите компьютер, после чего команды должны работать. Имейте в виду, однако, что будущие обновления ОС, скорее всего, восстановят restrictedфлаг и com.apple.rootlessатрибут всех файлов, из которых вы его удалили.
Отключение протокола SIP не рекомендуется, поскольку оно снимает большую защиту от вредоносных программ и случайных повреждений, а также не требуется, если вы можете просто снять защиту для каждого файла отдельно. Если вы отключите SIP, включите его снова после внесения изменений.
Обратите внимание, что, если ls -lOпоказывает, что schgфлаг установлен, вы должны войти в однопользовательский режим, чтобы сбросить его. Я не буду вдаваться в подробности, потому что есть большие вопросы о том, почему в файле установлен этот флаг и почему вы пытаетесь с ним связываться и каковы будут последствия.
sudo chgrp wheel ./entries?