Co powoduje, że High Sierra zapomina, gdzie jest mój katalog domowy?

22

Początkowy problem

Spotykałem sporadyczny problem polegający na tym, że mój komputer Mac „zapomniał”, gdzie jest mój katalog domowy.

Pierwszą wskazówką (ponieważ robię to bardzo często) jest zawsze to, że Google Chrome nie może otworzyć nowej karty. Pojawia się ekran błędu „oh snap”. To prowadzi mnie do zamknięcia Chrome i ponownego uruchomienia go, co z kolei prowadzi do tego okna dialogowego błędu, po którym Chrome nie uruchamia się:

Zrzut ekranu okna dialogowego: „Google Chrome nie może czytać i zapisywać w swoim katalogu danych: / var / empty / Library / Application Support / Google / Chrome”

Inne objawy

Wiele innych rzeczy, które wymagają znajomości katalogu domowego, również się nie udaje:

  • Kiedy otwieram niektóre aplikacje Apple (np. Podgląd, Notatki, Wiadomości), pojawia się okno dialogowe z informacją, że musi naprawić mój katalog domowy i wymaga uwierzytelnienia. Podanie tutaj mojego hasła powoduje /var/empty/Libraryzmianę właściciela na mnie (co jest złe na dłuższą metę, ale pozwala niektórym rzeczom zacząć działać).
    • Zrzut ekranu okna dialogowego: „MacOS musi naprawić bibliotekę, aby uruchomić aplikacje”.
  • Safari po prostu nie otwiera się po kliknięciu - pojawia się na krótko w doku, a następnie znika, bez okna dialogowego Raportu awarii (chociaż nie mogę powiedzieć, czy system w tym stanie jest świadomy mojej preferencji, aby zobaczyć te okna dialogowe).
  • Nawet po „naprawieniu mojej biblioteki” wiele aplikacji nie może się otworzyć:
    • Podgląd: pojawia się okno dialogowe Findera: Nie można otworzyć aplikacji „Podgląd”.
    • Chrome: takie samo okno dialogowe błędu jak poprzednio, na zdjęciu powyżej
    • Uwagi: ikona stacji dokującej pojawia się, a następnie znika.
  • Po naprawie mojej biblioteki niektóre aplikacje, które nie mogły zostać otwarte wcześniej, mogą wiele z nich zapomnieć o moich ustawieniach:
    • Safari (którego używam teraz do napisania tego pytania podczas badań)
    • BBEdit
    • Pixelmator
    • Notatki
  • Wygląda na to, że niektóre aplikacje pozostają niezmienione niezależnie od uprawnień biblioteki:
    • Konsola
    • Preferencje systemu
    • Dostęp do pęku kluczy
  • Nie mogę robić zrzutów ekranu, chyba że użyję Grab lub przytrzymam Control, aby zapisać zrzut ekranu do schowka (ponieważ nie ma on dostępu do zapisu /var/empty/Desktop, który jest poprawnie własnością roota).
  • W oknach dialogowych Otwórz i Zapisz nie pokazuje mojego katalogu domowego na pasku bocznym ani żadnego z popularnych miejsc docelowych (Pulpit, Dokumenty itp.).
  • Gdy aktywuje się wygaszacz ekranu, zamiast mojego zwykłego pojawia się domyślny system (Flurry) (Classic wskazał na wybrany przeze mnie katalog zdjęć).
  • Terminal używa domyślnych ustawień koloru / czcionki / itp. Zamiast moich niestandardowych ustawień.

Jeszcze inne rzeczy wydają się działać dobrze:

  • Wehikuł czasu
  • Reflektor
  • Hot Corners

Do tej pory zdarzyło się to trzy razy od czasu aktualizacji mojej maszyny do High Sierra kilka dni po jej wydaniu.

Badanie

Badania wskazują, że wydaje się MacOS nie myśleć mój katalog domowy jest/var/empty , ale raczej, że on nie wie, że ja mam katalog domowy , a tam gdzieś jakiś logiczny awaryjna, która powoduje, że system użytkowania / var / opróżniania dla każdego użytkownika, który nie ma katalogu domowego. (Źródło: Czy można utworzyć użytkownika bez katalogu domowego? )

Dalsze badania wskazują, że / var / empty istnieje jako „więzienie bezpieczeństwa” dla użytkowników, którzy nie powinni mieć dostępu do niczego (dlatego źle jest zmieniać uprawnienia lub dowiązać symbolicznie w innym miejscu). (Źródło: /server/116632/what-is-var-empty-and-why-is-this-directory-used-by-sshd )

W oparciu o wcześniejsze zdarzenia ponowne uruchomienie rozwiązuje problem (do następnego razu). Po przesłaniu tego pytania spróbuję odłączyć / ponownie podłączyć kabel sieciowy i wylogować się, aby sprawdzić, czy któraś z nich pomoże; Wrócę i odpowiednio zmodyfikuję ten akapit. Aktualizacja: odłączyłem i ponownie podłączyłem kabel sieciowy, a następnie ponownie uruchomiłem Findera. Chrome działa ponownie, a wszystkie inne objawy również zostały rozwiązane! To z pewnością zmniejsza ból, gdy pojawia się ten problem, ale nadal bardzo chciałbym zrozumieć i zapobiec pierwotnej przyczynie.

Wydaje się, że nic, co nie widzę z terminalu, nie pokazuje problemu:

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 % 

Zintegrowane rejestrowanie w High Sierra sprawia, że ​​Console.app jest koszmarem do przejrzenia, ale mimo to spędziłem dużo czasu na szukaniu odpowiednich wiadomości. Znalazłem kilka, które wydają się być błędami spowodowanymi przez problem, ale żaden z nich nie wydaje się być problemem. Podejrzewam, że jest to spowodowane faktem, że nie można przewinąć nieskończonego strumienia wszystkich wiadomości ze wszystkich podsystemów z powrotem do wcześniejszego momentu, gdy otwierasz konsolę, a także nie ma widocznego sposobu wyszukiwania więcej niż jednego pliku na raz, chyba że chcesz wyszukać wspomniany strumień tylko do przodu. Nie miałem uruchomionej konsoli, kiedy wszystko poszło na południe, więc chyba nie mam szczęścia? (Byłbym bardzo wdzięczny za wszelką pomoc / poradę tutaj.)

Widziałem wiele innych przypadków, w których ludzie mają ten sam problem, sięgający do 2014 roku (10,9 Mavericks). Oto kilka linków do innych osób mających takie same lub powiązane problemy, w przypadku których nie ma zadowalającego rozwiązania:

Wydaje się, że dla tych, którzy mają „rozwiązania”, są one naprawdę opaskami pomocniczymi, które ujawniają znaczne luki w zabezpieczeniach:

  • dowiązanie symboliczne /var/emptydo właściwego katalogu domowego
  • chown _user_ /var/empty
  • i tak dalej

Kontekst

Używam komputera iMac z końca 2013 r. (Core i7 3,9 GHz, 32 GB pamięci RAM, dysk SSD 1 TB) z systemem High Sierra (zawsze najnowszą łataną wersją; zaczęło się to od 10.13.0 i ma teraz wpływ na 10.13.1). To urządzenie zarządzane przez Jamf i uwierzytelniam się w domenie Active Directory. Mój profil w panelu wstępnym Użytkownicy i grupy jest oznaczony etykietą „Administrator, zarządzany, mobilny”.

Zaczęliśmy używać Jamf tam, gdzie pracuję, zaraz po uaktualnieniu do High Sierra, więc może to być problem Jamf lub problem High Sierra (lub, naprawdę, cokolwiek innego).

Istnieje wielu innych użytkowników komputerów Mac, wielu innych użytkowników High Sierra i wielu innych użytkowników Jamf; o ile wiem, żaden inny użytkownik nie ma tego problemu. Jestem jedynym użytkownikiem komputera iMac - wszystkie pozostałe komputery Mac to laptopy. (Trudno mi sobie wyobrazić, że mój iMac jest problemem - po prostu jestem dokładny).

Ten problem zaczyna się pojawiać w trakcie sesji użytkownika. Wszystko jest w porządku, dopóki nagle nie jest inaczej. W związku z tym nie sądzę, aby miało to związek z logowaniem lub usługą Active Directory.

Czego szukam

Szukam odpowiedzi, która przede wszystkim uniemożliwia macOS przejście do tego stanu i mam nadzieję, że wyjaśni, kiedy i jak to się stanie.

JakeRobb
źródło
1
Dzięki za szczegóły dotyczące twojego środowiska, łatwiej jest zrozumieć złożoność tutaj.
nohillside
Powiedziawszy to: Czy sprawdziłeś, że „wszystko” wygląda dobrze po stronie Jamf (tzn. Porównałeś swój profil z profilem innego użytkownika)? Co się stanie, jeśli inny użytkownik (z profilem Jamf) korzysta z twojego komputera iMac przez pewien czas?
nohillside
@patrix Będę badać dalej i edytować, gdy więcej szczegółów będzie dostępnych po stronie Jamf. Nie mam dostępu do naszych administratorów Jamf i muszę pracować przez naszego administratora systemu, który jest nowy w Jamf i jest mniej ekspertem od komputerów Mac niż ja.
JakeRobb
Właśnie widziałem z naszym sysadminem przez kilka minut i przejrzałem mój profil Jamf. Nic nie wyskakuje, ale zamierza przeprowadzić dalsze badania.
JakeRobb
3
Co ciekawe, odłącz / ponownie podłącz mój kabel Ethernet oraz ponowne uruchomienie Findera wyeliminowało wszystkie objawy i przywróciło normalne zachowanie. Dziwne! Zaktualizowałem pytanie, aby to odzwierciedlić.
JakeRobb

Odpowiedzi:

5

Otwórz w tej sprawie błąd z Apple. Mam otwartą sprawę, ale muszą usłyszeć o tym więcej osób. Widzę to rzadko, ale tylko na moim komputerze podłączonym do Active Directory z moim zarządzanym kontem mobilnym (zgaduję, że to tylko jeden z wielu błędów AD w 10.13, które pozostają nierozwiązane).

Zauważyłem, że jeśli wygeneruję sysdiagnose (aby zaktualizować mój przypadek), problem zniknie, gdy sysdiagnose również się generuje.

Ale to nic, co mogę zmusić, aby się wydarzyło, więc nie wiem, co to powoduje.

maser
źródło
1
Dzięki! Nigdy nie zgłosiłem błędu w Apple; nie jestem pewien jak to zrobić. Czy muszę się zarejestrować jako programista? (Jestem
deweloperem,
1
Zanim zapytam, powinienem znaleźć w Google rzeczy. :) developer.apple.com/bug-reporting Biorąc pod uwagę, że nie mam kroków do odtworzenia, nie mam nadziei. Ale coś przedstawię.
JakeRobb,
2
Tak, prześlij coś, nawet jeśli nie możesz go odtworzyć. Wielokrotnie mówiono mi, że to liczba zgłoszeń błędów dotyczących problemu przyciąga uwagę. Mogę otworzyć błąd i powiedzieć „tutaj 8000 komputerów Mac ma ten problem”, ale nie zwraca ono takiej samej uwagi jak 8000 zgłoszeń błędów dotyczących tego samego problemu.
maser
3

Długofalową odpowiedzią jest nie wiązanie żadnego Maca z AD i uzyskanie narzędzia do luźnego powiązania uprawnień użytkownika i wykorzystania Kerberos do uwierzytelnienia.

  • Apple Enterprise Connect - płacisz za profesjonalne usługi w celu odkrycia / skonfigurowania i udokumentowania rozwiązania dla swojego środowiska. https://www.apple.com/support/professional/
  • NoMAD i / lub NoMAD Pro - https://nomad.menu - narzędzia open source z płatnym wsparciem i opcjami konsultacji od dostawcy.

Wiązanie jest bolesne, a ból ten rośnie, im dłużej pozwalasz mu ropieć i zwężać. Twoje pytanie jest solidne i mam nadzieję, że ktoś ma dla ciebie szybką odpowiedź, ale widziałem, jak kilka organizacji odchodzi (lub ucieka) od wiązania, gdy pilotują NoMAD i zobowiązują się do AEC lub NoMAD na dużą skalę. Zainstalowanie JAMF Pro naprawdę pomoże wdrożyć jedno z narzędzi.

bmike
źródło
Czy masz jakiś konkretny powód, by sądzić, że problem jest związany z wiązaniem AD? Słyszałem wiele horrorów, ale nie jestem skłonny zaakceptować tego jako przyczyny bez dowodów.
JakeRobb
Tylko moje doświadczenie w zarządzaniu wieloma Macami @JakeRobb - Być może masz jednorazowe uszkodzenie i musisz wyczyścić system operacyjny - utwórz ponownie konta użytkowników, a następnie przywróć dane. Trudno wiedzieć bez użycia rąk na maszynie.
bmike
3

Znalazłem następujące, aby „naprawić” problem.

  1. Otwórz Preferencje systemowe> Użytkownicy i grupy
  2. Odblokuj okienko
  3. Kliknij prawym przyciskiem myszy konto użytkownika> Opcje zaawansowane ...
  4. Obok katalogu domowego: kliknij Wybierz ...
  5. Kliknij Otwórz
  6. Kliknij OK

Wygląda na to, że przepisano ścieżkę katalogu domowego i zezwoliło na powrót funkcji.

W moim przypadku wylogowanie i powrót spowodowało pojawienie się czarnego ekranu z kursorem - chociaż po miękkim ponownym uruchomieniu komputera, który mógł się zalogować ponownie, długi pasek postępu, wszystko wróciło do normy.

Mam nadzieję że to pomoże! Powodzenia!

SenSachen
źródło
1
Jest to przydatne, ale nie odpowiada na postawione pytanie. W każdym razie dzięki! :)
JakeRobb
2

Czy mapujecie UID na różne atrybuty? W przeszłości, gdy widziałem to w OS X / MacOS, dzieje się tak dlatego, że wewnętrznie mapowaliśmy identyfikatory UID na uniwersalny identyfikator (tak samo było w UNIX i AD) i blokował się przy próbie wykonania tego tłumaczenia. Użytkownicy stracili uprawnienia do swoich katalogów domowych i pokazali objawy, które widzisz w Finderze itp.

W Directory Utility możesz zobaczyć „Mapuj UID do atrybutu:” na karcie Mapowania w Active Directory.

Kościół
źródło
Żadne z trzech pól wyboru mapowania nie jest zaznaczone w moim systemie.
JakeRobb,
1

Dzieje się tak z moim komputerem roboczym (dołączonym AD) za każdym razem, gdy Chrome wymaga aktualizacji, a ja zamykam i ponownie uruchamiam aplikację. Zgaduję, że jest to jakiś problem z aktualizatorem (który jest w zasadzie cichy) próbującym przepisać do katalogu użytkownika, gdy uids i takie nie są lokalnie zarządzane.

Dla mnie zadziałało po prostu zresetowanie wszystkich połączeń internetowych; np. odłącz sieć Ethernet i wyłącz Wi-Fi

Galois
źródło
Ciekawa teoria! FWIW, nie powtórzyło się to od czasu, gdy opublikowałem to pytanie prawie rok temu, i z pewnością zaktualizowałem Chrome więcej niż raz w tym okresie.
JakeRobb
0

FWIW, to nie jest problem z Chrome. Wystąpienie tego problemu wpływa również na inne aplikacje. Nie sugeruję tego jako poprawki, ale jeśli podążasz za adresem URL Jamf Nation, zobaczysz mój post na dole wątku. Zarządzamy dość dużym środowiskiem komputerów Mac. Mamy zasadę, aby usunąć powiązanie komputera Mac z usługą Active Directory, a drugą - powiązanie komputera Mac z usługą Active Directory. Z jakiegoś dziwnego powodu rozpinanie, a następnie wiązanie wydaje się „naprawiać” problem. Umieszczam „poprawkę” w cudzysłowie, ponieważ jest to nic innego jak grad, który prawdopodobnie nie ma nic wspólnego z problemem root. ¯ \ _ (ツ) _ / ¯

donmontalvo
źródło
Pamiętaj, że moje pytanie nie przedstawia go jako problemu z Chrome. Chrome był pierwszą aplikacją, która padła ofiarą tego problemu kilka razy, kiedy mi się to przytrafiło. Ale dzięki za dodatkowy kontekst!
JakeRobb
Zrozumiałam, że moje przeprosiny sugerowały, że mój post. Dzisiaj otwieramy bilet z pomocą Apple Enterprise Support.
donmontalvo