명령 앞에 bash가 없는 경우 "bash: /usr/bin/(command) /bin/bash: 잘못된 해석기: 해당 파일 또는 디렉터리 없음" 오류를 반환하는 터미널

명령 앞에 bash가 없는 경우 "bash: /usr/bin/(command) /bin/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를 사용하여 명령을 실행하면 올바르게 반환된다는 것을 알았습니다! 와 같은 "세게 때리다ldd <옵션"

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

매우 이상합니다. 모든 사용자 쉘을 /bin/bash로 설정했지만 아무 작업도 수행하지 않습니다. 저는 홈 서버를 처음 접했고 몇 가지 기본 스크립트를 만들고 이를 crontab 등으로 설정하고 네트워크 외부에서 SSH로 연결할 수 있는 지식을 갖고 있었습니다. 그러나 불행하게도 나는 chroot 감옥 설립에 대해 완전히 알지 못했고 그것이 일으킬 수 있는 혼란을 과소평가했습니다. 나는 팔로우했었다이 튜토리얼재부팅 시 서버가 제대로 작동하지 않는다는 사실을 깨달았을 때 감옥에 갇힌 사용자에게 라이브러리를 복사하는 지점에 이르렀습니다. 나는 그런 것을 예상하지 못했고 정확히 수행된 일을 복사하여 붙여넣지 않았기 때문에 로그가 없는 점에 대해 다시 사과드립니다.

감사합니다.

답변1

해결되었습니다.

그것은 단순히 bin과 관련하여 깨진 심볼릭 링크였습니다. 나에게 올바른 방향을 알려준 davidgo에게 감사합니다. 그것은 bash가 아니라 오히려 bin이었던 것 같습니다. 이에 대해 다른 사용자가 댓글을 달았으나 삭제된 상태입니다. 누구에게나 감사드립니다.

다음으로 수정됨:

ln -s usr/bin bin

관련 정보