Гид по технологиям

Почему в macOS исчезла функция «Восстановить права доступа» и как работать с правами

10 min read macOS Обновлено 23 Dec 2025
Почему Apple убрала «Восстановить права» в macOS
Почему Apple убрала «Восстановить права» в macOS

Фраза «Вы пробовали восстановить права?» — классический совет при проблемах на Mac. До OS X El Capitan (10.11) Disk Utility предлагал опцию «Repair Disk Permissions» (Восстановить права диска). Кажется, она помогала решить редкие неполадки. Когда же Apple убрала эту кнопку, многие стали задаваться вопросом: действительно ли проблема решена, или просто изменился способ работы с правами?

В этой статье подробно разберём:

  • принципы Unix-подобных прав в macOS;
  • почему Apple убрала видимую кнопку восстановления;
  • где и как права всё ещё могут «сломаться»;
  • безопасные команды и пошаговые инструкции для восстановления прав в папке пользователя;
  • практические чек-листы для администратора и обычного пользователя.

Важно: материал ориентирован на современные версии macOS и учитывает изменения, введённые SIP (System Integrity Protection). Если вы работаете с устаревшими версиями (до El Capitan), некоторые шаги могут отличаться.

Как устроены права в macOS — простая модель

macOS наследует модель прав из Unix. Каждый файл и папка имеют набор прав и владельцев. Короткая дефиниция терминов:

  • Владелец: учётная запись, которая создала файл или ей назначено владение.
  • Группа: набор учётных записей, которым можно быстро дать общие права.
  • Все (everyone): остальные пользователи системы.
  • Право чтения (r): разрешает открыть файл или просмотреть список в папке.
  • Право записи (w): разрешает изменить или удалить файл; для папок — добавлять/удалять файлы.
  • Право исполнения (x): для файлов — запуск как программы; для папок — разрешение переходить внутрь (list с read).

Эти сущности задаются в виде триады прав (владелец/группа/все) и видны как r, w, x в командной строке.

Просмотр прав в Finder

В Finder щёлкните правой кнопкой по файлу или папке и выберите «Информация» (Get Info). Нажмите треугольник «Доступ и права» (Sharing & Permissions), чтобы раскрыть права.

Информация об элементе и секция «Доступ и права» в Finder

ALT: Информация о файле в Finder с раскрытой секцией «Доступ и права»

Просмотр прав в Терминале

В Терминале команда ls -l показывает список с правами и владельцами:

ls -l "путь/до/вашего/файла"

Строка начинаетcя типом и набором прав, например:

-rw-r--r--  1 user  staff  12345  1 Jan 12:34 example.txt

Первая часть (-rw-r–r–) означает: файл (-), владелец имеет чтение и запись (rw-), группа — только чтение (r–), все — только чтение (r–).

Просмотр прав файла в терминале macOS

ALT: Окно Терминала с выводом команды ls -l, показывающим права и владельцев файлов

Почему права «не портятся» сами по себе

Важно понимать: права не «портятся» сами по себе. Они остаются такими, какими их установил кто-то или что-то. Disk Utility в старых версиях не «ремонтировал» повреждённые биты — он сбрасывал права на рекомендуемые значения, если установщик пакета OS X ссылался на стандартные права.

Причины изменения прав:

  • Установщики приложений могут изменить существующие права и не вернуть прежние.
  • Неправильное использование команд chmod/chown в Терминале.
  • Копирование через внешние носители или сетевые протоколы (SMB, FTP) — система может присвоить нестандартные права.
  • Совместный доступ к папкам: при постоянном совместном использовании прав может понадобиться ручная корректировка.
  • Скрипты или программы с ошибками, которые меняют права в каталоге ~/Library.

Пояснение: когда некая программа «сломалась», это чаще признак того, что её конфигурационные файлы или папки пользователя имеют неверные права/владельцев, а не следствие постепенного «коррозирования» прав.

Что изменил SIP (System Integrity Protection)

В OS X El Capitan Apple представила механизм SIP, который ограничивает возможность изменения важных системных каталогов. Папки под защитой SIP включают в себя, среди прочего: /System, /usr, /bin и /sbin. SIP предотвращает изменение файлов в этих каталогах даже для учётки root в обычном режиме.

Последствия для пользователя и администратора:

  • Обычные изменения прав в системных каталогах больше не нужны и невозможны без отключения SIP.
  • Обновления системы и встроенные установщики сами заботятся о согласованных правах в защищённых местах.
  • Проблемы с правами теперь чаще происходят в каталогах вне зоны SIP: /Applications (для сторонних приложений), /Library и в домашней папке пользователя ~/.

Важно: не отключайте SIP без крайней необходимости. Это снижает безопасность системы.

Симптомы неправильных прав в домашней папке

Если права в ~/ были изменены неправильно, вы можете заметить следующие эффекты:

  • Изменения в Finder, Системных настройках или Dock не сохраняются.
  • Открытые окна возвращаются при повторном входе в систему.
  • Система запрашивает администраторский пароль при перемещении файлов внутри Home.
  • Сообщения типа «macOS needs to repair your Library to run applications».
  • При сохранении файла появляются ошибки о блокировке или отсутствии прав (частая проблема с Microsoft Office).
  • Приложения падают при запуске или не обновляются.
  • Браузеры не загружают профиль (Firefox/Chrome — «Unable to load your profile»).
  • Фотографии не появляются в приложении Photos или приложение просит выбрать библиотеку при каждом запуске.

Пошаговая инструкция: сброс прав в домашней папке (Finder + Терминал)

Следуйте только если вы увидели описанные выше симптомы и понимаете, что делаете. Сначала попробуйте простые решения (перезагрузка, обновление приложения). Если не помогло — применяйте описанные методы.

  1. Откройте Finder. В боковой панели правой кнопкой нажмите на вашу домашнюю папку (домик) и выберите Информация (Get Info).

Информация о домашней папке в Finder

ALT: Окно информации о домашней папке пользователя с раскрытой секцией прав

  1. Нажмите на замок внизу окна и введите пароль администратора.
  2. Нажмите меню действий (шестерёнка) и выберите «Применить к вложенным объектам» (Apply to enclosed items).

Выбор «Применить к вложенным объектам» в меню действий окна информации

ALT: Меню действий в окне информации с опцией «Применить к вложенным объектам» выделенной

  1. Подтвердите действие и дождитесь завершения. Это распространит текущие права на все вложенные элементы.

Подтверждение применения прав

ALT: Диалог подтверждения применения изменений прав к вложенным элементам

  1. Откройте Терминал и выполните команду для сброса прав пользователя на корневом томе:
diskutil resetUserPermissions / `id -u`

Эта команда попытается восстановить права для текущего пользователя по умолчанию. Если команда завершится успешно — перезагрузите Mac.

Ошибка 69841: действия при возникновении

Если команда вернула ошибку 69841, действуйте по версии macOS.

Для macOS High Sierra и старее

  1. Откройте Терминал и выполните:
chflags -R nouchg ~
  1. После этого снова выполните:
diskutil resetUserPermissions / `id -u`
  1. Перезагрузите компьютер.

Для macOS Mojave и новее

На Mojave и более новых версиях требуется предоставить Терминалу «Полный доступ к диску» (Full Disk Access).

  1. Откройте Системные настройки → Безопасность и конфиденциальность → вкладка «Конфиденциальность».

Окно «Конфиденциальность» в Системных настройках с разделом Full Disk Access

ALT: Список приложений в разделе «Полный доступ к диску» в Системных настройках

  1. Нажмите замок, внесите пароль, затем добавьте приложение Терминал в список Full Disk Access.

Добавление Терминала в «Полный доступ к диску»

ALT: Диалог добавления приложения Терминал в список приложений с полным доступом к диску

  1. После этого снова выполните команды chflags и diskutil, как указано выше.

Важно: Full Disk Access даёт термину доступ к многим приватным папкам. Добавляйте туда только доверенные приложения.

Дополнительные безопасные команды и что они делают

  • Просмотреть владельца и права:
ls -la ~/Library
  • Проверить владельца файла:
stat -f "%Su %Sg %A" /путь/до/файла
  • Сменить владельца на текущего пользователя (используйте осторожно):
sudo chown -R $(whoami) /путь/до/каталога
  • Сбросить права в каталоге (пример):
sudo chmod -R u+rwX,go+rX,go-w /путь/до/каталога

Примечание: команды с sudo и параметром -R рекурсивны. Неправильное применение может повредить права в системных каталогах.

Когда не стоит трогать права

  • Если проблема затронула только одно приложение — сначала переустановите приложение или удалите его настройки (backup!).
  • Если ошибка возникает при работе с системными файлами, не отключайте SIP без веской причины.
  • Не выполняйте chown/chmod рекурсивно в корне / или в /System.

План действий при проблеме с правами — быстрого реагирования

  1. Соберите симптомы: какие приложения/функции ведут себя неправильно?
  2. Проверьте логи в Console.app за соответствующее время.
  3. Проверьте права проблемных файлов (ls -l, stat).
  4. Попробуйте переустановить приложение.
  5. Если проблема в ~/ — используйте Finder → Информация → Применить к вложенным объектам, затем diskutil resetUserPermissions.
  6. Если не помогло — создайте новый временный пользователь и проверьте, повторяется ли баг.
  7. Если новый пользователь работает нормально — проблема в настройках вашего профиля.
  8. В крайнем случае восстановите из резервной копии Time Machine или переустановите macOS, не отключая SIP по умолчанию.

Ролевые чек-листы (кто что делает)

Чек-лист для обычного пользователя

  • Сделать резервную копию важных файлов (Time Machine или облако).
  • Перезагрузить Mac.
  • Обновить приложение, которое падает.
  • Попробовать открыть приложение в новом профиле пользователя.
  • Если всё ещё проблема — обратиться к администратору или следовать инструкции по сбросу прав.

Чек-лист для администратора/IT специалиста

  • Проверить журналы (Console) и точное время ошибки.
  • Определить проблему по владельцу/путям в ~/Library и ~/.
  • Не выполнять рекурсивные chown/chmod в системных каталогах.
  • Предложить временное решение: переустановка приложения или сброс настроек.
  • При необходимости выполнить diskutil resetUserPermissions и chflags nouchg.
  • Проверить, не мешает ли антивирус или утилиты сторонних производителей.

Чек-лист для разработчика

  • Проверить, где ваше приложение пишет конфиги и какие права выставляет.
  • Рекомендовать пользователю хранить временные файлы в ~/Library/Containers или в ~/Library/Application Support с корректными правами.
  • Избегать установки файлов с root-владением в папке пользователя.

Модель принятия решения — flowchart

flowchart TD
  A'Проблема с приложением' --> B{Работает в другом аккаунте?}
  B -- Да --> C[Проблема в профиле пользователя]
  B -- Нет --> D[Проблема общесистемная]
  C --> E[Резервная копия и сброс прав в ~/]
  E --> F{Успешно?}
  F -- Да --> G[Закрыть тикет]
  F -- Нет --> H[Создать новый профиль / восстановление из резервной копии]
  D --> I[Проверить системные логи и SIP]
  I --> J{Требует ли отключение SIP?}
  J -- Нет --> K[Переустановить систему / обновить]
  J -- Да --> L[Отключение SIP только как крайняя мера и с бэкапом]

Типичные ошибки и контрпримеры

  • Контрпример: «Я восстановил права — и всё заработало» — это возможно, если у приложения были сброшены права в ~/Library или в папке приложения. Но если причина — повреждённый файл настроек, восстановление прав не поможет.
  • Контрпример: «Пропали системные файлы после chmod» — обычно вызвано рекурсивными chmod/chown в корне. Это не связано с автоматическим «порчей» прав — это следствие человеческой ошибки.

Мини-методология диагностики (быстрый чек)

  1. Повторите баг на тестовом учётном записи.
  2. Сравните права проблемного файла между рабочим и тестовым аккаунтом.
  3. Откатите права через diskutil или вручную, если известно, какие права нужны.
  4. Проверяйте решение на отдельной машине или виртуальной среде, если возможно.

Критерии приёмки

  • Проблемное приложение запускается без ошибок у пользователя, который жаловался.
  • Настройки приложения сохраняются между сеансами.
  • Нет сообщений об ошибках о правах при сохранении/открытии файлов.
  • Нет необходимости отключать SIP для нормальной работы.

Тест-кейсы / кейсы приёмки

  • TC-01: Создать файл в ~/Documents, установить права только для владельца, проверить открытие в приложении под той же учёткой.
  • TC-02: Скопировать профиль браузера в новый аккаунт, проверить загрузку профиля.
  • TC-03: Выполнить diskutil resetUserPermissions и убедиться, что основные настройки пользователя сохранились.
  • TC-04: Попробовать рекурсивный chflags -R nouchg ~ и повторить resetUserPermissions после добавления Терминала к Full Disk Access (Mojave+).

Безопасность и приватность

  • Не давайте Full Disk Access не доверенным приложениям.
  • Не храните пароли в открытых текстовых файлах в домашней папке.
  • При обмене файлами по сети проверяйте, какие права присваиваются при копировании; при необходимости корректируйте их после переноса.

Короткий словарь терминов (1‑строчные определения)

  • SIP: механизм защиты целостности системы, предотвращающий изменение критичных системных файлов.
  • chmod: команда для изменения прав доступа к файлам.
  • chown: команда для изменения владельца файла/папки.
  • diskutil resetUserPermissions: утилита для сброса прав пользователя на корневом томе.

Часто встречающиеся вопросы (FAQ)

Q: Можно ли вернуть кнопку «Восстановить права» в Disk Utility?
A: Нет. Apple изменила способ управления правами и защиту системы; кнопка физически удалена и её восстановление невозможно без глубоких модификаций ОС.

Q: Нужно ли отключать SIP, чтобы восстановить права?
A: В большинстве случаев — нет. SIP защищает системные каталоги; права в ~/ восстанавливаются без отключения SIP. Отключать SIP стоит только как крайнюю меру и с полной резервной копией.

Q: Повлияет ли сброс прав в домашней папке на мои данные?
A: Сам по себе сброс прав не удаляет данные, но всегда делайте резервную копию перед операциями с владельцами/правами.

Заключение

Apple убрала видимую опцию «Восстановить права» потому, что модель управления правами и защита системных файлов эволюционировали. Это повысило безопасность, но оставило за пользователем и администраторами ответственность за корректные права в папках пользователя и в сторонних приложениях. Понимание базовой модели прав, осторожное применение команд и следование чек-листам помогут безопасно диагностировать и исправлять проблемы.

Важно: всегда делайте резервную копию перед изменением прав и избегайте рекурсивных команд в системных каталогах.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Управление будильниками через Siri
Инструкции

Управление будильниками через Siri

Показать стили абзацев в Word
Microsoft Word

Показать стили абзацев в Word

Настройка Touch ID на iPhone
iPhone

Настройка Touch ID на iPhone

Продление срока службы жёсткого диска
Аппаратное обеспечение

Продление срока службы жёсткого диска

Как перевести Apple Cash в банк
Финансы

Как перевести Apple Cash в банк

Зеркалирование Android на Windows
Руководство

Зеркалирование Android на Windows