8

Я нашел подобные вопросы здесь, но ответы на эти вопросы не решают мою проблему.

Если я сделаю:

sudo chown <username> main.m

Я получаю операцию не допускается ошибка.

Общее решение предыдущих ошибок было:

sudo chflags nouchg main.m

снять флаг блокировки. Однако после этого я все еще не могу сжать файл. Я также попробовал:

chflags noschg main.m

в однопользовательском режиме без везения - я получаю ошибку операции не допускается.

Если у кого-то есть мысли, мне было бы интересно.

1 ответ1

8

Файлы Mac могут быть защищены четырьмя тремя различными способами, которые я знаю:

  1. Стандартные владения и разрешения Unix, такие как r/w/x для пользователя / группы / других, которые вы видите с помощью ls -l и исправляют с помощью chown(1) и chmod(1) .
  2. Подпишите флаги, такие как uchg и schg которые вы видите с помощью ls -lO и исправьте с помощью chflags(1) .
  3. Старые метаданные Finder "Бит блокировки", которые вы видите с GetFileInfo filename . Вы также можете увидеть наличие метаданных Finder, но не их значение, с помощью ls -l@ . Вы можете исправить это с помощью SetFile(1) . Не берите в голову, это теперь сопоставлено с флагом uchg .
  4. Списки контроля доступа (ACL), которые вы видите с помощью ls -le и исправляете с помощью связанных с ACL аргументов chmod(1) .

Итак, давайте посмотрим, что случилось с вашим файлом, объединив все эти флаги в ls:

ls -lO@e main.m

Похоже, вы уже знаете, как бороться с № 1 и № 2.

Если вы видите ACL (# 4), вы можете исправить это с помощью связанных с ACL аргументов chmod(1) .

Если вы все еще озадачены, обновите свой ответ выводом этой комбинированной команды ls я предложил выше, чтобы мы могли видеть, что происходит.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .