ターミナルを開くと、「名前がありません!」というプロンプトが表示されます


39

突然、今朝、ターミナルウィンドウを開いて、これを取得します。

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

**私は数字ではありません!私は人間です!**

何が得られますか?私の名前を取り戻すために私が何をする必要があるか知っていますか?

ここには2つの問題があると思います。1つはホスト名が定義されていないこと、もう1つはwhoamiが私の名前を数字として報告することです。


2
ところで-興味のある人のために、私はログアウトし(command-shift-Q)、再度ログインしてターミナルを再起動した後、問題はなくなりました!私のMcKnowledgeの状態を進める以外の理由がない場合、これを引き起こした可能性のあるものにまだ興味があります。
ipd

コンピューターのホスト名がプロンプトに表示される理由を尋ねていますか?それとも、コンピューターに「名前がありません!」という名前が付けられている理由を尋ねていますか?
クリスページ

突然、bashプロンプトに「I have no name!」と表示される理由を尋ねています。ホスト名ではなく。おそらくそれは単なる偶然でwhoamiあり、私の名前ではなく私の番号を報告しているのかもしれません。
ipd

1
hostnameid -p返しますか?
CajunLuke

システムが正常に戻りました。良い提案ですが、再び発生した場合は、両方をチェックします!
ipd

回答:


24

メモリ内の何かが破損し、ユーザーID(502)とユーザー名(ipd)間のマッピングが失われました。私はそれが起こるのを見てきました(通常、ハングしたシステムプロセスを手動で強制終了したとき)。 launchd多分?

このマッピングは失われるwhoamiため、IDをユーザー名に変換できず、IDが返され、プロンプトはデフォルトで「I have no name!」になります。あなたは事実上名前を持っていないのでメッセージ。

ログアウトしてから再度ログインすると修正される可能性がありますが、再起動するのが最良の方法です(発見したとおり)。

基本的に、それは別の問題の症状であり、それ自体の問題ではありません。


1
そのマッピングがどのように失われるかを説明できるといいのですが、それを理解するほど深く掘り下げたことはありません。
ボブソン

これは私に再び起こりました。私は殺していたがlaunchd、今501は私が使用できなかったsudo。私はまだlaunchdそれ自体を再起動するかどうか、またはそれを実行していない他のものが影響するかどうかはわかりません。
ボブソン

その価値のために、私はLinuxマシンでこれに遭遇したので、根本的な原因はbashにあるものだと思います。strings /bin/bash | grep "I have"
デジタル外傷

これは、whoamiまたはその依存関係さえも持たないことが一般的なサンドボックスでも発生します。どこにあるかwhich whoamiを確認してください。私の場合ldd /usr/bin/whoami、依存関係を見つけて、それらがあるかどうか、または破損しているかどうかを確認しました。
RomuloPBenedetti

11

古いスレッドのようですが、この問題の解決策は次のとおりです(コンピューター全体を再起動することなく)。

問題はopendirectorydデーモンにあり、2011年の初めから最も早い報告日です。デーモンを再起動する(ユーザーをファーストユーザースイッチング経由で管理者に切り替える)と、問題が修正されます。

この回答を書いているときに、ここのServerfault 同様の質問を見つけました。これは私の回答もカバーしています。


これはうまくいきませんでした。私の症状はおそらくほんの少し異なるだけです。多数のターミナルウィンドウを開いており、既存のすべてターミナルウィンドウでユーザー名マッピングが失われていますが、新しいウィンドウでは問題なく表示されます。opendirectorydを強制終了(または再起動)しても解決しませんでした。「失敗」の端末では、私はまたのグループマッピングをしないのですcom.apple.sharepoint.group.2し、access_bpfに記載されているグループではなく/etc/group。古い端末プロセス(および他に何を知っているか)がopendirectorydへのアクセスを失ったのではなく、opendirectoryd自体が失敗したのではないようです。
ゴティ

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:クライアントuid検証エラー; getpwuid(501)== NULL

4/12/12 8:37:09.400 PM coreservicesd:_scserver_ServerCheckin:クライアントuid検証エラー。getpwuid(501)== NULL

何が原因かはまだわかりませんが、これらの診断を共有すると思いました。

10.7.3がインストールされた2009年半ばのMacBook Proを使用しています。


1

ファイルのアクセス許可が次の/etc/passwdように設定されているかどうかを確認します。

-rwxr--r--

passwdファイルからユーザー名を読み取るためです。


744ではなく644でした。744に設定しても役に立ちませんでした。
-ejmin

0

iterm => preferences => URL_handlerを使用してwhoamiをユーザー名に接続することで問題を解決しました。itermで再起動した後、問題はもうなくなりました


0

いくつかのブログのdscacheutil -flushcacheコメントで示唆されているように、私は今日この同じ困惑の問題(ライオン10.7.5)を抱えており、それを修正しました。


-1

私の問題は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ユーザーをログアウトして、試してください。=)


-2

ターミナルのホームフォルダに移動して実行し. ~/.bashrcます。

できます!!


5
ここで問題を解決するのは.bashrcのリソーシングだとは思わない...
nohillside
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.