터미널을 열면“이름이 없습니다!”라는 메시지가 나타납니다 whoami 502 ** 나는 숫자가 아니다! 나는 인간이다!

갑자기 오늘 아침에 터미널 창을 열면 다음과 같은 결과가 나타납니다.

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

** 나는 숫자가 아니다! 나는 인간이다! **

무엇을 제공합니까? 내 이름을 되 찾으려면 어떻게해야하는지 아는 사람이 있습니까?

여기에 두 가지 문제가 있다고 가정합니다. 하나는 내 호스트 이름이 정의되지 않았고 다른 하나는 whoami가 내 이름을 숫자로보고한다는 것입니다.



답변

메모리에 문제가있어 사용자 ID (502)와 사용자 이름 (ipd) 간의 매핑이 손실되었습니다. 정확히 무엇이 원인인지 확실하지 않지만 (보통 중단 된 시스템 프로세스를 수동으로 종료했을 때) 발생하는 것을 보았습니다. launchd아마도?

매핑이 손실 whoami되었으므로 ID를 사용자 이름으로 변환 할 수 없으므로 ID를 반환하며 프롬프트의 기본값은 “이름이 없습니다!”입니다. 메시지가 효과적으로 때문에 하지 않는 이름이있다.

로그 아웃했다가 다시 고칠 수 있지만 다시 시작하는 것이 가장 좋습니다 (발견 한대로).

기본적으로 이는 다른 문제의 증상이며 그 자체로는 문제가 아닙니다.


답변

나는 그것이 오래된 스레드 인 것을 보았지만 여기 에이 문제에 대한 해결책이 있습니다 (전체 컴퓨터를 다시 시작하지 않고).

문제는 opendirectoryd데몬에 있으며 2011 년 초부터 가장 빠른 보고서 날짜입니다. 데몬을 다시 시작하면 (고속 사용자 전환을 통해 사용자를 관리자로 전환) 문제가 해결됩니다.

이 답변을 쓰는 ​​동안 Serverfault에서 비슷한 질문을 찾았으며 여기 에서도 내 답변을 다루고 있습니다.


답변

대기 모드에서 다시 시작할 때 (예 : 랩탑 열기) 무작위로 발생합니다. 로그 아웃 또는 재부팅만으로 문제를 해결할 수 있습니다. 원인이 무엇인지 정확히 모르겠습니다. 내가 입력하자마자 지금 일어나고 있습니다. 원래 게시물의 주석이 물었을 때 나는 달려 가서 id -p추락했다. (충돌 보고서 : http://pastebin.com/nmFFQELq )

콘솔 명령 :

whoami — 501을 반환

id -p — 충돌

cat /etc/passwd — 내 사용자가 문서에 없습니다.

모든 ssh 시도는 오류와 함께 실패합니다.

당신은 존재하지 않습니다, 저리가요!

또한 깨어 난 상태에서 콘솔을 확인했는데 Dropbox와 같은 프로그램에서 임의의 “소켓이 연결되지 않았습니다”라는 오류가 발생했습니다 (정상적인 것으로 생각되며 무선으로 즉시 연결되지 않음). 그래도 흥미로운 오류가 나타납니다.

12/12/12 8 : 37 : 09.045 PM coreservicesd : _scserver_ServerCheckin : 클라이언트 uid 유효성 검사 실패; getpwuid (501) == NULL

12/12/12 8 : 37 : 09.400 오후 coreservicesd : _scserver_ServerCheckin : 클라이언트 uid 유효성 검사 실패; getpwuid (501) == NULL

여전히 원인이 무엇인지 확실하지 않지만 이러한 진단을 공유한다고 생각했습니다.

10.7.3이 설치된 2009 년 중반 MacBook Pro에 있습니다.


답변

파일의 권한 /etc/passwd이 다음과 같이 설정되어 있는지 확인하십시오 .

-rwxr--r--

passwd파일 에서 사용자 이름을 읽기 때문 입니다.


답변

iterm => preferences => URL_handler를 사용하고 whoami를 내 사용자 이름에 연결하여 문제를 해결했습니다. iterm에서 다시 시작한 후 문제가 더 이상 없습니다.


답변

나는 오늘 (Lion 10.7.5)이 똑같은 당황스러운 문제를 겪었고 일부 블로그dscacheutil -flushcache 의 의견에서 제안한 것처럼 나를 위해 고쳤 습니다 .


답변

내 문제는 passwd 아카이브의 권한입니다. 이전 권한은 -rw ——- 1 root root 1280 Jun 9 15:41 passwd “chmod a + r / etc / passwd”명령을 사용했으며 이제는 모든 사용자입니다. 이 아카이브를 읽을 수 있습니다. -rw-r–r– 1 root root 1280 Jun 9 15:41 passwd 사용자를 로그 아웃하고 시도하십시오. =)