22 votes

Pourquoi High Sierra oublie-t-il où se trouve mon répertoire personnel ?

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 (car c'est quelque chose que je fais très fréquemment) 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 fait apparaître cette boîte de dialogue d'erreur, après quoi Chrome ne démarre plus :

Screenshot of dialog: "Google Chrome cannot read and write to its data directory: /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), une boîte de dialogue m'indique qu'elle doit réparer mon répertoire personnel et me demande de m'authentifier. La saisie de mon mot de passe entraîne /var/empty/Library (ce qui est mauvais à long terme, mais permet à certaines choses de commencer à fonctionner).
    • Screenshot of dialog: "macOS needs to repair your Library to run applications."
  • Safari ne s'ouvre tout simplement pas lorsqu'on le clique - il apparaît brièvement dans le dock puis disparaît, sans boîte de dialogue de rapport d'incident (bien que je ne puisse pas dire si le système, dans cet état, est conscient de ma préférence pour l'affichage de 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 dialogue d'erreur que précédemment, illustré 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 peuvent maintenant le faire, et beaucoup d'entre elles ont oublié mes paramètres :
    • Safari (que j'utilise actuellement pour rédiger cette question tout en effectuant des recherches)
    • BBEdit
    • Pixelmator
    • Notes
  • Certaines applications ne semblent pas être affectées, quelles que soient les autorisations de la bibliothèque :
    • Console
    • Préférences du système
    • Accès au trousseau de clés
  • Je ne peux pas faire de captures d'écran à moins d'utiliser Grab ou de maintenir la touche Contrôle enfoncée pour écrire la capture d'écran dans le presse-papiers (parce qu'il n'a pas accès en écriture à la fonction /var/empty/Desktop qui est correctement détenu par Root).
  • Dans les boîtes de dialogue Ouvrir et Enregistrer, mon répertoire personnel n'apparaît pas 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 au lieu de mon habituel (Classic pointé sur un répertoire de photos que j'ai sélectionné).
  • Le terminal utilise les paramètres par défaut pour la couleur/la police/etc au lieu de mes paramètres personnalisés.

D'autres choses semblent fonctionner correctement :

  • La machine à remonter le temps
  • Spotlight
  • Coins chauds

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

La recherche

Les recherches semblent indiquer que MacOS n'est pas Je pense que mon répertoire personnel est /var/empty mais plutôt que il ne sait pas que je ont un répertoire personnel et il y a une logique de repli quelque part qui fait que le système utilise /var/empty pour tout utilisateur qui n'a pas de répertoire personnel. (Source : Est-il possible de créer un utilisateur sans répertoire de base ? )

D'autres recherches indiquent que /var/empty existe comme une "prison de sécurité" pour les utilisateurs qui ne devraient pas avoir accès à quoi que ce soit (c'est pourquoi il est mauvais de changer les permissions ou de faire un lien symbolique ailleurs). (Source : https://serverfault.com/questions/116632/what-is-var-empty-and-why-is-this-directory-used-by-sshd )

Si l'on se base sur les occurrences passées, le redémarrage résout le problème (jusqu'à la prochaine fois qu'il se produit). Une fois que j'aurai 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 ou l'autre de ces actions peut aider. 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 avoir été résolus également ! Cela réduit certainement la douleur lorsque ce problème se produit, mais j'aimerais encore beaucoup comprendre et prévenir la cause première.

Rien de ce que je peux voir à partir du 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é par le problème, mais aucune qui 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 jusqu'au moment où vous avez ouvert Console, et il n'y a pas non plus de moyen apparent de rechercher plus d'un fichier à la fois, à moins que vous ne vouliez rechercher le flux vers l'avant mentionné ci-dessus. Je n'avais pas Console en marche quand les choses ont mal tourné, 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, en remontant jusqu'en 2014 (10.9 Mavericks). Voici quelques liens vers d'autres personnes rencontrant le même problème ou des problèmes connexes, pour lesquels aucune solution satisfaisante ne se présente :

Il semble que, pour ceux qui ont des "solutions", il s'agit en fait de pansements qui exposent des failles de sécurité importantes :

  • lien symbolique /var/empty dans le bon répertoire personnel
  • chown _user_ /var/empty
  • et ainsi de suite

Le contexte

J'utilise un iMac de la fin 2013 (Core i7 3,9 GHz, 32 Go de RAM, 1 To SSD) sous High Sierra (toujours la dernière version corrigée ; cela a commencé avec la 10.13.0 et touche maintenant la 10.13.1). Il s'agit d'un appareil géré par Jamf et je m'authentifie auprès d'un domaine Active Directory. Mon profil dans le préfanier Utilisateurs et groupes est intitulé "Admin, Managed, Mobile".

Nous avons commencé à utiliser Jamf dans mon entreprise juste après avoir effectué la mise à niveau vers High Sierra. Il peut donc s'agir d'un problème lié à Jamf ou à High Sierra (ou à tout autre problème).

Il y a 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 Macs ici sont des ordinateurs portables. (J'ai du mal à imaginer que mon iMac soit le problème -- je suis juste minutieux).

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

Ce que je recherche

Je cherche une réponse qui empêche MacOS de se mettre dans cet état en premier lieu et qui, je l'espère, explique quand et comment cela se produit.

5voto

maser Points 51

Ouvrez un bogue avec Apple à ce sujet. J'ai un cas ouvert, mais ils ont besoin d'entendre plus de gens à ce sujet. Je vois cela en de rares occasions, mais seulement sur mon ordinateur connecté à Active Directory avec mon compte géré et mobile (donc je suppose que c'est juste un autre des nombreux bugs AD dans 10.13 qui ne sont pas corrigés).

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

Mais je ne peux pas forcer les choses, donc je ne sais pas ce qui cause cela.

3voto

Oskar Points 1242

La solution à long terme est de ne lier aucun Mac à AD et d'utiliser un outil pour coupler de manière lâche les autorisations des utilisateurs et tirer parti de Kerberos pour l'authentification.

  • 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 - des outils open source avec des options payantes d'assistance et de conseil également proposées par le fournisseur.

L'attachement est douloureux, et cette douleur augmente au fur et à mesure que vous le laissez s'envenimer et se contracter. 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 ont piloté NoMAD et se sont engagées dans AEC ou NoMAD à l'échelle. La mise en place de JAMF Pro vous aidera vraiment à déployer l'un ou l'autre de ces outils.

3voto

SenSachen Points 31

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

  1. Ouvrez Préférences Système > Utilisateurs et groupes
  2. Déverrouiller le volet
  3. Cliquez avec le bouton droit de la souris sur le compte utilisateur concerné > Options avancées...
  4. À côté de Répertoire de base : 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 de la fonctionnalité.

Dans mon cas, la déconnexion et la reconnexion ont donné lieu à un écran noir avec un curseur - mais après un redémarrage progressif, j'ai pu me reconnecter, avec une longue barre de progression, puis tout est revenu à la normale.

J'espère que cela vous aidera ! Bonne chance !

2voto

Kirk Points 21

Faites-vous correspondre les UID à différents attributs ? Dans le passé, lorsque j'ai vu ce problème dans OS X / MacOS, c'était parce que nous mappions les UID à un ID universel en interne (c'était le même pour UNIX et AD) et cela a dégénéré lorsque nous avons essayé de faire cette traduction. Les utilisateurs perdaient les droits sur leurs répertoires personnels et présentaient les symptômes que vous observez dans le Finder, etc.

Dans Directory Utility, vous pouvez voir "Map UID to attribute :" dans l'onglet Mappings sous Active Directory.

1voto

Daniel Points 11

Cela se produit sur mon ordinateur professionnel (AD ci-joint) chaque fois que Chrome doit être mis à jour et que je quitte et redémarre l'application. Je suppose qu'il s'agit d'une sorte de problème avec le dispositif de mise à jour (qui est essentiellement silencieux) qui tente de réécrire dans le répertoire de l'utilisateur lorsque les identifiants et autres ne sont pas gérés localement.

Ce qui a fonctionné pour moi, c'est simplement de réinitialiser toutes les connexions Internet, par exemple en débranchant le câble Ethernet et en désactivant le WiFi.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X