Tiba-tiba, pagi ini, saya membuka jendela Terminal dan saya mendapatkan ini:
I have no name!@macbook:~$ whoami
502
** Saya bukanlah sebuah angka! Saya seorang manusia! **
Apa yang menyebabkannya? Adakah yang tahu apa yang harus saya lakukan untuk mendapatkan kembali nama saya?
Saya kira ada dua masalah di sini, satu adalah bahwa nama host saya tidak terdefinisi, yang lain adalah bahwa whoami melaporkan nama saya sebagai nomor.
whoami
juga melaporkan nomor saya daripada nama saya.hostname
danid -p
dikembalikan?Jawaban:
Sesuatu dalam memori rusak, dan pemetaan antara ID pengguna Anda (502) dan nama pengguna Anda (ipd) hilang. Saya telah melihat itu terjadi (biasanya ketika saya secara manual membunuh proses sistem yang digantung), meskipun saya tidak yakin apa yang menyebabkannya.
launchd
mungkin?Karena pemetaan itu hilang,
whoami
tidak dapat mengonversi ID Anda menjadi nama pengguna sehingga mengembalikan ID tersebut, dan prompt Anda meminta default untuk "Saya tidak punya nama!" pesan karena Anda secara efektif tidak memiliki nama.Logout dan kembali mungkin fixit, tetapi memulai kembali adalah cara terbaik (seperti yang Anda temukan).
Pada dasarnya, ini adalah gejala dari masalah lain, dan bukan masalah itu sendiri.
sumber
launchd
, dan saya sekarang501
, yang mencegah saya menggunakansudo
. Saya masih tidak tahu apakahlaunchd
akan me-restart sendiri, atau apa lagi yang menjalankannya akan mempengaruhi.strings /bin/bash | grep "I have"
which whoami
untuk melihat di mana itu, dalam kasus saya, sayaldd /usr/bin/whoami
menemukan dependensi, melihat apakah Anda memilikinya dan atau apakah rusak.Saya melihat ini adalah utas lama, tetapi di sini adalah solusi untuk masalah ini (tanpa me-restart seluruh komputer).
Masalahnya ada di
opendirectoryd
daemon dan tanggal laporan paling awal dari awal 2011. Restart daemon (beralih pengguna dengan admin satu melalui Fast User Switching) memperbaiki masalah.Saat menulis jawaban ini, saya menemukan pertanyaan serupa di Serverfault di sini , yang juga mencakup jawaban saya.
sumber
com.apple.sharepoint.group.2
danaccess_bpf
, tetapi bukan grup yang terdaftar di/etc/group
. Menurut saya proses terminal lama (dan siapa yang tahu apa lagi) telah kehilangan akses ke opendirectoryd, bukan karena opendirectoryd sendiri telah gagal.Ini terjadi pada saya secara acak ketika saya melanjutkan dari siaga (yaitu membuka laptop saya). Logout atau reboot adalah satu-satunya cara bagi saya untuk memperbaikinya. Saya tidak tahu persis apa penyebabnya. Saat saya mengetik itu sedang terjadi sekarang. Seperti komentar di posting asli bertanya, saya berlari
id -p
dan jatuh. (Laporan kerusakan: http://pastebin.com/nmFFQELq )Perintah konsol:
whoami
- mengembalikan 501id -p
- crashcat /etc/passwd
- pengguna saya tidak ada dalam dokumen.Upaya ssh gagal dengan kesalahan:
Saya juga memeriksa konsol, dari bangun, sekelompok kesalahan "Socket tidak terhubung" acak muncul (yang saya pikir mungkin normal, karena nirkabel tidak terhubung langsung) dari program seperti Dropbox. Kesalahan yang menarik muncul:
Masih tidak yakin apa penyebabnya, tetapi saya pikir saya akan membagikan diagnostik ini.
Saya menggunakan Mid 2009 MacBook Pro dengan 10.7.3 diinstal.
sumber
Lihat apakah izin file
/etc/passwd
diatur seperti ini:karena membaca nama pengguna dari
passwd
file.sumber
Saya memecahkan masalah dengan menggunakan iterm => preferensi => URL_handler dan menghubungkan whoami ke nama pengguna saya .. setelah restart di iterm, masalahnya tidak ada lagi
sumber
Saya memiliki masalah membingungkan yang sama hari ini (Lion 10.7.5) dan
dscacheutil -flushcache
memperbaikinya untuk saya, seperti yang disarankan dalam komentar di beberapa blog .sumber
Masalah saya adalah izin dalam arsip passwd, Izin lama adalah -rw ------- 1 root root 1280 9 Juni 9 15:41 passwd Saya menggunakan perintah "chmod a + r / etc / passwd" dan sekarang semua pengguna dapat membaca arsip ini. -rw-r - r-- 1 root root 1280 9 Juni 15:41 passwd Logout pengguna dan coba. =)
sumber
Buka folder rumah di Terminal dan jalankan
. ~/.bashrc
.Berhasil!!
sumber