Вопрос или проблема
У меня есть проблемы с правами на macOS Ventura. В одной и той же папке я могу открыть некоторые файлы, например, с помощью SKIM для PDF файлов.
Но не могу открыть другие, хотя у всех одинаковые права rw-r--r--@
.
Я подозреваю, что это произошло после какого-то сбоя, и те файлы, которые я не могу открыть, являются новыми загруженными!
Я пробовал:
sudo diskutil resetUserPermissions / 'id -u'
И тогда я получил:
Ошибка: -69841: Сброс прав в домашнем каталоге пользователя не удался
Так что я сделал:
chflags -R nouchg *
Это прошло, хотя были некоторые ошибки “доступ запрещен” на Google Дисках:
chflags: Library/CloudStorage/[email protected]/.tmp: Доступ запрещен
также на
chflags: Library/Containers/com.apple.mail/Data/DataVaults: Операция не разрешена
(Я всё равно не использую apple.mail!)
Так что я подумал, что это не проблема. Я выполнил снова:
sudo diskutil resetUserPermissions / 'id -u'
Я получаю ту же ошибку.
И тогда:
Ошибка: -69841: Сброс прав в домашнем каталоге пользователя не удался
Вот полный результат проверки:
Запуск первой помощи на "Контейнер диска1"
Проверка загрузочного тома приведет к зависанию этого компьютера.
Проверка системы хранения
Используя режим в реальном времени.
Выполнение fsck_apfs -n -x -l /dev/disk0s2
Проверка суперблока контейнера.
Проверка записи EFI.
Проверка менеджера пространства.
Проверка очередей свободного пространства менеджера.
Проверка карты объектов.
Проверка структур ключей шифрования.
ошибка: объект (oid 0xb39c64d7a6841da9): o_cksum (0x136a758e9b9e011d) недействителен для объекта
ошибка: объект (oid 0xb39c64d7a6841da9): o_type недействителен, o_type 0x51080fd4 должен быть 0x72656373
ошибка: объект (oid 0xb39c64d7a6841da9): o_subtype недействителен, o_subtype 0x1e30fc98 должен быть 0x0
предупреждение: ключевой мешок тома (44693556+1): диапазон блоков не является действительным ключевым мешком, пропускаем проверки
Проверка тома /dev/rdisk1s1.
Проверка суперблока APFS тома.
Проверка карты объектов.
Проверка дерева метаданных снимков.
Проверка метаданных снимков.
Проверка снимка 1 из 1 (com.apple.TimeMachine.2024-12-04-100040.local)
предупреждение: inode (id 331086936): недостающее xattr ресурсного форка для сжатого файла
предупреждение: повреждения в ключах fsroot / документа не исправлены; они исчезнут, когда снимок будет удален
предупреждение: inode (id 334511517): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334519897): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334532660): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334535849): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334536221): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334541822): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334542255): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334542473): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334546170): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334546437): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334572374): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334574902): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334576375): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334578306): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334578629): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334579177): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334585561): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334606267): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334606369): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334607641): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334609862): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334707016): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334708514): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334709944): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334714110): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334746304): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334746987): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334764204): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334766417): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334772054): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334772806): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334774172): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334774684): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334775101): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334777236): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334777571): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334781153): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334838464): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334862808): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334863005): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334863320): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334863609): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334866869): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334868988): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334869518): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334869742): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334874378): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334874958): недостающее xattr ресурсного форка для сжатого файла
предупреждение: inode (id 334875136): недостающее xattr ресурсного форка для сжатого файла
Сгенерировано слишком много предупреждений такого типа; подавление последующих.
Проверка дерева идентификаторов документов.
Проверка дерева fsroot.
Проверка дерева ссылок на диапазоны.
Проверка пространства карты объектов тома.
Том /dev/rdisk1s1 оказался поврежденным и нуждается в ремонте.
Проверка тома /dev/rdisk1s2.
Проверка суперблока APFS тома.
Проверка карты объектов.
Проверка дерева метаданных снимков.
Проверка метаданных снимков.
Проверка дерева fsroot.
Проверка дерева ссылок на диапазоны.
Проверка пространства карты объектов тома.
Том /dev/rdisk1s2 выглядит нормально.
Проверка тома /dev/rdisk1s3.
Проверка суперблока APFS тома.
Проверка карты объектов.
Проверка дерева метаданных снимков.
Проверка метаданных снимков.
Проверка дерева fsroot.
Проверка дерева ссылок на диапазоны.
Проверка пространства карты объектов тома.
Том /dev/rdisk1s3 выглядит нормально.
Проверка тома /dev/rdisk1s4.
Проверка суперблока APFS тома.
Проверка карты объектов.
Проверка дерева метаданных снимков.
Проверка метаданных снимков.
Проверка дерева fsroot.
Проверка дерева ссылок на диапазоны.
Проверка пространства карты объектов тома.
Том /dev/rdisk1s4 выглядит нормально.
Проверка тома /dev/rdisk1s5.
Проверка суперблока APFS тома.
Проверка карты объектов.
Проверка дерева метаданных снимков.
Проверка метаданных снимков.
Проверка снимка 1 из 1 (com.apple.os.update-F06D7F99AEB01CD2BD3B8D9913FAABC40F1408DCAB6C2457B2220D28CED04850)
Проверка дерева fsroot.
Проверка дерева диапазонов файлов.
Проверка дерева ссылок на диапазоны.
Проверка пространства карты объектов тома.
Том /dev/rdisk1s5 выглядит нормально.
Проверка тома /dev/rdisk1s6.
Проверка суперблока APFS тома.
Проверка карты объектов.
Проверка дерева метаданных снимков.
Проверка метаданных снимков.
Проверка дерева fsroot.
Проверка дерева ссылок на диапазоны.
Проверка пространства карты объектов тома.
Том /dev/rdisk1s6 выглядит нормально.
Проверка выделенного пространства.
предупреждение: ключевой мешок контейнера (211137419+1): UUID 6D9308FC-4F82-4B2B-B34B-BA4DB900F942 записи 0 (тег 3) не ссылается на какой-либо том
Выполнение отложенных ремонтов.
предупреждение: необходимо очистить флаги bsd (0x20) в inode (object-id 331086936)
Всего пропущено 60/60 ремонтов этого типа.
предупреждение: найден сиротский/недействительный xattr (id 331086936, имя com.apple.decmpfs)
Всего пропущено 60/60 ремонтов этого типа.
Контейнер /dev/disk0s2 выглядит нормально.
Код завершения проверки системы хранения равен 0.
Операция успешна.
- Загрузитесь из режима восстановления, удерживая комбинацию клавиш Command-R при запуске.
- На рабочем столе восстановления выберите Утилиты >> Терминал
- В окне терминала введите:
resetpassword
и нажмите Enter. Вы не собираетесь сбрасывать пароль, мы собираемся сбросить ACL. - Откроется окно сброса пароля >> выберите ваш загрузочный том.
- Выберите свое имя пользователя из меню, выберите учетную запись пользователя, если она еще не выбрана.
- Под “Сброс прав домашнего каталога и ACL” нажмите кнопку “Сбросить”.
- Затем выберите >> Перезагрузить из выпадающего меню.
Ответ или решение
Проблемы с правами доступа на macOS и их сброс
В macOS Ventura проблемы с правами доступа могут возникнуть по разным причинам, включая сбои системы, которые могут вызвать некорректное изменение ACL (Access Control Lists) или атрибутов файлов. В вашей ситуации, когда вы не можете открыть определенные PDF-файлы в приложении SKIM даже при наличии правильных прав доступа (rw-r--r--@
), возможно, что данные файлы были повреждены или их метаданные не корректны в результате сбоя.
Причины Ошибок
- Системный сбой: Системные сбои могут вызвать проблемы с чтением и записью файлов, а также с обновлением метаданных и прав доступа.
- Использование облачных хранилищ: Путь доступа к файлам, размещённым в Google Drive или других облачных сервисах, может повлиять на права доступа, особенно если файлы синхронизируются в фоновом режиме.
- Удаленные файлы: Если файл был загружен из другого источника или был перемещен, система могла оставить после себя "хвост" в виде старых метаданных.
Устранение Проблем
-
Сброс прав доступа в терминале:
Вы уже попробовали использовать следующую команду для сброса прав пользователя, однако получили ошибку:sudo diskutil resetUserPermissions / 'id -u'
Ошибка
-69841: Permissions reset on user home directory failed
говорит о том, что процесс сброса не может завершиться успешно из-за повреждений файловой системы или некорректных настроек прав доступа. -
Изменение атрибутов файлов:
Командаchflags -R nouchg *
завершилась с некоторыми предупреждениями, что указывает на недостаток прав для изменения атрибутов некоторых файлов. Это может происходить из-за того, что файлы находятся в защищенных системных папках, на которые нужно обратить внимание.
Решение Проблемы с Правами Доступа
Для устранения проблем с правами доступа вы можете выполнить следующие шаги:
-
Перезагрузка в режиме восстановления:
- Загрузите компьютер, удерживая комбинацию клавиш
Command-R
. - В меню восстановления выберите
Utilities > Terminal
. - Введите команду
resetpassword
и нажмите Enter. Это откроет окно сброса пароля.
- Загрузите компьютер, удерживая комбинацию клавиш
-
Сброс ACL и прав доступа:
- В открывшемся окне выберите ваш загрузочный том.
- Под выбором пользователя, нажмите на кнопку
Reset Home Directory Permissions and ACLs
. - Перезагрузите компьютер через меню .
-
Проверка файловой системы:
- Если после перезагрузки проблемы не исчезают, рекомендуем выполнить проверку диска с использованием
Disk Utility
:- Найдите утилиту на вашем Mac и запустите её.
- Выберите ваш диск и нажмите
First Aid
.
- Если после перезагрузки проблемы не исчезают, рекомендуем выполнить проверку диска с использованием
-
Переустановка приложений: Если проблема сохраняется только для определённых файлов или приложений, возможно, стоит удалить и переустановить их. Это может помочь восстановить необходимые настройки и исправить ошибки.
Заключение
Решение проблем с правами доступа в macOS может быть сложной задачей, особенно при наличии ошибок файловой системы. Следуя описанным выше шагам, вы сможете восстановить правильные права доступа и вернуть нормальную функциональность системы. Если же проблемы продолжают существовать, возможно, стоит обратиться в техническую поддержку Apple для более глубокой диагностики.