6 votes

Tu n'existes pas, va-t'en!

De temps en temps (3 fois au cours des quatre dernières semaines), je n'existe pas. Le message dans le titre de cette question est ma réponse lorsque j'essaie d'exécuter ssh en n'existant pas. De plus, lorsque je n'existe pas, si j'exécute id, il affiche mon uid et non mon nom d'utilisateur comme il le fait normalement. Et je ne peux pas utiliser sudo :

; sudo date
sudo : uid inconnu : 13799

À chaque fois, le problème disparaît spontanément dans l'heure, et je réapparais. Heureusement, j'ai toujours une fenêtre de terminal avec un shell root dedans, donc je peux quand même fouiller dans le système. Et je ne vois rien d'anormal, du moins rien que je puisse comprendre, sauf peut-être ces lignes dans /var/log/opendirectoryd.log :

2012-02-27 07:31:39.911 CET - 70535.351417.351419.351421 - Client : netstat, UID : 0, EUID : 0, GID : 0, EGID : 0
2012-02-27 07:31:39.911 CET - 70535.351417.351419.351421, Node : /Local/Default, Module : PlistFile - recordtype 'networks' attribute 'address' is not indexed : performance hit
2012-02-27 07:31:40.904 CET - 70539.351444.351448 - Client : launchd, UID : 13799, EUID : 13799, GID : 20, EGID : 20
2012-02-27 07:31:40.904 CET - 70539.351444.351448, Module : SystemCache - unable to find node 71E63E19-F41E-4AF3-89A0-F50FE5185E5B
2012-02-27 07:31:40.905 CET - 70539.351444.351448 - Client : launchd, UID : 13799, EUID : 13799, GID : 20, EGID : 20
2012-02-27 07:31:40.905 CET - 70539.351444.351448, Module : SystemCache - ODQueryCreateWithNode failed with error 'Node ID is invalid' (90001)

Voici ce matin, lorsque j'ai allumé l'ordinateur portable (j'ai utilisé odutil pour augmenter un peu le niveau de journalisation). J'ai fouillé avec dscl, et tout semble normal - je peux voir toutes les données sur mon propre utilisateur - mais je ne suis pas très familier avec les services de répertoire, donc j'ai peut-être manqué quelque chose. (Comment puis-je me rechercher par uid en utilisant dscl ?)

Ma question est donc double : Ce problème vous dit-il quelque chose ? Ma recherche sur Google ne donne rien de pertinent. Et pouvez-vous suggérer des choses à essayer pour mieux comprendre le problème, des tests à effectuer, des choses à rechercher ?

Pendant que je rédigeais cette question, l'événement d'aujourd'hui s'est terminé, et je réexiste. Il se peut donc qu'il se passe une semaine ou plus avant ma prochaine chance de déboguer cela. Je suis sous OS X 10.7.3, au fait, sur un MacBook Pro.

2voto

Philzen Points 111

Cela me dit quelque chose, car j'ai rencontré des problèmes similaires sur divers systèmes allant de la version 10.3 à la version 10.6. Voici quelques causes que j'ai observées, sans ordre particulier.

  • Adresses incorrectes des serveurs DNS dans la configuration réseau
  • Serveur LDAP incorrect ou alias de serveur (si la machine fait partie d'un réseau LDAP ou OpenDirectory)
  • Modules PAM défectueux (si vous avez installé des logiciels tiers qui utilisent PAM ou s'installent dans /etc/pam.d)
  • Mélange de comptes locaux/BSD avec des comptes LDAP/OpenDirectory. Cela peut se produire si des comptes ont été migrés à plusieurs reprises à travers de nombreuses versions.
  • GUID de compte désynchronisés suite à une migration ou à une autre corruption de la base de données OpenDirectory.
  • Notez qu'il peut s'écouler jusqu'à une minute après le réveil de la machine ou la fin du démarrage avant que le système d'authentification soit pleinement opérationnel. Des problèmes de connectivité réseau peuvent considérablement retarder cela, en particulier si le système fait partie d'un réseau LDAP/OpenDirectory.

Comme vous avez migré des comptes, essayez de configurer un nouveau compte et voyez si le problème se produit. Il est peut-être possible de résoudre le problème en examinant la base de données OpenDirectory, mais il pourrait être plus facile de recréer le compte problématique à partir de zéro.

Mise à jour

Étant donné que l'UID a été modifié à un moment donné dans le passé pour des raisons NFS, il est probable que le GUID et l'UID soient désynchronisés. Essayez les commandes Terminal suivantes pour voir si Unix et les Services de répertoires sont sur la même longueur d'onde :

dscl . -read /Users/sbnoble GeneratedUID
dscl . -read /Users/sbnoble UniqueID
id

La sortie UID de "UniqueID" et "id" devrait correspondre l'une à l'autre et à l'UID NFS que vous attendez.

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