Что заставляет High Sierra забыть, где находится мой домашний каталог?

22

Начальная проблема

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

Первая подсказка (потому что это то, что я делаю очень часто) всегда заключается в том, что Google Chrome не может открыть новую вкладку. Я получаю сообщение об ошибке «О, хватка». Это заставляет меня выйти из Chrome и перезапустить его, что, в свою очередь, приводит к появлению этого диалогового окна с ошибкой, после которого Chrome не запускается:

Снимок экрана: "Google Chrome не может читать и записывать в свой каталог данных: / var / empty / Библиотека / Поддержка приложений / Google / Chrome"

Другие симптомы

Многие другие вещи, которые требуют знания домашнего каталога, также терпят неудачу:

  • Когда я открываю некоторые приложения Apple (например, «Предварительный просмотр», «Заметки», «Сообщения»), у меня появляется диалоговое окно с сообщением о том, что необходимо восстановить домашний каталог, и требует проверки подлинности. Ввод моего пароля здесь приводит /var/empty/Libraryк смене владельца на меня (что плохо в долгосрочной перспективе, но позволяет некоторым вещам начать работать).
    • Снимок экрана: "macOS необходимо восстановить вашу библиотеку для запуска приложений".
  • Safari просто не открывается при нажатии - он ненадолго появляется в доке, а затем исчезает без диалогового окна «Отчет о сбое» (хотя я не могу сказать, знает ли система в этом состоянии о моем предпочтении видеть эти диалоги).
  • Даже после «восстановления моей библиотеки» многие приложения не могут открыться:
    • Предварительный просмотр: появляется диалоговое окно Finder: приложение «Предварительный просмотр» не может быть открыто.
    • Chrome: то же диалоговое окно с ошибкой, что и на картинке выше
    • Примечания: значок док-станции появляется, а затем исчезает.
  • После восстановления моей библиотеки некоторые приложения, которые не могли открыться раньше, теперь могут, и многие из них забыли мои настройки:
    • Safari (который я использую сейчас, чтобы написать этот вопрос во время исследования)
    • BBEdit
    • Pixelmator
    • Заметки
  • Некоторые приложения остаются незатронутыми независимо от разрешений библиотеки:
    • Приставка
    • Системные настройки
    • Брелок Доступ
  • Я не могу делать скриншоты, если не использую Grab или удерживаю Control, чтобы записать скриншот в буфер обмена (потому что у него нет доступа для записи /var/empty/Desktop, который правильно принадлежит root).
  • В диалоговых окнах «Открыть» и «Сохранить» не отображается ни мой домашний каталог на боковой панели, ни какие-либо общие пункты назначения (Рабочий стол, Документы и т. Д.).
  • Когда активируется заставка, вместо моей обычной появляется системная настройка по умолчанию (Flurry) (Classic указывает на каталог фотографий, которые я выбрал).
  • Терминал использует настройки по умолчанию для цвета / шрифта / и т. Д. Вместо моих пользовательских настроек.

Тем не менее, другие вещи работают нормально:

  • Машина времени
  • Прожектор
  • Горячие углы

Это происходило три раза с момента обновления моей рабочей машины до High Sierra через пару дней после ее выпуска.

Исследование

Исследования показывают, что macOS не думает, что мой домашний каталог есть/var/empty , а, скорее, не знает, что у меня есть домашний каталог , и где-то есть некоторая запасная логика, которая заставляет систему использовать / var / empty для любого пользователя, который не имеет домашнего каталога. (Источник: возможно ли создать пользователя без домашнего каталога? )

Дальнейшие исследования показывают, что / var / empty существует как «тюрьма безопасности» для пользователей, у которых не должно быть доступа к чему-либо (поэтому неправильно менять разрешения или ссылаться на них где-либо еще). (Источник: /server/116632/what-is-var-empty-and-why-is-this-directory-used-by-sshd )

Исходя из прошлых событий, перезагрузка устраняет проблему (до следующего раза). После того как я отправлю этот вопрос, я попытаюсь отсоединить / снова подключить сетевой кабель и выйти из системы, чтобы посмотреть, поможет ли какая-либо из них; Я вернусь и отредактирую этот параграф соответственно. Обновление: я отключил и снова подключил сетевой кабель, затем перезапустил Finder. Chrome снова работает, и все остальные симптомы, похоже, также устранены! Это, конечно, уменьшает боль, когда возникает эта проблема, но я все равно очень хотел бы понять и предотвратить первопричину.

Ничто из того, что я вижу в Терминале, не имеет проблемы

Last login: Mon Nov 13 13:21:18 on ttys000
jrobb@oke-jrobb-mb: ~ % pwd
/Users/jrobb
jrobb@oke-jrobb-mb: ~ % cd /var/empty
jrobb@oke-jrobb-mb: /var/empty % ls -la
total 24
drwxr-xr-x   8 jrobb  staff   256B Oct 20 16:32 ./
drwxr-xr-x  27 root   wheel   864B Oct 20 14:49 ../
-rw-r--r--@  1 root   staff    10K Oct 20 16:32 .DS_Store
drwx------   2 root   staff    64B Oct 14 05:52 .ssh/
drwx------   4 root   staff   128B Oct  9 13:22 Desktop/
drwx------   3 root   staff    96B Sep 25 15:46 Documents/
drwx------   3 root   staff    96B Sep 25 15:46 Downloads/
drwx------+ 28 root   staff   896B Nov 13 13:37 Library/
jrobb@oke-jrobb-mb: /var/empty % whoami
jrobb
jrobb@oke-jrobb-mb: /var/empty % echo $HOME
/Users/jrobb
jrobb@oke-jrobb-mb: /var/empty % 

Встроенное ведение журнала High Sierra делает Console.app кошмаром для просмотра, но, тем не менее, я потратил много времени на поиск соответствующих сообщений. Я обнаружил несколько ошибок, вызванных этой проблемой, но ни одной из них не было . Я подозреваю, что это вызвано тем фактом, что вы не можете прокрутить бесконечный поток всех сообщений из всех подсистем обратно раньше, чем когда вы открывали консоль, и также нет очевидного способа поиска более одного файла за раз, если только Вы хотите искать вышеупомянутый поток только для пересылки. У меня не было консоли, когда все шло на юг, так что, думаю, мне не повезло? (Я очень ценю любую помощь / совет здесь.)

Я видел ряд других случаев, когда люди сталкивались с такой же проблемой, начиная с 2014 года (10,9 Маверикс). Вот некоторые ссылки на других людей, испытывающих те же или связанные проблемы, для которых не существует удовлетворительного решения:

  • https://www.jamf.com/jamf-nation/discussions/22851/active-directory-user-home-directory-set-to-var-empty
    • По крайней мере, один пользователь Jamf нашел решение там (флажок «Требовать подтверждение перед созданием мобильной учетной записи» в «Утилите каталогов» был установлен, и пользователь нажал «Нет» в диалоговом окне подтверждения). Эти флажки установлены в моей системе, но я никогда не видел (и не отклонял) такой диалог подтверждения, поэтому я не думаю, что это так. Тем не менее, это не общая машина, и поэтому эти поля теперь не отмечены.
  • https://arstechnica.com/civis/viewtopic.php?f=19&t=1239175
    • На эту ветку никогда не было никаких ответов, поэтому я рискнул и спросил этого пользователя, нашли ли они когда-нибудь проблему. Ответа пока нет.
  • /superuser/721623/could-not-create-directory-var-empty-ssh

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

  • символическая ссылка /var/emptyна правильный домашний каталог
  • chown _user_ /var/empty
  • и так далее

Контекст

Я использую iMac в конце 2013 года (Core i7 3,9 ГГц, 32 ГБ ОЗУ, 1 ТБ SSD) под управлением High Sierra (всегда последняя исправленная версия; она началась с 10.13.0 и теперь влияет на 10.13.1). Это устройство, управляемое Jamf, и я аутентифицируюсь в домене Active Directory. Мой профиль в предварительной панели «Пользователи и группы» помечен как «Администратор, Управляемый, Мобильный».

Мы начали использовать Jamf, где я работаю сразу после перехода на High Sierra, так что это может быть проблема Jamf или High Sierra (или вообще что-то еще).

Есть множество других пользователей Mac, множество других пользователей High Sierra и множество других пользователей Jamf; Насколько мне известно, другие пользователи не сталкивались с этой проблемой. Я единственный пользователь iMac - все остальные Mac здесь ноутбуки. (Я изо всех сил пытаюсь представить, что мой iMac - проблема - просто быть тщательным.)

Эта проблема начинает происходить в середине пользовательского сеанса. Все хорошо, пока вдруг это не так. Таким образом, я не думаю, что это имеет какое-либо отношение к входу в систему или Active Directory.

Что я ищу

Я ищу ответ, который в первую очередь не позволяет macOS войти в это состояние, и, надеюсь, объясняет, когда и как это происходит.

JakeRobb
источник
1
Спасибо за подробную информацию о вашей среде, это облегчает понимание сложности здесь.
nohillside
Сказав это: вы убедились, что «все» выглядит хорошо на стороне Jamf (т.е. сравниваете свой профиль с профилем другого пользователя)? Что произойдет, если другой пользователь (с профилем jamf) какое-то время использует ваш iMac?
nohillside
@patrix Я продолжу исследовать и отредактирую, как только более подробная информация станет доступной на стороне Jamf. У меня нет доступа к нашим админским материалам Jamf, и мне приходится работать через нашего системного администратора, который является новичком в Jamf и менее опытным в Mac, чем я.
JakeRobb
Я только что виделся с нашим системным администратором в течение нескольких минут, и мы просмотрели мой профиль Jamf. Ничего не выпрыгивает, но он собирается провести дальнейшие исследования.
JakeRobb
3
Интересно, что отключение / повторное подключение моего кабеля Ethernet и перезапуск Finder устранили все симптомы и восстановили нормальное поведение. Weird! Я обновил вопрос, чтобы отразить это.
JakeRobb

Ответы:

5

Откройте ошибку с Apple на этом. У меня есть открытое дело, но они должны услышать больше людей по этому вопросу. Я вижу это в редких случаях, но только на моем компьютере, подключенном к Active Directory с моей управляемой мобильной учетной записью (так что я предполагаю, что это просто еще одна из многих ошибок AD в 10.13, которые остаются не исправленными).

Я обнаружил, что если я генерирую sysdiagnose (чтобы обновить мой случай), проблема исчезает, в то время как sysdiagnose также генерирует.

Но я ничего не могу заставить случиться, поэтому я не знаю, что вызывает это.

мазер
источник
1
Благодарность! Я никогда не сообщал об ошибке в Apple; не уверен, как это сделать. Нужно ли регистрироваться как разработчик? (Я разработчик, который использует Mac, но я делаю веб-приложения.)
JakeRobb
1
Я должен погуглить вещи, прежде чем спрашивать. :) developer.apple.com/bug-reporting Учитывая, что у меня нет шагов для воспроизведения, я не надеюсь. Но я отправлю кое-что.
JakeRobb
2
Да, пожалуйста, отправьте что-нибудь, даже если вы не можете воспроизвести это. Мне неоднократно говорили, что внимание привлекает количество сообщений об ошибках по проблеме. Я могу открыть ошибку и сказать: «У 8000 компьютеров Mac есть эта проблема», но это не привлекает такого же внимания, как 8000 отчетов об ошибках по той же проблеме.
мазер
3

Долгосрочный ответ заключается в том, чтобы не связывать Mac с AD и получить инструмент для свободного объединения пользовательских разрешений и использования Kerberos для аутентификации.

  • Apple Enterprise Connect - вы платите за участие в профессиональных услугах, чтобы найти / настроить и задокументировать решение для вашей среды. https://www.apple.com/support/professional/
  • NoMAD и / или NoMAD Pro - https://nomad.menu - инструменты с открытым исходным кодом с платной поддержкой и консультационными опциями, а также от поставщика.

Связывание является болезненным, и эта боль усиливается, чем дольше вы позволяете ей гноиться и сжиматься. Ваш вопрос твердый, и я надеюсь, что у кого-то есть быстрое решение для вас, но я видел, как несколько организаций уходят (или убегают) от привязки, как только они запускают NoMAD и соглашаются на AEC или NoMAD в масштабе. Наличие JAMF Pro действительно поможет вам развернуть любой инструмент.

bmike
источник
Есть ли у вас конкретные основания полагать, что проблема связана с привязкой AD? Я слышал много ужасных историй, но я не склонен просто принять это как причину без доказательств.
JakeRobb
Только мой опыт управления многими macs @JakeRobb - у вас может быть один случай повреждения и вам нужно стереть ОС - снова создать учетные записи пользователей и затем восстановить ваши данные. Трудно понять без рук на машине.
bmike
3

Я нашел следующее, чтобы «исправить» проблему.

  1. Откройте Системные настройки> Пользователи и группы
  2. Разблокировать панель
  3. Щелкните правой кнопкой мыши на действующей учетной записи пользователя> Дополнительные параметры ...
  4. Рядом с Домашним каталогом: нажмите Выбрать ...
  5. Нажмите Открыть
  6. Нажмите ОК

Кажется, это переписало путь к домашнему каталогу и позволило вернуться к функциональности.

В моем случае выход из системы и возвращение к ней приводили к черному экрану с курсором - хотя после мягкой перезагрузки, способной войти в систему, длинная полоса прогресса затем все возвращалось к норме.

Надеюсь это поможет! Удачи!

SenSachen
источник
1
Это полезно, но не отвечает на фактически заданный мной вопрос. Спасибо хоть! :)
JakeRobb
2

Ребята, вы отображаете UID для разных атрибутов? В прошлом, когда я видел это в OS X / MacOS, это происходило потому, что мы сопоставляли UID внутреннему универсальному идентификатору (он был таким же в UNIX и AD), и он пытался выполнить этот перевод. Пользователи потеряли права доступа к своим домашним каталогам и показали симптомы, которые вы видите в Finder и т. Д.

В утилите каталогов вы можете увидеть «UID атрибута карты:» на вкладке «Сопоставления» в Active Directory.

Кирк
источник
Ни один из трех флажков сопоставлений не установлен в моей системе.
JakeRobb
1

Это происходит с моим рабочим компьютером (подключенным AD) всякий раз, когда требуется обновить Chrome, и я закрываю и перезапускаю приложение. Я предполагаю, что это какая-то проблема с программой обновления (которая в основном молчит), пытающейся переписать в каталог пользователя, когда uids и тому подобное не управляются локально.

Для меня работало просто сбросить все интернет-соединения; например, отключите Ethernet и выключите WiFi

Галуа
источник
Интересная теория! FWIW, это не случилось со мной снова, так как я разместил этот вопрос почти год назад, и я определенно обновлял Chrome не раз за этот период.
JakeRobb
0

FWIW, это не проблема Chrome. Когда эта проблема возникает, она влияет и на другие приложения. Не предлагать это как исправление, но если вы будете следовать URL-адресу Jamf Nation, вы увидите мой пост внизу ветки. Мы управляем довольно большой средой Mac. У нас есть политика отмены привязки Mac из Active Directory, а другая - привязки Mac к Active Directory. По какой-то странной причине отмена привязки, а затем повторная привязка, похоже, «решают» проблему. Я поместил «исправить» в кавычки, потому что это не что иное, как град Мэри, которая, вероятно, не имеет ничего общего с проблемой корня вообще. ¯ \ _ (ツ) _ / ¯

donmontalvo
источник
Обратите внимание, что мой вопрос не представляет проблему Chrome. Chrome только что стал первым приложением, которое стало жертвой этой проблемы за те немногие случаи, когда это происходило со мной. Но спасибо за дополнительный контекст!
JakeRobb
Понял, мои извинения мой пост подразумевал, что. Открытие билета с поддержкой Apple Enterprise сегодня.
donmontalvo