Нужно ли исправлять права доступа к файлам в El Capitan

В Apple считают, что не нужно. Эксперты не верят. Разбираемся…

Что за права доступа к файлам такие?

Когда я переезжал на OS X в 2008 году и спрашивал у пользовавшихся этой платформой людей касательно важных нюансов работы с ней, то обычно слышал: «Не парься — это тебе не Windows, на OS X все работает как часы». Если же продолжал настаивать, мол, не раз приходилось ковыряться с Windows, решать всякие конфликты оборудования и драйверов — хочу быть готовым и на OS X решить любую проблему, тогда всегда получал совет «запустить “Дисковую утилиту” и проверить/исправить права доступа к файлам — это решит все проблемы».

Многие пользователи OS X в принципе не заморачиваются с такими высокими материями и не знают о данной опции, а те, кто знают, в большинстве своем считают ее панацеей от всех бед. В целом, учитывая общую стабильность платформы и принципы ее работы (нет реестра, нет конфликта оборудования в силу того, что Apple контролирует софт и «железо»), так и есть. Сам я не раз использовал данную опцию, особенно после обновления OS X (для профилактики) или когда все-таки возникали странности в работе операционной системы. Но в этот раз я банально не нашел такой опции в «Дисковой утилите».

Как видите, в дисковой утилите для El Capitan пропали опции «Repair/Verify Disk Permissions», то есть «Проверить/исправить права доступа на накопителе». В разделе «Первой помощи» осталась лишь возможность проверить накопитель на ошибки и исправить их (Verify Disk и Repair Disk в предыдущей версии утилиты).

Для начала разберемся, что же за права доступа к файлам такие? Вот что по данному поводу говорит Apple:

Права доступа — это настройки файлов, которые влияют на возможность чтения, записи или исполнения (открытия или запуска) файлов. Если права доступа для файлов заданы неправильно, программное обеспечение, использующее файл, может работать неправильно. Права доступа для файла можно посмотреть в разделе «Общий доступ и права доступа» его окна «Свойства».

02-El-Capitan-File-Permissions

Говоря проще, это политика того, кто и что может делать с файлом. «Кто», то есть:

  • владелец текущей учетной записи (Owner) и всего, что в ней есть, включая файлы (он же наделенный правами администратора);
  • группа (Group) — определенная группа пользователей, наделенная теми или иными правами для доступа к файлам;
  • все остальные (Others) — как читается, так и понимается.

«Что» делать с файлом означает право:

  • читать файл (просмотреть содержимое);
  • записывать (создавать файлы и директории);
  • запускать (старт программ).

«Капитану» никакие исправления прав доступа к файлам уже не нужны

Во всех версиях OS X до Yosemite включительно в «Дисковой утилите» была опция исправления прав доступа, а вот в El Capitan ее не стало. О причинах рассказывает сама Apple:

Начиная с ОС OS X El Capitan права на доступ для системных файлов автоматически защищены. Больше нет необходимости выполнять проверку или восстановление прав доступа с помощью Дисковой утилиты.

Выражение «автоматически защищены» наводит на нехорошие мысли. Например, почему раньше они не были автоматически защищены? А что это за механизм такой автоматической защиты? Официального ответа от Apple на этот счет нет, кроме расплывчатого: «С каждым релизом OS X мы улучшаем платформу все больше и больше». В принципе, в El Capitan улучшения реально заметны невооруженным взглядом.

С другой стороны можно подискутировать по поводу того, что Apple семимильными шагами идет к ограничению пользователей лишь рамками Mac App Store, как на iOS люди ограничены только App Store. Фактически компания полностью запретила доступ к системным папкам (вроде «/System», «/usr/bin») сторонним приложениям и утилитам. Почему бы в будущем в принципе не запретить доступ к операционной системе, которая переедет на собственный скрытый раздел, и тогда получим ту же схему работы, как в iOS, за исключением наличия свободного дискового пространства, на котором пользователь может делать все, что вздумается (создавать папки, записывать файлы и т. п.).

Есть и третья сторона медали, так скажем, ее грань — это прекрасная «защита от дурака». То есть человек банально не сможет повредить систему, как бы он ни пытался это сделать. В принципе, большинству людей не нужны дебри ОС и вполне достаточно того софта, что есть в Mac App Store. Так что идея в целом хорошая и сегодня мы наблюдаем первые шаги к ее реализации.

К слову, права доступа к системным файлам проверяются и исправляются в El Capitan автоматически при каждом системном обновлении или установке любого софта.

Как быть с другими папками и файлами, не системными?

Но ведь есть не только системные папки и файлы, которые важны для работы тех или иных приложений и функций операционной системы, либо стороннего ПО. Как быть с ними, если вдруг возникнут проблемы с правами доступа?

Когда появилась эта мысль, то я первым делом запустил утилиту CleanMyMac 3 (приложение для очистки OS X от всякого цифрового мусора и ее обслуживания), которой активно пользуюсь с момента релиза, а до того работал со второй версией. Помнится, в ней была опция исправления прав доступа и, как оказалось, она сохранилась в последней версии, адаптированной под El Capitan:

03-El-Capitan-File-Permissions

Тут возникла вторая мысль — а не натворит ли эта опция лишнего в системе, раз уж Apple отказалась от нее. Чтобы не «гадать на кофейной гуще», я напрямую обратился к разработчику утилиты, MacPaw. PR-менеджер компании, Юлия Петрик, довольно быстро откликнулась и передала мне ответ специалиста — Веры Ткаченко, главы команды по работе с Cocoa:

Опция автоматического исправления прав доступа действительно уже не так актуальна для El Capitan. Ее убрали из «Дисковой утилиты», но ее все еще можно запускать из «Терминала» (sudo /usr/libexec/repair_packages –repair –standard-pkgs) и она все еще делает полезные вещи. Мы не можем (да и в этом уже нет смысла) починить права в защищенных папках (например, в /System, /usr/bin и так далее), но есть еще ряд папок, для которых проблема актуальна. В частности /Library, /usr/local, /usr/libexec и другие.

Сам процесс исправления прав довольно прост. В системе есть база специальных файлов (receipts), в которых записано что и куда устанавливалось и с какими правами. Они создаются не только при установке ОС, но и софта с помощью инсталлеров (pkg). И команда «repair_packages» по сути просто сравнивает права из этой базы с реальными файлами и исправляет при несоответствии.

Как видите, возможность исправлять права доступа все-таки сохранилась — иногда она полезна, хоть и скрыта в дебрях «Терминала». Либо для этого можно воспользоваться любой современной утилитой для обслуживания OS X El Capitan, вроде CleanMyMac 3 или же OnyX.

Краткий вывод

В OS X в El Capitan действительно можно не заморачиваться с восстановлением прав доступа, так как эта функция для критически важных системных файлов и папок реализована автоматически, плюс доступа к ним у сторонних приложений нет (то есть что-то испортить не смогут). При желании можно исправить права доступа к файлам и папкам в ряде других важных, но не закрытых Apple директорий с помощью команды Терминала «sudo /usr/libexec/repair_packages –repair –standard-pkgs». То же самое можно сделать с помощью адаптированных под El Capitan сторонних утилит для обслуживания и чистки операционной системы, например, такое умеют CleanMyMac 3 и OnyX. Apple явно все больше и больше закрывает OS X от вмешательства сторонних разработчиков и их приложений, делая ее похожей на iOS, где стороннее ПО устанавливается только из App Store

©  iphones.ru