Soudain, ce matin, j'ouvre une fenêtre de terminal et je reçois ceci:
I have no name!@macbook:~$ whoami
502
** Je ne suis pas un nombre! Je suis un être humain! **
Ce qui donne? Quelqu'un sait ce que je dois faire pour retrouver mon nom?
Je suppose qu'il y a deux problèmes ici, l'un est que mon nom d'hôte n'est pas défini, l'autre est que whoami signale mon nom sous forme de numéro.
whoami
signale également mon numéro plutôt que mon nom.hostname
etid -p
reviennent?Réponses:
Un élément de la mémoire a été corrompu et le mappage entre votre ID utilisateur (502) et votre nom d'utilisateur (ipd) a été perdu. Je l'ai vu se produire (généralement lorsque j'ai tué manuellement des processus système bloqués), bien que je ne sois pas sûr de ce qui le cause.
launchd
peut être?Comme ce mappage est perdu,
whoami
vous ne pouvez pas convertir votre ID en un nom d'utilisateur. L'ID est donc renvoyé. Par défaut, votre invite affiche "Je n'ai pas de nom!". message parce que vous n'avez effectivement pas de nom.La déconnexion et le retour peuvent résoudre ce problème, mais le redémarrage est la meilleure solution (comme vous l'avez découvert).
Fondamentalement, c'est un symptôme d'un autre problème, et non un problème en soi.
la source
launchd
, et j'étais maintenant501
, ce qui m'empêchait d'utilisersudo
. Je ne sais toujours pas silaunchd
va redémarrer tout seul, ou quoi d'autre ne pas l'avoir en cours d'exécution va affecter.strings /bin/bash | grep "I have"
which whoami
de voir où il se trouve, dans mon cas je l'ai faitldd /usr/bin/whoami
pour trouver des dépendances, voir si vous les avez et / ou si elles sont endommagées.Je vois que c'est un vieux fil, mais voici la solution à ce problème (sans redémarrer tout l'ordinateur).
Le problème provient du
opendirectoryd
démon et les premiers rapports datent du début de 2011. Le redémarrage du démon (le changement d'utilisateur avec un administrateur via le changement rapide d'utilisateur) résout le problème.En écrivant cette réponse, j'ai trouvé une question similaire dans Serverfault ici , qui couvre également ma réponse.
la source
com.apple.sharepoint.group.2
etaccess_bpf
, mais pas les groupes répertoriés dans/etc/group
. Il me semble que les anciens processus de terminal (et qui sait quoi d'autre) ont perdu l'accès à opendirectoryd, et non qu'opendirectoryd a échoué.Cela m’arrive au hasard lorsque je quitte le mode veille (c’est-à-dire en ouvrant mon ordinateur portable). La déconnexion ou le redémarrage est le seul moyen pour moi de le réparer. Je ne sais pas exactement ce qui le cause. Comme je tape, cela se passe en ce moment. Comme demandé dans le commentaire d'origine, j'ai couru
id -p
et il s'est écrasé. (Rapport d' incident : http://pastebin.com/nmFFQELq )Commandes de la console:
whoami
- renvoie 501id -p
- accidentscat /etc/passwd
- mon utilisateur n'est pas dans le document.Toute tentative ssh échoue avec l'erreur suivante:
J'ai également vérifié la console, au réveil, une série d'erreurs aléatoires "Socket not connected" (Socket non connecté) apparaît (ce qui pourrait être normal, à mon avis, étant donné que le sans fil ne se connecte pas immédiatement) à partir de programmes tels que Dropbox. Une erreur intéressante apparaît cependant:
Toujours pas sûr de ce qui le cause, mais je pensais partager ces diagnostics.
Je suis sur un MacBook Pro mi-2009 avec 10.7.3 installé.
la source
Voir si les permissions du fichier
/etc/passwd
sont configurées comme ceci:car il lit le nom d'utilisateur à partir du
passwd
fichier.la source
J'ai résolu le problème en utilisant iterm => preferences => URL_handler et en connectant whoami à mon nom d'utilisateur .. après le redémarrage sur iterm, le problème n'était plus
la source
J'ai eu ce même problème déconcertant aujourd'hui (Lion 10.7.5) et
dscacheutil -flushcache
je l'ai corrigé pour moi, comme suggéré dans un commentaire sur un blog .la source
Mon problème est la permission dans l'archive passwd, L'ancienne permission est -rw ------- 1 racine racine 1280 9 juin 9 15h41 passwd J'ai utilisé la commande "chmod a + r / etc / passwd" et maintenant tous les utilisateurs peut lire cette archive. -rw-r - r-- 1 racine racine 1280 9 juin 9 15h41 passwd Déconnectez l'utilisateur et essayez. =)
la source
Allez dans le dossier personnel du terminal et lancez
. ~/.bashrc
.Ça marche!!
la source