Qu'est-ce qui fait que High Sierra oublie où se trouve mon répertoire personnel?

22

Le problème initial

J'ai rencontré un problème sporadique où mon Mac semble "oublier" où se trouve mon répertoire personnel.

Le premier indice (parce que c'est quelque chose que je fais très souvent) est toujours que Google Chrome ne peut pas ouvrir un nouvel onglet. J'obtiens l'écran d'erreur "oh snap". Cela m'amène à quitter Chrome et à le redémarrer, ce qui conduit à son tour à cette boîte de dialogue d'erreur, après quoi Chrome ne démarre pas:

Capture d'écran de la boîte de dialogue: "Google Chrome ne peut pas lire et écrire dans son répertoire de données: / var / empty / Library / Application Support / Google / Chrome"

Autres symptômes

Beaucoup d'autres choses qui nécessitent la connaissance du répertoire personnel échouent également:

  • Lorsque j'ouvre certaines applications Apple (par exemple, Aperçu, Notes, Messages), je suis invité à afficher une boîte de dialogue qui indique qu'il doit réparer mon répertoire personnel et me demande de m'authentifier. La saisie de mon mot de passe ici provoque /var/empty/Libraryle changement de propriétaire de moi (ce qui est mauvais à long terme, mais permet à certaines choses de commencer à fonctionner).
    • Capture d'écran de la boîte de dialogue: "macOS doit réparer votre bibliothèque pour exécuter des applications."
  • Safari ne s'ouvre tout simplement pas lorsque vous cliquez dessus - il apparaît brièvement dans le dock puis disparaît, sans boîte de dialogue de rapport de plantage (bien que je ne puisse pas dire si le système dans cet état est conscient de ma préférence pour voir ces boîtes de dialogue).
  • Même après avoir "réparé ma bibliothèque", de nombreuses applications ne peuvent pas s'ouvrir:
    • Aperçu: une boîte de dialogue du Finder apparaît: L'application "Aperçu" ne peut pas être ouverte.
    • Chrome: même boîte de dialogue d'erreur qu'avant, illustrée ci-dessus
    • Remarques: l'icône du dock apparaît puis disparaît.
  • Après avoir réparé ma bibliothèque, certaines applications qui ne pouvaient pas s'ouvrir auparavant le peuvent, et beaucoup d'entre elles ont oublié mes paramètres:
    • Safari (que j'utilise maintenant pour écrire cette question pendant mes recherches)
    • BBEdit
    • Pixelmator
    • Remarques
  • Certaines applications ne semblent pas être affectées quelles que soient les autorisations de la bibliothèque:
    • Console
    • Préférences de système
    • Accès au trousseau
  • Je ne peux pas prendre de captures d'écran à moins d'utiliser Grab ou de maintenir Control pour écrire la capture d'écran dans le presse-papiers (car il n'a pas accès en écriture à /var/empty/Desktop, qui appartient correctement à root).
  • Dans les boîtes de dialogue Ouvrir et Enregistrer, il n'affiche pas mon répertoire personnel dans la barre latérale, ni aucune des destinations courantes (Bureau, Documents, etc.).
  • Lorsque l'économiseur d'écran s'active, le système par défaut (Flurry) apparaît à la place de mon habituel (Classic pointait vers un répertoire de photos que j'ai sélectionné).
  • Le terminal utilise les paramètres par défaut pour la couleur / police / etc au lieu de mes paramètres personnalisés.

D'autres choses semblent bien fonctionner:

  • Machine à remonter le temps
  • Projecteur
  • Coins chauds

Cela s'est produit trois fois jusqu'à présent depuis la mise à niveau de ma machine de travail vers High Sierra quelques jours après sa sortie.

La recherche

La recherche semble indiquer que macOS ne pense que mon répertoire est/var/empty , mais plutôt qu'il ne sait pas que je suis un répertoire personnel , et il y a quelque part logique de repli qui provoque le système à utiliser / var / vide pour tout utilisateur n'a pas de répertoire personnel. (Source: est-il possible de créer un utilisateur sans répertoire personnel? )

Des recherches plus poussées indiquent que / var / empty existe en tant que "prison de sécurité" pour les utilisateurs qui ne devraient avoir accès à rien (c'est pourquoi il est mauvais de modifier les autorisations ou de créer un lien symbolique ailleurs). (Source: /server/116632/what-is-var-empty-and-why-is-this-directory-used-by-sshd )

En fonction des événements passés, le redémarrage résout le problème (jusqu'à la prochaine fois qu'il se produit). Une fois que j'ai soumis cette question, je vais essayer de déconnecter / reconnecter mon câble réseau et de me déconnecter pour voir si l'une de ces aides; Je reviendrai et modifierai ce paragraphe en conséquence. Mise à jour: j'ai déconnecté et reconnecté mon câble réseau, puis redémarré le Finder. Chrome fonctionne à nouveau et tous les autres symptômes semblent également avoir été résolus! Cela réduit certainement la douleur lorsque ce problème se produit, mais j'aimerais toujours beaucoup comprendre et prévenir la cause profonde.

Rien de ce que je peux voir de Terminal ne semble présenter le problème:

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 journalisation intégrée de High Sierra fait de Console.app un cauchemar à parcourir, mais j'ai néanmoins passé beaucoup de temps à rechercher des messages pertinents. J'en ai trouvé plusieurs qui semblent être des erreurs causées par le problème, mais aucune qui ne semble être le problème. Je soupçonne que cela est dû au fait que vous ne pouvez pas faire défiler le flux sans fin de tous les messages de tous les sous-systèmes plus tôt qu'à chaque fois que vous avez ouvert la console, et il n'y a également aucun moyen apparent de rechercher plus d'un fichier à la fois, sauf si vous souhaitez rechercher le flux en avant uniquement mentionné ci-dessus. Je n'avais pas de console en cours d'exécution quand les choses ont tourné au sud, donc je suppose que je n'ai pas de chance? (J'apprécierais beaucoup toute aide / conseil ici.)

J'ai vu un certain nombre d'autres cas où les gens ont le même problème depuis 2014 (10,9 Mavericks). Voici quelques liens vers d'autres personnes rencontrant des problèmes identiques ou connexes, pour lesquels aucune solution satisfaisante ne se présente:

Il semble que, pour ceux qui ont des «solutions», ce sont vraiment des pansements qui exposent des failles de sécurité importantes:

  • lien symbolique /var/emptyvers le répertoire de base correct
  • chown _user_ /var/empty
  • etc

Le contexte

J'utilise un iMac fin 2013 (Core i7 3,9 GHz, 32 Go de RAM, SSD 1 To) exécutant High Sierra (toujours la dernière version corrigée; cela a commencé avec 10.13.0 et affecte désormais 10.13.1). C'est un appareil géré par Jamf, et je m'authentifie auprès d'un domaine Active Directory. Mon profil dans la sous-fenêtre Utilisateurs et groupes est intitulé "Admin, Géré, Mobile".

Nous avons commencé à utiliser Jamf où je travaille juste après ma mise à niveau vers High Sierra, donc cela pourrait être un problème Jamf ou un problème High Sierra (ou, vraiment, n'importe quoi d'autre).

Il existe de nombreux autres utilisateurs de Mac, de nombreux autres utilisateurs de High Sierra et de nombreux autres utilisateurs de Jamf; à ma connaissance, aucun autre utilisateur ne rencontre ce problème. Je suis le seul utilisateur d'iMac - tous les autres Mac ici sont des ordinateurs portables. (J'ai du mal à imaginer que mon iMac est le problème - juste être minutieux.)

Ce problème commence à se produire au milieu d'une session utilisateur. Tout va bien, jusqu'à ce que tout à coup ce ne soit pas le cas. En tant que tel, je ne pense pas que cela ait quoi que ce soit à voir avec la connexion ou Active Directory.

Ce que je cherche

Je cherche une réponse qui empêche macOS d'entrer dans cet état en premier lieu, et j'espère que cela explique quand et comment cela se produit.

JakeRobb
la source
1
Merci pour les détails concernant votre environnement, cela facilite la compréhension de la complexité ici.
nohillside
Cela dit: avez-vous vérifié que "tout" semble bien du côté de Jamf (c'est-à-dire que vous comparez votre profil avec celui d'un autre utilisateur)? Que se passe-t-il si un autre utilisateur (avec un profil jamf) utilise votre iMac pendant un certain temps?
nohillside
@patrix J'examinerai plus en détail et modifierai à mesure que plus de détails seront disponibles du côté de Jamf. Je n'ai pas accès à nos trucs d'administration Jamf et je dois travailler avec notre administrateur système, qui est nouveau sur Jamf et moins expert Mac que moi.
JakeRobb
Je viens de voir avec notre administrateur système pendant quelques minutes et nous avons examiné mon profil Jamf. Rien ne saute aux yeux, mais il va faire d'autres recherches.
JakeRobb
3
Fait intéressant, la déconnexion / reconnexion de mon câble Ethernet plus un redémarrage du Finder ont éliminé tous les symptômes et restauré le comportement normal. Bizarre! J'ai mis à jour la question pour refléter cela.
JakeRobb

Réponses:

5

Ouvrez un bug avec Apple à ce sujet. J'ai un dossier ouvert, mais ils ont besoin d'entendre plus de gens à ce sujet. Je le vois à de rares occasions, mais uniquement sur mon ordinateur connecté à Active Directory avec mon compte mobile géré (donc je suppose que ce n'est qu'un autre des nombreux bogues AD de la version 10.13 qui ne sont pas corrigés.)

Je trouve que si je génère un sysdiagnose (pour mettre à jour mon cas), le problème disparaît pendant que le sysdiagnose est également généré.

Mais, je ne peux rien forcer à arriver, donc je ne sais pas ce qui cause cela.

maser
la source
1
Merci! Je n'ai jamais déposé de bug avec Apple; Vous ne savez pas comment le faire. Dois-je m'inscrire en tant que développeur? (Je suis un développeur qui utilise un Mac, mais je fais des webapps.)
JakeRobb
1
Je devrais google choses avant de demander. :) developer.apple.com/bug-reporting Étant donné que je n'ai pas d'étapes à reproduire, je n'ai pas d'espoir. Mais je vais soumettre quelque chose.
JakeRobb
2
Oui, veuillez soumettre quelque chose même si vous ne pouvez pas le reproduire. On m'a dit à plusieurs reprises que c'est le nombre de rapports de bogues sur un problème qui retient l'attention. Je peux ouvrir un bogue et dire "8000 Mac ici ont ce problème", mais cela n'attire pas la même attention que les rapports de bogues 8000 sur le même problème.
maser
3

La réponse à long terme est de ne lier aucun Mac à AD et d'obtenir un outil pour coupler librement les autorisations utilisateur et tirer parti des kerberos pour s'authentifier.

  • Apple Enterprise Connect - vous payez pour un engagement de services professionnels pour découvrir / configurer et documenter la solution pour votre environnement. https://www.apple.com/support/professional/
  • NoMAD et / ou NoMAD Pro - https://nomad.menu - outils open source avec support payant et options de conseil ainsi que du fournisseur.

La reliure est douloureuse, et cette douleur augmente plus vous la laissez s'envenimer et se resserrer. Votre question est solide et j'espère que quelqu'un a une solution rapide pour vous, mais j'ai vu plusieurs organisations s'éloigner (ou fuir) de la liaison une fois qu'elles pilotent NoMAD et s'engagent à l'échelle AEC ou NoMAD. Avoir JAMF Pro en place vous aidera vraiment à déployer l'un ou l'autre outil.

bmike
la source
Avez-vous des raisons concrètes de croire que le problème est lié à la liaison AD? J'ai entendu de nombreuses histoires d'horreur, mais je suis peu enclin à accepter cela comme la cause sans preuve.
JakeRobb
Seule mon expérience de la gestion de nombreux macs @JakeRobb - Vous pourriez simplement avoir une corruption unique et avoir besoin d'effacer le système d'exploitation - créez à nouveau vos comptes d'utilisateur, puis restaurez vos données. Difficile à savoir sans les mains sur la machine.
bmike
3

J'ai trouvé ce qui suit pour «corriger» le problème.

  1. Ouvrez les Préférences Système> Utilisateurs et Groupes
  2. Déverrouillez le volet
  3. Faites un clic droit sur le compte utilisateur effectué> Options avancées ...
  4. À côté du répertoire personnel: cliquez sur Choisir ...
  5. Cliquez sur Ouvrir
  6. Cliquez sur OK

Cela semble avoir réécrit le chemin du répertoire personnel et permis le retour des fonctionnalités.

Dans mon cas, la déconnexion et la reconnexion ont entraîné un écran noir avec un curseur - bien qu'après un redémarrage en douceur capable de se reconnecter, une longue barre de progression, puis tout était revenu à la normale.

J'espère que cela t'aides! Bonne chance!

SenSachen
la source
1
C'est utile, mais cela ne répond pas à la vraie question que j'ai posée. Merci quand même! :)
JakeRobb
2

Êtes-vous en train de mapper les UID à différents attributs? Dans le passé, lorsque j'ai vu cela sous OS X / MacOS, c'est parce que nous avons mappé les UID à un ID universel en interne (c'était le même sous UNIX et AD) et cela a gâché en essayant de faire cette traduction. Les utilisateurs ont perdu les autorisations sur leurs répertoires personnels et ont montré les symptômes que vous voyez dans le Finder, etc.

Dans l'Utilitaire d'annuaire, vous pouvez voir "Mapper l'UID à l'attribut:" dans l'onglet Mappages sous Active Directory.

Église
la source
Aucune des trois cases à cocher des mappages n'est cochée sur mon système.
JakeRobb
1

Cela se produit sur mon ordinateur de travail (AD connecté) lorsque Chrome doit être mis à jour et que je quitte et redémarre l'application. Je suppose que c'est une sorte de problème avec le programme de mise à jour (qui est essentiellement silencieux) essayant de réécrire dans le répertoire utilisateur lorsque les uids et autres ne sont pas gérés localement.

Ce qui a fonctionné pour moi, c'était simplement de réinitialiser toutes les connexions Internet; par exemple, débranchez Ethernet et désactivez le WiFi

galois
la source
Théorie intéressante! FWIW, cela ne m'est plus arrivé depuis que j'ai posté cette question il y a près d'un an, et j'ai certainement mis à jour Chrome plus d'une fois au cours de cette période.
JakeRobb
0

FWIW, ce n'est pas un problème Chrome. Lorsque ce problème se produit, il affecte également d'autres applications. Pas pour suggérer cela comme un correctif, mais si vous suivez l'URL de Jamf Nation, vous verrez mon message au bas du fil. Nous gérons un environnement Mac assez large. Nous avons une politique pour dissocier un Mac d'Active Directory et une autre pour lier un Mac à Active Directory. Pour une raison étrange, la dissociation puis la reliure semblent «résoudre» le problème. Je mets "fix" entre guillemets car ce n'est rien de plus qu'une grêle marie qui n'a probablement rien à voir avec le problème racine du tout. ¯ \ _ (ツ) _ / ¯

donmontalvo
la source
Notez que ma question ne la présente pas comme un problème Chrome. Chrome vient d'être la première application à être victime du problème le peu de fois où il m'est arrivé. Mais merci pour le contexte supplémentaire!
JakeRobb
Compris, mes excuses mon message impliquait cela. Ouverture d'un ticket avec Apple Enterprise Support aujourd'hui.
donmontalvo