Коли я відкриваю термінал, я отримую підказку "Я не маю імені!"


39

Раптом сьогодні вранці я відкриваю вікно терміналу і отримую таке:

I have no name!@macbook:~$ whoami
502

** Я не число! Я людина! **

Що дає? Хтось знає, що мені потрібно зробити, щоб повернути своє ім’я?

Я припускаю, що тут є дві проблеми, одна полягає в тому, що моє ім'я хоста не визначено, а інша полягає в тому, що whoami повідомляє про моє ім’я як число.


2
BTW - для тих, хто цікавиться, я вийшов (команда-shift-Q), і після входу в систему та перезавантаження терміналу проблеми вже немає! Ще цікавить, що це могло спричинити це, якщо не з іншої причини, ніж просунути стан мого McKnowledge.
ipd

Ви запитуєте, чому ім'я хоста комп'ютера відображається у підказці, або ви запитуєте, чому комп'ютер названий "У мене немає імені!"?
Кріс Пейдж

Я запитую, чому раптом у моєму башті підказки відображається "У мене немає імені!" а не ім'я хоста. Можливо, це просто збіг обставин, який whoamiтакож повідомляє мій номер, а не моє ім’я.
ipd

1
Що робити hostnameі id -pповертати?
CajunLuke

моя система повернулася до норми. Хороша пропозиція, хоча, якщо це повториться, я перевірю їх обох!
ipd

Відповіді:


24

Щось у пам’яті пошкодилось, а зіставлення між вашим userID (502) та вашим ім'ям користувача (ipd) втрачено. Я бачив, як це відбувається (як правило, коли я вручну вбивав вивішені системні процеси), хоча я не впевнений, що саме це викликає. launchdможливо?

Оскільки це зіставлення втрачено, whoamiне можна перетворити ваш ідентифікатор у ім’я користувача, тому повертає ідентифікатор, а ваші підказки за замовчуванням вказуватимуть "Я не маю імені!" повідомлення, оскільки ви фактично не маєте імені.

Вихід із системи та повернення в них можуть виправитись, але найкращий спосіб (як ви виявили) - перезапуск.

В основному, це симптом іншої проблеми, а не проблема сама по собі.


1
Я б хотів, щоб я міг пояснити, як це картографування втрачається, але я ніколи не копався досить глибоко, щоб зрозуміти це.
Бобсон

Це щойно трапилося зі мною. Я вбив launchd, і я був зараз 501, що заважало мені використовувати sudo. Я досі не знаю, чи launchdперезавантажиться він, або що ще не матиме його запуск.
Бобсон

Наскільки це варте, я щойно зіткнувся з цим на машині Linux, тому я б здогадався, що першопричиною є щось у башті. strings /bin/bash | grep "I have"
Цифрова травма

Це також трапляється на пісочницях, де звичайно не бути віамі чи навіть його залежностей, спробуйте which whoamiпобачити, де це, у моєму випадку я зробив, ldd /usr/bin/whoamiщоб знайти залежності, подивіться, чи є вони у вас і чи вони пошкоджені.
RomuloPBenedetti

11

Я бачу, що це стара нитка, але ось вирішення цієї проблеми (без перезавантаження всього комп’ютера).

Проблема полягає в opendirectorydдемоні, а найдавніші звіти датуються початком 2011 року. Перезапуск демона (перемикання користувачів на адміністратора за допомогою швидкої комутації користувачів) усуває проблему.

Під час написання цієї відповіді, я знайшов таке запитання в Serverfault тут , який також покриває моя відповідь.


Це не спрацювало для мене. Мої симптоми, мабуть, трохи відрізняються. У мене відкрито ряд вікон терміналів, і кожне існуюче вікно терміналу втратило відображення свого імені користувача, але, схоже, у кожному новому вікні це буде без проблем. Вбивство (він же перезапуск) opendirectoryd не допомогло. У «відбулися» терміналів, я також відсутній відображення групи для com.apple.sharepoint.group.2і access_bpf, але не груп , перерахованих в /etc/group. Мені здається, що старі термінальні процеси (і хто знає, що ще) втратили доступ до opendirectoryd, не те, що сам opendirectoryd вийшов з ладу.
ghoti

3

Це трапляється зі мною випадково, коли я поновлюсь із режиму очікування (тобто відкриваю ноутбук). Вихід із системи або перезавантаження - це єдиний спосіб для цього виправити. Я не знаю точно, що це викликає. Коли я друкую, це відбувається зараз. Як запитав коментар у первісному дописі, я побіг, id -pі він розбився. (Звіт про збої: http://pastebin.com/nmFFQELq )

Команди консолі:

whoami - повертає 501

id -p - збої

cat /etc/passwd - мого користувача немає в документі.

Будь-яка ssh спроба не вдається з помилкою:

Тебе не існує, йди геть!

Я також перевірив консоль, від прокидання з'являється купа випадкових помилок "Сокет не підключений" (що, на мою думку, може бути нормальним, оскільки бездротовий зв’язок не підключається відразу) з таких програм, як Dropbox. Цікава помилка з'являється, хоча:

4/12/12 8: 37: 09.045 PM coreservicesd: _scserver_ServerCheckin: помилка перевірки ідентифікації ідентифікації клієнта; getpwuid (501) == NULL

4/12/12 8: 37: 09.400 PM coreservicesd: _scserver_ServerCheckin: помилка перевірки ідентифікації ідентифікатора клієнта; getpwuid (501) == NULL

Ще не впевнений, що це викликає, але думав, що поділюся цією діагностикою.

Я на середині 2009 року MacBook Pro з встановленою 10.7.3.


1

Перевірте, чи дозволи файлу /etc/passwdналаштовані так:

-rwxr--r--

тому що воно читає ім'я користувача з passwdфайлу.


Це було 644, а не 744. Установка на 744 не допомогла.
ejmin

0

Я вирішив проблему, скориставшись iterm => preferences => URL_handler та підключивши whoami до мого імені користувача .. після перезавантаження в iterm проблеми більше не було


0

У мене сьогодні була ця сама проблема, що вражає (Лев 10.7.5), і dscacheutil -flushcacheвиправлено це, як було запропоновано в коментарі в якомусь блозі .


-1

Моя проблема - це дозвіл в архіві passwd. Старий дозвіл - -rw ------- 1 root root 1280 9 червня 15:41 passwd Я використав команду "chmod a + r / etc / passwd" і тепер усі користувачі може прочитати цей архів. -rw-r - r-- 1 корінь root 1280 9 червня 15:41 passwd Вийдіть із користувача та спробуйте. =)


-2

Перейдіть до домашньої папки в Терміналі та запустіть . ~/.bashrc.

Це працює!!


5
Я не думаю, що повторне пошуку .bashrc вирішує проблему тут ...
nohillside
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.