Терминал возвращает ошибку «bash: /usr/bin/(команда) /bin/bash: плохой интерпретатор: нет такого файла или каталога», если перед командой не стоит bash

Терминал возвращает ошибку «bash: /usr/bin/(команда) /bin/bash: плохой интерпретатор: нет такого файла или каталога», если перед командой не стоит bash

Когда я ищу эту конкретную ошибку в Интернете, все они связаны со скриптами оболочки. Я постоянно получаю эту ошибку в самом терминале, и мой домашний сервер полностью непригоден для использования без загрузки в режиме восстановления из-за этого. Экран входа в систему глючит и не реагирует на правильный или неправильный пароль. Загрузка также показывает многочисленные строки [ FAILED ].

Это началось, когда я настроил конкретного пользователя с помощью «chroot jail» и установил rbash, и, к сожалению, я потерял строки кода, которые шли вместе с моей настройкой, что привело к полной катастрофе при перезагрузке.

Когда я отправляю команду в режиме восстановления, например "ldd /usr/bin/bash", она возвращает ошибку. Однако это не происходит с некоторыми базовыми командами (возможно, она застряла на /bin/sh? "$SHELL" возвращает /bin/sh в режиме восстановления)

ldd /usr/bin/bash
bash: /usr/bin/ldd: /bin/bash: bad interpreter: No such file or directory

ОДНАКО. Я обнаружил, что если я перед командой напишу bash, то она вернет ее правильно! Например, "Башлдд <опции"

bash ldd /usr/bin/bash
<relevant correct data>

Это очень странно. Я установил оболочку каждого пользователя на /bin/bash, но это ничего не дало. Я относительно новичок в домашних серверах и имел знания, чтобы сделать несколько базовых скриптов и установить их в crontab или что-то еще и иметь возможность ssh из-за пределов сети. Но, к сожалению, я не был полностью осведомлен о настройке chroot jail и недооценил хаос, который это могло вызвать. Я следовалэтот уроки дошел до того, что скопировал библиотеки для пользователя, находящегося в тюрьме, когда понял, что это сделало мой сервер неработоспособным при перезагрузке. Я снова извиняюсь за отсутствие логов, поскольку я не ожидал их и не скопировал и не вставил, что именно было сделано.

Спасибо.

решение1

Решено.

Это была просто сломанная символическая ссылка в отношении bin. Спасибо davidgo за то, что указал мне правильное направление, это был не bash, а bin, я полагаю. Другой пользователь также прокомментировал это, но его удалили, спасибо тому, кто это был.

Исправлено с помощью:

ln -s usr/bin bin

Связанный контент