De repente, nesta manhã, abro uma janela do Terminal e recebo o seguinte:
I have no name!@macbook:~$ whoami
502
** Eu não sou um número! Eu sou um ser humano! **
O que da? Alguém sabe o que eu preciso fazer para recuperar meu nome?
Suponho que há dois problemas aqui, um é que meu nome de host não está definido, o outro é que whoami relata meu nome como um número.
whoami
também esteja relatando meu número e não meu nome.hostname
eid -p
retornar?Respostas:
Algo na memória foi corrompido e o mapeamento entre o ID do usuário (502) e o nome do usuário (ipd) foi perdido. Eu já vi isso acontecer (geralmente quando matei manualmente os processos do sistema travados), embora não tenha certeza do que exatamente o causa.
launchd
talvez?Como esse mapeamento está perdido,
whoami
não é possível converter seu ID em um nome de usuário, portanto, ele retorna o ID e seu prompt é padronizado como "Não tenho nome!" mensagem porque você efetivamente não tem um nome.O logoff e o logon novamente podem ser fixos, mas reiniciar é a melhor maneira (como você descobriu).
Basicamente, é um sintoma de outro problema, e não um problema por si só.
fonte
launchd
, e estava agora501
, o que me impediu de usarsudo
. Ainda não sei se o sistemalaunchd
será reiniciado ou o que mais não funcionará.strings /bin/bash | grep "I have"
which whoami
ver onde está; no meu caso, fizldd /usr/bin/whoami
para encontrar dependências, ver se você as possui e / ou se estão danificadas.Vejo que é um thread antigo, mas aqui está a solução para esse problema (sem reiniciar o computador inteiro).
O problema está no
opendirectoryd
daemon e os primeiros relatórios datam do início de 2011. A reinicialização do daemon (alternando usuários com um administrador via Fast User Switching) corrige o problema.Enquanto escrevia esta resposta, encontrei uma pergunta semelhante no Serverfault aqui , que também cobre minha resposta.
fonte
com.apple.sharepoint.group.2
eaccess_bpf
, mas não os grupos listados em/etc/group
. Parece-me que os processos antigos do terminal (e quem sabe o que mais) perderam o acesso ao opendirectoryd, não que o próprio opendirectoryd tenha falhado.Isso acontece aleatoriamente quando eu retiro do modo de espera (ou seja, abrindo meu laptop). Um logout ou reinicialização é a única maneira de corrigi-lo. Não sei exatamente o que causa isso. Enquanto digito, está acontecendo agora. Como o comentário no post original perguntou, eu corri
id -p
e ele travou. (Relatório de falha: http://pastebin.com/nmFFQELq )Comandos do console:
whoami
- retorna 501id -p
- falhascat /etc/passwd
- meu usuário não está no documento.Qualquer tentativa ssh falha com o erro:
Também verifiquei o console, ao acordar, um monte de erros aleatórios "Soquete não conectado" aparecem (o que eu acho que pode ser normal, pois a conexão sem fio não se conecta imediatamente) de programas como o Dropbox. Um erro interessante é exibido:
Ainda não tenho certeza do que está causando isso, mas pensei em compartilhar esses diagnósticos.
Estou em um MacBook Pro de meados de 2009 com 10.7.3 instalado.
fonte
Veja se as permissões do arquivo
/etc/passwd
estão configuradas assim:porque lê o nome de usuário do
passwd
arquivo.fonte
Resolvi o problema usando iterm => preferências => URL_handler e conectando whoami ao meu nome de usuário .. após reiniciar no iterm, o problema não era mais
fonte
Eu tive esse mesmo problema desconcertante hoje (Lion 10.7.5) e o corrigi
dscacheutil -flushcache
para mim, como sugerido em um comentário em algum blog .fonte
Meu problema é a permissão no arquivo passwd, a permissão antiga é -rw ------- 1 raiz raiz 1280 jun 9 15:41 passwd Eu usei o comando "chmod a + r / etc / passwd" e agora todos os usuários pode ler este arquivo. -rw-r - r-- 1 raiz raiz 1280 jun 9 15:41 passwd Efetue logout do usuário e tente. =)
fonte
Vá para a pasta pessoal no Terminal e execute
. ~/.bashrc
.Funciona!!
fonte