Начальная проблема
Я столкнулся со спорадической проблемой, когда мой Mac, кажется, «забывает», где находится мой домашний каталог.
Первая подсказка (потому что это то, что я делаю очень часто) всегда заключается в том, что Google Chrome не может открыть новую вкладку. Я получаю сообщение об ошибке «О, хватка». Это заставляет меня выйти из Chrome и перезапустить его, что, в свою очередь, приводит к появлению этого диалогового окна с ошибкой, после которого Chrome не запускается:
Другие симптомы
Многие другие вещи, которые требуют знания домашнего каталога, также терпят неудачу:
- Когда я открываю некоторые приложения Apple (например, «Предварительный просмотр», «Заметки», «Сообщения»), у меня появляется диалоговое окно с сообщением о том, что необходимо восстановить домашний каталог, и требует проверки подлинности. Ввод моего пароля здесь приводит
/var/empty/Library
к смене владельца на меня (что плохо в долгосрочной перспективе, но позволяет некоторым вещам начать работать). - 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 войти в это состояние, и, надеюсь, объясняет, когда и как это происходит.