Không thể exec / bin / false: không có tập tin hoặc thư mục như vậy


10

Tôi đang cố mở GNU Screen bằng lệnh sau trên Mac OS của mình:

host:~ user$ screen

Thiết bị đầu cuối màn hình mở nhưng nhanh chóng chết với thông báo lỗi:

Không thể exec / bin / false: không có tập tin hoặc thư mục như vậy

Thiết bị đầu cuối của tôi được cấu hình để mở bashshell khi khởi động. Tôi đã thử cài đặt vỏ thiết bị đầu cuối sh, nó cũng có lỗi tương tự.

Tuy nhiên, khi tôi thực thi screenlệnh như sudo, thì lệnh thành công.

Làm thế nào để tôi giải quyết nó cho người dùng bình thường?


2
Tìm kiếm /bin/falsetrong các tập tin RC của bạn ( .bashrc, .bash_profilev.v.) Cũng kiểm tra của bạn .screenrc.
choroba

Câu trả lời:


9

Hãy xem các tập lệnh khởi tạo shell của bạn bashhoặc screentập tin cấu hình và xem liệu có nơi nào falseđược sử dụng với đường dẫn rõ ràng không /bin/false.

Trên macOS, falsetiện ích được đặt trong /usr/bin, không phải trong /bin.

Không, hãy xem nếu vỏ đăng nhập của bạn vì một số lý do kỳ lạ được đặt thành /bin/false, bằng cách kiểm tra /etc/passwdhoặc xem "Tùy chọn nâng cao" trong phần "Người dùng & nhóm" của Tùy chọn hệ thống (bạn có được những thứ này bằng cách nhấp chuột phải vào người dùng của bạn trong danh sách tài khoản người dùng và bạn cũng có thể thay đổi vỏ ở đây). Ai đó có thể đã theo dõi một cách không suy nghĩ theo hướng dẫn / HOWTO thiết lập người dùng với /bin/falsetư cách là vỏ mặc định của họ.

Khi bạn chạy screenvới sudobạn sử dụng rootcác tập tin shell / screen init. Đây là lý do tại sao điều đó làm việc.


2
Xin lỗi, nhấn enter vô tình đăng bình luận không đầy đủ. Tôi đã kiểm tra các tệp sau: / etc / passwd và ~ / .screenrc. Tuy nhiên, có vẻ như shell của tôi đã được thiết lập với / bin / false làm shell mặc định. Khi tôi thực hiện "echo $ SHELL", nó đã cho "/ bin / false". Thực hiện "xuất SHELL = / bin / bash" đã khắc phục sự cố. :)
sultan.of.swing

1
@ sultan.of.swing Tốt! Bạn nên thay đổi shell mặc định của mình trong System Preferences. Ngoài ra, nếu điều này giải quyết được vấn đề của bạn, vui lòng xem xét chấp nhận câu trả lời
Kusalananda

5

Đi đến tùy chọn trên Terminal và sau đó đi đến chung, sau đó trong 'Shell open with' select Command và gõ bash -l


3
Hãy giải thích những gì nó làm và làm thế nào nó giải quyết vấn đề.
guntbert

đó là "bash - <Capital Eye>" hay "bash- <Uncial Ell>"?
Reb.Cabin

câu trả lời hay nhất là
Reb.Cabin
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.