Khi tôi mở Terminal, tôi nhận được một bản dịch Tôi không có tên!


39

Đột nhiên, sáng nay, tôi mở một cửa sổ Terminal và tôi nhận được điều này:

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

** Tôi không phải là một con số! Tôi là một con người! **

Đưa cái gì? Bất cứ ai biết những gì tôi cần phải làm để lấy lại tên của tôi?

Tôi cho rằng có hai vấn đề ở đây, một là tên máy chủ của tôi không được xác định, hai là whoami báo cáo tên của tôi dưới dạng số.


2
BTW - đối với những người quan tâm, tôi đã đăng xuất (lệnh-shift-Q) và sau khi đăng nhập lại và khởi động lại thiết bị đầu cuối, vấn đề đã biến mất! Vẫn quan tâm đến những gì có thể đã gây ra điều này, nếu không vì lý do nào khác ngoài việc thúc đẩy trạng thái McKnowledge của tôi.
IPD

Bạn đang hỏi tại sao tên máy chủ của máy tính được hiển thị trong lời nhắc hoặc bạn đang hỏi tại sao máy tính có tên là Tôi không có tên!
Chris Trang

Tôi đang hỏi tại sao, đột nhiên, dấu nhắc bash của tôi hiển thị "Tôi không có tên!" chứ không phải là một tên máy chủ. Có lẽ đó chỉ là một sự trùng hợp ngẫu nhiên whoamicũng báo cáo số của tôi chứ không phải tên của tôi.
ip

1
Làm gì hostnameid -ptrở về?
CajunLuke

hệ thống của tôi đã trở lại bình thường. Mặc dù vậy, nếu đề nghị tốt, tôi sẽ kiểm tra cả hai!
ip

Câu trả lời:


24

Một cái gì đó trong bộ nhớ đã bị hỏng và ánh xạ giữa userID (502) và tên người dùng (ipd) của bạn bị mất. Tôi đã thấy điều đó xảy ra (thường là khi tôi giết thủ công hệ thống hung thủ công), mặc dù tôi không chắc chính xác nguyên nhân gây ra nó. launchdcó lẽ?

Vì ánh xạ đó bị mất, whoamikhông thể chuyển đổi ID của bạn thành tên người dùng để trả về ID và lời nhắc mặc định của bạn thành "Tôi không có tên!" tin nhắn bởi vì bạn thực sự không có tên.

Đăng xuất và đăng nhập lại có thể sửa, nhưng khởi động lại là cách tốt nhất (như bạn đã khám phá).

Về cơ bản, đó là một triệu chứng của một vấn đề khác, và không phải là vấn đề trong chính nó.


1
Tôi ước tôi có thể giải thích làm thế nào bản đồ bị mất, nhưng tôi chưa bao giờ đào đủ sâu để tìm ra nó.
Bobson

Điều này chỉ xảy ra với tôi một lần nữa. Tôi đã giết launchd, và tôi bây giờ 501, điều đó ngăn cản tôi sử dụng sudo. Tôi vẫn không biết liệu launchdsẽ tự khởi động lại hay không, nếu không chạy nó sẽ ảnh hưởng.
Bobson

Để biết giá trị của nó, tôi chỉ sử dụng cái này trên máy Linux, vì vậy tôi đoán nguyên nhân gốc rễ là do lỗi. strings /bin/bash | grep "I have"
Chấn thương kỹ thuật số

Điều này cũng xảy ra trên các hộp cát, nơi thường không có whoami hoặc thậm chí là phụ thuộc của nó, hãy thử which whoamixem nó ở đâu, trong trường hợp của tôi, tôi đã ldd /usr/bin/whoamitìm thấy sự phụ thuộc, xem bạn có chúng và hoặc nếu chúng bị hỏng.
RomuloPBenedetti

11

Tôi thấy đó là một chủ đề cũ, nhưng đây là giải pháp cho vấn đề này (mà không cần khởi động lại toàn bộ máy tính).

Vấn đề nằm ở opendirectoryddaemon và ngày báo cáo sớm nhất kể từ đầu năm 2011. Khởi động lại daemon (chuyển đổi người dùng bằng quản trị viên thông qua Chuyển đổi người dùng nhanh) khắc phục sự cố.

Trong khi viết câu trả lời này, tôi đã tìm thấy một câu hỏi tương tự trong Serverfault ở đây , nó cũng bao gồm câu trả lời của tôi.


Điều này đã không làm việc cho tôi. Các triệu chứng của tôi có lẽ là một chút khác nhau. Tôi có một số cửa sổ đầu cuối mở và mọi cửa sổ đầu cuối hiện tại đã mất ánh xạ tên người dùng, nhưng mọi cửa sổ mới dường như có nó mà không gặp vấn đề gì. Giết chết (còn gọi là khởi động lại) opendirectoryd không giúp được gì. Trong các thiết bị đầu cuối "không thành công", tôi cũng thiếu ánh xạ nhóm cho com.apple.sharepoint.group.2access_bpf, nhưng không phải là các nhóm được liệt kê trong /etc/group. Dường như với tôi rằng các quy trình thiết bị đầu cuối cũ (và ai biết những gì khác) đã mất quyền truy cập vào opendirectoryd, không phải chính opendirectoryd đã thất bại.
ghoti

3

Điều này xảy ra với tôi một cách ngẫu nhiên khi tôi tiếp tục từ chế độ chờ (tức là mở máy tính xách tay của tôi). Đăng xuất hoặc khởi động lại là cách duy nhất để tôi khắc phục nó. Tôi không biết chính xác nguyên nhân gây ra nó. Khi tôi gõ nó đang xảy ra ngay bây giờ. Khi bình luận trong bài viết gốc hỏi, tôi đã chạy id -pvà nó bị hỏng. (Báo cáo sự cố: http://pastebin.com/nmFFQELq )

Lệnh Console:

whoami - trả về 501

id -p - tai nạn

cat /etc/passwd - người dùng của tôi không có trong tài liệu.

Bất kỳ nỗ lực ssh đều thất bại với lỗi:

Bạn không tồn tại, biến đi!

Tôi cũng đã kiểm tra bảng điều khiển, từ khi thức dậy, một loạt lỗi "Ổ cắm không kết nối" ngẫu nhiên xuất hiện (mà tôi nghĩ có thể là bình thường, vì không dây không kết nối ngay lập tức) từ các chương trình như Dropbox. Một lỗi thú vị xuất hiện mặc dù:

4/12/12 8: 37: 09.045 PM coreserviced: _scserver_ServerCheckin: lỗi xác thực của máy khách; getpwuid (501) == NULL

4/12/12 8: 37: 09.400 PM coreserviced: _scserver_ServerCheckin: lỗi xác thực của máy khách; getpwuid (501) == NULL

Vẫn không chắc chắn điều gì gây ra nó, nhưng nghĩ rằng tôi sẽ chia sẻ những chẩn đoán này.

Tôi đang dùng MacBook Pro giữa năm 2009 với 10.7.3 được cài đặt.


1

Xem các quyền của tệp /etc/passwdđược thiết lập như thế này:

-rwxr--r--

bởi vì nó đọc tên người dùng từ passwdtập tin


Đó là 644, không phải 744. Đặt thành 744 không giúp được gì.
ejmin

0

Tôi đã giải quyết vấn đề bằng cách sử dụng iterm => Preferences => URL_handler và kết nối whoami với tên người dùng của tôi .. sau khi khởi động lại trên iterm, vấn đề không còn nữa


0

Tôi đã gặp vấn đề khó khăn tương tự ngày hôm nay (Lion 10.7.5) và đã dscacheutil -flushcachekhắc phục nó cho tôi, như được đề xuất trong một nhận xét trong một số blog .


-1

Vấn đề của tôi là sự cho phép trong kho lưu trữ passwd, Quyền cũ là -rw ------- 1 root root 1280 Ngày 9 tháng 6 15:41 passwd Tôi đã sử dụng lệnh "chmod a + r / etc / passwd" và bây giờ tất cả người dùng có thể đọc kho lưu trữ này. -rw-r - r-- 1 root 1280 Ngày 9 tháng 6 15:41 passwd Đăng xuất người dùng và thử. =)


-2

Đi đến thư mục nhà trong Terminal và chạy . ~/.bashrc.

Nó hoạt động !!


5
Tôi không nghĩ rằng việc tìm nguồn cung ứng lại .bashrc giải quyết vấn đề ở đây ...
nohillside
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.