sudo chown завершается ошибкой, операция не разрешена

sudo chown завершается ошибкой, операция не разрешена

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

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

sudo chown <username> main.m

Я получаю сообщение об ошибке «Операция не разрешена».

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

sudo chflags nouchg main.m

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

chflags noschg main.m

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

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

решение1

Файлы 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команды, которую я предложил выше, чтобы мы могли увидеть, что происходит.

Связанный контент