Plötzlich öffne ich heute Morgen ein Terminalfenster und bekomme Folgendes:
I have no name!@macbook:~$ whoami
502
** Ich bin keine Nummer! Ich bin ein Mensch! **
Was gibt? Weiß jemand, was ich tun muss, um meinen Namen zurückzubekommen?
Ich nehme an, dass es hier zwei Probleme gibt, eines ist, dass mein Hostname undefiniert ist, das andere ist, dass whoami meinen Namen als Zahl meldet.
whoami
auch meine Nummer und nicht meinen Namen angibt.hostname
undid -p
zurückkehren?Antworten:
Etwas im Speicher wurde beschädigt und die Zuordnung zwischen Ihrer Benutzer-ID (502) und Ihrem Benutzernamen (ipd) ging verloren. Ich habe es gesehen (normalerweise, wenn ich Systemprozesse manuell beendet habe), obwohl ich nicht genau weiß, was es verursacht.
launchd
vielleicht?Da diese Zuordnung verloren geht,
whoami
kann Ihre ID nicht in einen Benutzernamen konvertiert werden, sodass die ID zurückgegeben wird. Die Standardeinstellung für die Eingabeaufforderung lautet "Ich habe keinen Namen!". Nachricht, weil Sie effektiv keinen Namen haben.Das Abmelden und erneutes Anmelden kann zu Problemen führen, aber wie Sie festgestellt haben, ist ein Neustart der beste Weg.
Grundsätzlich ist es ein Symptom für ein anderes Problem und kein Problem an sich.
quelle
launchd
und war es jetzt501
, was mich am Benutzen hindertesudo
. Ich weiß immer noch nicht, oblaunchd
sich ein Neustart von selbst oder ein anderer Fehler auswirkt.strings /bin/bash | grep "I have"
which whoami
In meinem Fall habe ich versuchtldd /usr/bin/whoami
, Abhängigkeiten zu finden, um festzustellen, ob diese vorhanden und / oder beschädigt sind.Ich sehe, es ist ein alter Thread, aber hier ist die Lösung für dieses Problem (ohne den gesamten Computer neu zu starten).
Das Problem liegt im
opendirectoryd
Daemon vor und die frühesten Berichte stammen aus dem Jahr 2011. Durch einen Neustart des Daemons (Benutzerwechsel mit einem Administrator über Fast User Switching) wird das Problem behoben.Beim Schreiben dieser Antwort habe ich hier im Serverfehler eine ähnliche Frage gefunden , die auch meine Antwort abdeckt.
quelle
com.apple.sharepoint.group.2
undaccess_bpf
, jedoch nicht die in aufgeführten Gruppen/etc/group
. Mir scheint, dass alte Terminalprozesse (und wer weiß was noch) den Zugriff auf opendirectoryd verloren haben, nicht, dass opendirectoryd selbst fehlgeschlagen ist.Das passiert mir zufällig, wenn ich aus dem Standby-Modus zurückkomme (dh meinen Laptop öffne). Ein Abmelden oder Neustarten ist die einzige Möglichkeit, das Problem zu beheben. Ich weiß nicht genau, woran es liegt. Während ich tippe, passiert es gerade. Wie der Kommentar im ursprünglichen Beitrag verlangte, lief ich
id -p
und es stürzte ab. (Absturzbericht: http://pastebin.com/nmFFQELq )Konsolenbefehle:
whoami
- gibt 501 zurückid -p
- stürzt abcat /etc/passwd
- Mein Benutzer befindet sich nicht im Dokument.Jeder SSH-Versuch schlägt mit folgendem Fehler fehl:
Ich habe auch die Konsole überprüft, nachdem ich aufgewacht war, und eine Reihe von zufälligen "Socket not connected" -Fehlern von Programmen wie Dropbox aufgetreten sind (was ich für normal halte, da die drahtlose Verbindung nicht sofort hergestellt werden kann). Ein interessanter Fehler tritt jedoch auf:
Immer noch nicht sicher, was es verursacht, aber ich dachte, ich würde diese Diagnose teilen.
Ich bin auf einem MacBook Pro Mitte 2009 mit 10.7.3 installiert.
quelle
Überprüfen Sie, ob die Berechtigungen der Datei folgendermaßen
/etc/passwd
eingerichtet sind:weil es den Benutzernamen aus der
passwd
Datei liest .quelle
Ich habe das Problem mit iterm => preferences => URL_handler gelöst und whoami mit meinem Benutzernamen verbunden. Nach dem Neustart auf iterm gab es kein Problem mehr
quelle
Ich hatte heute dasselbe verblüffende Problem (Lion 10.7.5) und habe
dscacheutil -flushcache
es für mich behoben, wie in einem Kommentar in einem Blog vorgeschlagen .quelle
Mein Problem ist die Berechtigung im passwd-Archiv. Die alte Berechtigung ist -rw ------- 1 root root 1280 Jun 9 15:41 passwd Ich habe den Befehl "chmod a + r / etc / passwd" verwendet und nun alle Benutzer kann dieses Archiv lesen. -rw-r - r-- 1 root root 1280 9. Juni 15:41 passwd Melden Sie den Benutzer ab und versuchen Sie es. =)
quelle
Gehen Sie in den Home-Ordner im Terminal und führen Sie es aus
. ~/.bashrc
.Es klappt!!
quelle