Как сбросить разрешения по умолчанию на El Capitan

Во время разработки и отладки я изменил права доступа к различным файлам и папкам, используя chown и chmod в своей локальной системе (список изменений я не сохранял). Теперь, когда я исправил проблему, я боюсь последствий для безопасности. В любом случае я мог бы восстановить разрешения по умолчанию и/или найти уязвимости с точки зрения сетевой безопасности или другие потенциальные лазейки, которые могут возникнуть из-за моих изменений.

Ответы (3)

Для пакетов, установленных системой, вы можете запустить следующую команду в Terminal.app, чтобы найти разрешения, которые отличаются от разрешений по умолчанию:

sudo /usr/libexec/repair_packages --verify --standard-pkgs/

Если вы хотите просто применить эти разрешения ко всей системе, выполните следующую команду:

sudo /usr/libexec/repair_packages --repair --verify --standard-pkgs/

Или вы можете индивидуально исправить разрешения, которые вы изменили самостоятельно, используя chmod/chown.

Для всего остального вам нужно использовать либо менеджер пакетов, который может проверять разрешения, либо иметь резервную копию, которую вы можете использовать для сравнения разрешений до и после события.

Для других: обратите внимание, что команда repair_packages больше не существует в Sierra и более новых версиях macOS, поскольку теперь они автоматически обрабатывают разрешения на восстановление. Если вы вручную испортили разрешения настолько, что их нельзя исправить автоматически, я бы порекомендовал восстановить разрешения из резервной копии Time Machine или аналогичной.

хороший момент, я должен был включить это в свой ответ тоже. Однако это только проверит, чтобы исправить, вам понадобитсяsudo /usr/libexec/repair_packages --repair --standard-pkgs /
Да, я знаю, что он показывает только изменения. Это было сделано намеренно, поскольку пользователь вручную изменил некоторые разрешения, поэтому я предположил, что впоследствии он сможет сказать, какие изменения были вызваны его собственными действиями, а какие уже были изменены до того, как он сделал свое дело. Но я включу это в ответ!
Команда возвращает ошибку:sudo: /usr/libexec/repair_packages: command not found
@Geekarist У вас слишком новая версия macOS. Если вы используете Sierra или более позднюю версию, его там не будет.

Это зависит от вашей ОС.

Йосемити

  • Используйте Дисковую утилиту для сброса разрешений системы.
  • Сбросьте разрешения и списки ACL для домашней папки с помощью OnyX — вкладка/разрешения «Обслуживание», установите флажок вверху, затем «Выполнить».
  • Для ремней и подтяжек примените [или повторно примените, если уже установлена ​​последняя версия] 10.10.5, используя комбинированное обновление 10.10.5 , а не дельту из App Store.

Эль Капитан

  • Сброс разрешений и списков ACL для домашней папки
    Это стало более сложным со времен El Capitan из-за защиты целостности системы, но все еще возможно, загрузившись в режиме восстановления ...

    1. При загрузке держите Cmd ⌘ R куранты
    2. На экране восстановления откройте «Терминал» из меню «Утилиты».
    3. Введите resetpasswordи нажмите Return\Enter. Откроется окно сброса пароля.
    4. Выберите свое имя пользователя в раскрывающемся меню с надписью Выберите учетную запись пользователя (НЕ системный администратор/root).
    5. Нажмите кнопку «Сброс» в нижней части окна в разделе «Сброс разрешений домашней папки и списков управления доступом».
    6. Выйдите из утилиты пароля и вернитесь на главный экран восстановления.
    7. На клавиатуре нажмите Cmd ⌘ Q и перезагрузите компьютер (или выберите  > Перезагрузить в строке меню). Очень важно, чтобы вы не удерживали кнопку питания, чтобы выйти из сеанса восстановления, иначе сброс ACL не будет выполнен.
  • Для ремней и подтяжек примените [или повторно примените, если уже установлена ​​последняя версия] 10.11.5, используя комбинированное обновление 10.11.5 , а не дельту из App Store.

Этот ответ неверен, так как это исправит только разрешения для домашней папки пользователя. Поскольку вопрос связан с безопасностью, сетью и т. Д., Очень важно также проверить разрешения для системных папок. Кроме того, в вопросе указан Эль-Капитан, поэтому здесь нельзя использовать ответ для Йосемити.
@jksoegaard Я не заметил, что el cap был помечен - tbh, упоминание его только в теге не является общепринятым методом AD, он также должен быть в теле вопроса. Однако повторное применение комбинированного обновления исправит системные разрешения, что делает ответ действительно правильным ... и более полным, чем проверка только системных разрешений.
Нет, на самом деле это не так. Применение комбинированного обновления исправит только разрешения для материалов, включенных в комбинированное обновление. Все остальные установленные пакеты (т. е. дополнительные пакеты, пакеты от третьих лиц и т. д.) не будут иметь фиксированных прав доступа к файлам с помощью комбинированного обновления. С помощью команды repair_packages, о которой я писал, любые измененные разрешения будут отображаться для файлов, полученных в результате установки пакета.

Я случайно изменил разрешения ACL в своей домашней папке, и у меня возникла такая же проблема на моем MacBook Pro под управлением macOS Sierra версии 10.12.2.

Выполните шаг ниже, чтобы изменить разрешения «Нет доступа» для папок и вернуться к «Разрешить доступ»:

Перезапустите с зажатыми Commandклавишами Sи и выполните следующие команды:

mount -uw /
chown root /
chmod 1775 /
exit

После последней команды «выход» ваша система должна перезапуститься сама по себе, и все должно выглядеть так же, как и до того, как вы изменили разрешения для домашней папки.