Внезапно этим утром я открываю окно терминала и получаю следующее:
I have no name!@macbook:~$ whoami
502
** Я не номер! Я человек! **
Что дает? Кто-нибудь знает, что мне нужно сделать, чтобы вернуть мое имя?
Я предполагаю, что здесь есть две проблемы, одна из которых заключается в том, что мое имя хоста не определено, а другая в том, что whoami сообщает мое имя как число.
whoami
которое также сообщает мой номер, а не мое имя.hostname
иid -p
вернуть?Ответы:
Что-то в памяти было повреждено, и отображение между вашим userID (502) и вашим именем пользователя (ipd) было потеряно. Я видел, как это происходило (обычно, когда я вручную убивал зависшие системные процессы), хотя я точно не знаю, чем это вызвано.
launchd
может быть?Поскольку это сопоставление потеряно,
whoami
вы не можете преобразовать свой идентификатор в имя пользователя, поэтому возвращает идентификатор, и по умолчанию выдается сообщение «У меня нет имени!» сообщение, потому что у вас фактически нет имени.Выйти из системы и вернуться обратно может исправить, но перезапуск - лучший способ (как вы обнаружили).
По сути, это признак другой проблемы, а не проблема сама по себе.
источник
launchd
, и теперь я был501
, что мешало мне использоватьsudo
. Я до сих пор не знаю,launchd
перезапустится ли сам или что еще не повлияет на работу.strings /bin/bash | grep "I have"
which whoami
посмотреть, где это, в моем случае яldd /usr/bin/whoami
нашел зависимости, проверьте, есть ли они у вас и повреждены ли они.Я вижу, что это старая тема, но вот решение этой проблемы (без перезагрузки всего компьютера).
Проблема в
opendirectoryd
демоне, а самые ранние отчеты датируются началом 2011 года. Перезапуск демона (переключение пользователей с помощью администратора с помощью быстрого переключения пользователей) устраняет проблему.При написании этого ответа я нашел похожий вопрос в Serverfault здесь , который также охватывает мой ответ.
источник
com.apple.sharepoint.group.2
иaccess_bpf
, но не групп, перечисленных в/etc/group
. Мне кажется, что старые терминальные процессы (и кто знает, что еще) потеряли доступ к opendirectoryd, а не к самому opendirectoryd.Это происходит со мной случайным образом, когда я возвращаюсь из режима ожидания (то есть, открывая свой ноутбук). Выход из системы или перезагрузка - единственный способ исправить это. Я не знаю точно, что вызывает это. Как я печатаю, это происходит прямо сейчас. Поскольку комментарий в оригинальном посте спросил, я бежал,
id -p
и это потерпело крах. (Отчет о сбое : http://pastebin.com/nmFFQELq )Консольные команды:
whoami
- возвращает 501id -p
- вылетаетcat /etc/passwd
- моего пользователя нет в документе.Любая попытка ssh завершается с ошибкой:
Я также проверил консоль, после пробуждения появляется куча случайных ошибок «Socket not connected» (которые, я думаю, могут быть нормальными, если беспроводное соединение не подключается немедленно) из таких программ, как Dropbox. Однако появляется интересная ошибка:
До сих пор не уверен, что это вызывает, но подумал, что поделюсь этими диагностиками.
Я нахожусь на MacBook Pro середины 2009 года с установленным 10.7.3.
источник
Посмотрите, установлены ли права доступа к файлу
/etc/passwd
следующим образом:потому что он читает имя пользователя из
passwd
файла.источник
Я решил проблему, используя iterm => preferences => URL_handler и подключив whoami к моему имени пользователя. После перезапуска на iterm проблемы больше не было
источник
У меня сегодня была та же самая проблема, которая ставит в тупик (Лев 10.7.5), и я решил
dscacheutil -flushcache
ее, как это было предложено в комментарии в каком-то блоге .источник
Моя проблема - разрешение в архиве passwd, старое разрешение - -rw ------- 1 root root 1280 9 июня, 15:41 passwd Я использовал команду "chmod a + r / etc / passwd" и теперь все пользователи можете прочитать этот архив. -rw-r - r-- 1 root root 1280 Jun 9 15:41 passwd Выйдите из системы и попробуйте. знак равно
источник
Перейдите в домашнюю папку в терминале и запустите
. ~/.bashrc
.Оно работает!!
источник