Không thể thực thi bất kỳ lệnh nào trong bash trừ khi sudo


5

Tôi không biết những gì tôi đã làm nhưng đột nhiên tôi không thể sử dụng bất kỳ lệnh nào ngoại trừ và chỉ đi trước sudo. Không có vấn đề lệnh tôi nhận bash: / home / otis / bin / ls: không thể thực thi tệp nhị phân. Ngay cả cp tôi cũng nhận được bash: / home / otis / bin / cp: không thể thực thi tệp nhị phân. nếu tôi đặt sudo trước khi tất cả là tốt. Làm thế nào để tôi sửa lỗi này để mọi lệnh đơn lẻ không phải được thực hiện như siêu người dùng.


Bạn thấy gì trong rwx bit nếu bạn ls -l những nhị phân này?
Nicole Hamilton

1
Trừ khi bạn có một lý do chính đáng để có các hệ thống nhị phân trong thư mục nhà của bạn, có vẻ như bạn đã làm hỏng PATH của mình. Nó sẽ trông giống như /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
user55325

2
Rất nhiều câu hỏi để hỏi. (1) Bạn đã thử đăng xuất và đăng nhập lại chưa? (2) Bạn có thực sự có tập tin trong riêng tư bin danh mục ( /home/otis/bin ) với tên ls, cp, vân vân? (2½) Tại sao? (2⅔) Chúng là gì? (3) Thực hiện các lệnh tích hợp shell như cd, echoset vẫn làm việc? (4) của bạn là gì PATH biến môi trường được đặt thành? (Cả hai loại echo $PATH hoặc loại set và tìm kiếm một dòng bắt đầu PATH=.) (4½) Tại sao?
Scott

Otis, chỉ để lặp lại những gì đã nói, nếu bạn chưa Tạo ra một bin thư mục trong thư mục nhà của bạn và điền nó với các nhị phân này, và sửa đổi đường dẫn của bạn, sau đó một cái gì đó đã sai nghiêm trọng. Một trong những khả năng là hệ thống của bạn đã bị xâm phạm. nếu bạn chưa tự mình thực hiện những điều này, sau đó ngừng cố gắng sửa chữa mọi thứ và để chúng tôi giúp điều tra - bạn có thể đang cố gắng chạy các tệp nhị phân được đặt ở đó một cách độc hại.
Paul

1
Bạn có thể thử sudo mv /home/otis/bin /home/otis/bin.old. Điều này sẽ đổi tên thư mục, sau đó sẽ cho phép các nhị phân thích hợp trong / bin thực thi.
Paul

Câu trả lời:


2

Có điều gì đó sai trong con đường của bạn. Nó hoạt động với sudo vì nó sử dụng các thiết lập root.

Bạn đã sửa đổi biến môi trường $ PATH của bạn?

Trong một loại thiết bị đầu cuối $PATH. Bạn sẽ nhận được một cái gì đó như: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Tôi đoán rằng của bạn sẽ / usr / local / sbin: / nhà / otis / thùng : / usr / sbin: / usr / bin: / sbin: / bin hoặc đại loại như thế.

Để giải quyết vấn đề này, hãy thử gõ: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Hi vọng điêu nay co ich.


Được rồi với $ PATH đây là những gì tôi đã nhận bash: / home / otis / bin: / usr / local / bin: / usr / bin: / bin: / usr / local / games: / usr / games: / usr / lib / jvm / jdk1.7.0 / bin: Không có tệp hoặc thư mục như vậy
otis

1
Bạn có thể khắc phục điều này tạm thời bằng cách làm theo các hướng dẫn ở trên, nhưng bạn cần tìm hiểu tại sao điều này xảy ra. Tôi sẽ tìm trong .bashrc và .bash_profile trước.
user55325

1
@ToDo: Tôi tin rằng bạn có nghĩa là trong một loại thiết bị đầu cuối echo $PATH.
Scott
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.