Il problema iniziale
Ho riscontrato un problema sporadico in cui il mio Mac sembra "dimenticare" dove si trova la mia directory home.
Il primo indizio (perché è una cosa che faccio molto spesso) è sempre che Google Chrome non può aprire una nuova scheda. Viene visualizzata la schermata di errore "oh snap". Questo mi porta a chiudere Chrome e a riavviarlo, che a sua volta porta a questa finestra di dialogo di errore, dopo di che Chrome non si avvia:
Altri sintomi
Anche molte altre cose che richiedono la conoscenza della home directory falliscono:
- Quando apro alcune app Apple (ad esempio Anteprima, Note, Messaggi), mi viene richiesto con una finestra di dialogo che dice che deve riparare la mia home directory e mi richiede l'autenticazione. Inserendo qui la mia password
/var/empty/Library
, il proprietario del proprietario viene modificato per me (il che è un problema a lungo termine, ma consente ad alcune cose di iniziare a funzionare). - Safari semplicemente non si apre quando viene cliccato - appare brevemente nel dock e poi scompare, senza finestra di dialogo Crash Report (anche se non posso dire se il sistema in questo stato sia a conoscenza della mia preferenza per vedere quelle finestre).
- Anche dopo "riparare la mia libreria", molte app non possono aprire:
- Anteprima: viene visualizzata una finestra di dialogo Finder: Impossibile aprire l'applicazione "Anteprima".
- Chrome: stessa finestra di dialogo di errore di prima, nella foto sopra
- Note: viene visualizzata l'icona del dock, quindi scompare.
- Dopo aver riparato la mia libreria, alcune app che prima non potevano aprire prima e molti di questi hanno dimenticato le mie impostazioni:
- Safari (che sto usando ora per scrivere questa domanda mentre cerco)
- BBEdit
- Pixelmator
- Gli appunti
- Alcune app sembrano non essere interessate a prescindere dalle autorizzazioni della Libreria:
- consolle
- Preferenze di Sistema
- Accesso portachiavi
- Non posso prendere screenshot se non uso Grab o tieni premuto Control per scrivere lo screenshot negli appunti (perché non ha accesso in scrittura
/var/empty/Desktop
, che è correttamente di proprietà di root). - Nelle finestre di dialogo Apri e Salva, non mostra la mia home directory nella barra laterale, né nessuna delle destinazioni comuni all'interno (Desktop, Documenti, ecc.).
- Quando si attiva lo screen saver, viene visualizzato il valore predefinito di sistema (Flurry) al posto del solito (Classic indica una directory di foto che ho selezionato).
- Il terminale utilizza le impostazioni predefinite per color / font / etc invece delle mie impostazioni personalizzate.
Altre cose sembrano funzionare bene:
- Macchina del tempo
- Riflettore
- Angoli caldi
Questo è successo tre volte finora da quando ho aggiornato la mia macchina da lavoro a High Sierra un paio di giorni dopo il suo rilascio.
La ricerca
La ricerca sembra indicare che MacOS non che la mia home directory è/var/empty
, ma piuttosto che non sapere che io ho una home directory , e c'è un po 'da qualche parte logica di fallback che provoca al sistema di utilizzare / var / vuoto per qualsiasi utente che non ha una home directory. (Fonte: è possibile creare un utente senza una home directory? )
Ulteriori ricerche indicano che / var / empty esiste come "jail di sicurezza" per gli utenti che non dovrebbero avere accesso a nulla (motivo per cui è male modificare le autorizzazioni o collegarlo a un altro link). (Fonte: /server/116632/what-is-var-empty-and-why-is-this-directory-used-by-sshd )
In base alle occorrenze passate, il riavvio risolve il problema (fino alla prossima volta in cui si verifica). Dopo aver inviato questa domanda, proverò a disconnettere / ricollegare il mio cavo di rete e disconnettermi per vedere se uno di questi aiuti; Tornerò e modificherò questo paragrafo di conseguenza. Aggiornamento: ho disconnesso e ricollegato il mio cavo di rete, quindi ho riavviato Finder. Chrome funziona di nuovo e anche tutti gli altri sintomi sembrano essere stati risolti! Questo certamente riduce il dolore quando si verifica questo problema, ma mi piacerebbe molto capire e prevenire la causa principale.
Nulla che io possa vedere dal Terminale sembra mostrare il problema:
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 %
La registrazione integrata di High Sierra rende Console.app un incubo da esaminare, ma ho comunque trascorso molto tempo alla ricerca di messaggi pertinenti. Ho trovato diversi che sembrano essere gli errori causati dal problema, ma nessuno che sembra essere il problema. Ho il sospetto che ciò sia causato dal fatto che non è possibile scorrere il flusso infinito di tutti i messaggi da tutti i sottosistemi a precedenti fino a quando non si è aperta la Console e non esiste alcun modo apparente di cercare più di un file alla volta, a meno che vuoi cercare nel suddetto stream solo forward. Non avevo Console in esecuzione quando le cose andarono a sud, quindi credo di essere sfortunato? (Gradirei molto qualsiasi aiuto / consiglio qui.)
Ho visto numerosi altri casi in cui le persone hanno lo stesso problema, risalendo al 2014 (10.9 Mavericks). Ecco alcuni link ad altre persone con problemi identici o correlati, per i quali nessuna soluzione soddisfacente si presenta:
- https://www.jamf.com/jamf-nation/discussions/22851/active-directory-user-home-directory-set-to-var-empty
- Almeno un utente Jamf ha trovato la soluzione lì (la casella di controllo "Richiedi conferma prima di creare un account mobile" in Directory Utility è stata selezionata e l'utente ha fatto clic su No quando gli è stata presentata la finestra di dialogo di conferma). Quelle caselle di controllo sono selezionate sul mio sistema, ma non ho mai visto (né rifiutato) una finestra di dialogo di conferma, quindi non penso che sia il caso qui. Tuttavia, questa non è una macchina condivisa, quindi quelle caselle ora sono deselezionate.
- https://arstechnica.com/civis/viewtopic.php?f=19&t=1239175
- Non ci sono mai state risposte a questo thread, quindi ho colto l'occasione e ho chiesto a questo utente se hanno mai riscontrato un problema. Nessuna risposta ancora.
- /superuser/721623/could-not-create-directory-var-empty-ssh
Sembra che, per quelli che hanno "soluzioni", sono davvero aiuti di banda che espongono falle di sicurezza significative:
- collegamento simbolico
/var/empty
alla home directory corretta chown _user_ /var/empty
- e così via
Il contesto
Sto usando un iMac di fine 2013 (Core i7 3,9 GHz, 32 GB di RAM, SSD da 1 TB) con High Sierra (sempre l'ultima versione con patch; questa è iniziata con 10.13.0 e ora sta interessando 10.13.1). È un dispositivo gestito da Jamf e eseguo l'autenticazione in un dominio di Active Directory. Il mio profilo nel prefpane Utenti e gruppi è etichettato "Amministratore, Gestito, Mobile".
Abbiamo iniziato a utilizzare Jamf dove lavoro subito dopo aver effettuato l'aggiornamento a High Sierra, quindi questo potrebbe essere un problema di Jamf o un problema di High Sierra (o, in realtà, qualsiasi altra cosa).
Ci sono numerosi altri utenti Mac, numerosi altri utenti High Sierra e numerosi altri utenti Jamf; per quanto ne sappia, nessun altro utente ha riscontrato questo problema. Sono l'unico utente di iMac - tutti gli altri Mac qui sono laptop. (Faccio fatica a immaginare che il mio iMac sia il problema, essendo solo accurato.)
Questo problema inizia a verificarsi nel mezzo di una sessione utente. Va tutto bene, fino a quando all'improvviso non lo è. Pertanto, non penso che abbia nulla a che fare con il login o Active Directory.
Quello che sto cercando
Sto cercando una risposta che impedisca a macOS di entrare in questo stato in primo luogo e, si spera, spiega quando e come succede.