Как я сюда попал

Я установил SSD-диск после резервного копирования моих данных. Я установил OSX Maverick (потому что мой ноутбук около 2014 года), а затем я начал копировать свои данные от пользователя-2 к пользователю-1 (потому что мой пользователь после установки ОС не совпадал с пользователем с тем же именем, которое сохранило данные в резервной копии данных).

Затем я начал восстанавливать владение файлами, но сделал что-то действительно плохое: я запустил sudo chmod -R user-1:staff в /etc и изменил владельца /etc/sudoers . И если владелец файла поврежден, вы не можете изменить его обратно.

Что я пробовал

Я сделал однопользовательский режим загрузки и обнаружил, что файловая система смонтирована только для чтения.

Я загрузился в режиме восстановления и обнаружил, что OSX больше не предлагает "Восстановление прав доступа к диску" в Дисковой утилите.

Я загрузился в режиме восстановления и обнаружил, что не могу восстановить один файл из резервной копии Time Machine, потому что режим восстановления позволяет проложить только вашу машину со всеми данными Time Machine.

Я пытался выполнить обычную загрузку, но это занимает 30 минут, и хотя индикатор выполнения показывает, что он завершен, ОС больше не запускается.

Вопрос

Итак, как мне

  1. получите приглашение пользователя в доступной для записи файловой системе, чтобы я мог установить владельца для /etc/sudoers или
  2. добраться до Finder, чтобы восстановить право собственности

и, возможно, сможет снова загрузить мой ноутбук?

К сожалению, я не могу войти в систему как root с этим эксплойтом, потому что я не могу получить диалоговое окно для входа в систему.


Позже 2018-01-21

Я столкнулся с этим вопросом и смог mount -uw / && chmod 0 /etc/sudoers , но все равно не могу загрузиться. Это может быть что-то еще, вызванное chown -R .

Еще позже: когда я загружаюсь в подробном режиме (Command-V), я получаю бесконечную прокрутку сообщения об ошибке «Сбой процесса X: opendirectoryd. Слишком много трупов. "Это выглядит смертельно. Возможно, мне придется переустановить ОС и мою резервную копию.

2 ответа2

1

Выход есть (спасибо https://astrails.com/blog/2009/09/29/how-to-fix-a-hosed-etc-sudoers-file-on-mac-osx):

  • войти в систему с учетной записью с правами администратора
  • в Терминале запустите open etc/ чтобы увидеть этот каталог из Finder
  • выберите файл sudoers
  • получить свою информацию (Cmd+I)
  • нажмите + чтобы добавить разрешения
  • предоставить вашей учетной записи права на чтение и запись
  • vi /etc/sudoers и исправь свой беспорядок
  • :w! сохранить (как это все еще "только для чтения")
  • затем запустите sudo visudo чтобы восстановить необходимые права на этот файл.
0

Вы должны вернуть всю иерархию /etc к ее правильному владельцу. В основном это root:wheel, но есть несколько исключений. Вы можете исправить это в однопользовательском режиме после перемонтирования корневого тома для доступа на запись:

mount -uw /
chown -R root:wheel /etc
chown -R root:_lp /etc/cups
chown _lp:admin /etc/cups/certs
chown root:admin /etc/cups/certs/*
chown root:operator /etc/dumpdates    # It's ok if this file doesn't exist

Обратите внимание, что порядок выполнения важен, так как более поздние chown переопределяют более ранние.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .