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 :
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). - 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 :
-
https://www.jamf.com/jamf-nation/discussions/22851/active-directory-user-home-directory-set-to-var-empty
- Au moins un utilisateur de Jamf y a trouvé la solution (la case "demander une confirmation avant de créer un compte mobile" dans Directory Utility était cochée et l'utilisateur avait cliqué sur Non lorsque la boîte de dialogue de confirmation lui était présentée). Ces cases sont cochées sur mon système, mais je n'ai jamais vu (ni refusé) une telle boîte de dialogue de confirmation, donc je ne pense pas que ce soit le cas ici. Néanmoins, il ne s'agit pas d'une machine partagée, et donc ces cases sont maintenant décochées.
-
https://arstechnica.com/civis/viewtopic.php?f=19&t=1239175
- Il n'y a jamais eu de réponses à ce fil de discussion, alors j'ai pris le risque de demander à cet utilisateur s'il avait déjà rencontré un problème. Pas encore de réponse.
- https://superuser.com/questions/721623/could-not-create-directory-var-empty-ssh
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.