나는 리눅스 민트 18을 가지고 있습니다. 실수로 삭제했습니다 /bin/bash
. 그래서 삭제한 후 터미널에서 사용자의 기본 셸을 변경했습니다 (에서 /bin/bash
로 /bin/sh
및 /bin/sh
링크로 ) . 이제 다시 시작한 후 로그인 루프에 갇혔습니다. 자격 증명을 입력하면 화면이 10초 동안 공백으로 바뀌었다가 동일한 로그인 화면이 다시 나타납니다. 직업 도 없습니다 . 자격 증명을 입력하면 자격 증명이 사라지고 이 터미널에서 동일한 내용이 다시 표시됩니다.dash
/etc/passwd
tty1 tty2...
질문 2
복구 모드에 들어가면 일반 사용자와 동일한 로그인 화면이 표시됩니다. 복구 모드 옵션이 표시되지 않습니다. 그냥 로그인 화면으로 넘어가네요.
편집 1
grub 메뉴에서 e를 누르고 rw init=/bin/dash
linux /boot/vmlinuz...라는 줄 끝에 추가했습니다.
의 출력은 ls -l /etc/passwd
다음과 같습니다rw-r--r-- root root
cat /etc/passwd
사용자 입력을 수행하면
user:x:1000:1000:user,,,:/home/user:/bin/dash
ls -l /bin/dash
한 답변이 말했듯 이 /bin/bash
그것을 확인하십시오.
편집 2
Windows 시스템에 bash 패키지를 다운로드하여 외장 하드 드라이브에 복사한 다음 하드 드라이브에서 Linux 시스템으로 복사했습니다. 컴파일하고 설치했습니다. 실행 파일을 에 복사합니다 /bin/bash
.
지금 사용chsh -s /bin/bash user
이제 복구 모드로 들어갈 수 있으며 제대로 작동합니다. 나는 그것들을 사용할 수 tty1..
있고 그들은 잘 작동합니다. su user
in을 사용하는 사용자 로 전환하면 tty1
제대로 작동합니다. echo $SHELL
이렇게 해도 여전히 /bin/bash
그래픽 환경에 들어갈 수 없습니다. 게스트나 사용자 모두 그래픽 시스템에 로그인할 수 없습니다. 사용자는 터미널을 쉽게 사용할 수 있고 거기에서 작동하지만 그래픽 환경을 사용할 수 없습니다.
답변1
댓글로 추가하고 싶은데 아직 댓글이 허용되지 않습니다.
- /etc/passwd에 형식 오류가 없는지 확인하십시오.
- "dash"가 /bin/bash로 다시 연결되지 않기를 바랍니다. :디
- /etc/passwd를 직접 편집하는 대신 명령을 사용하여 사용자 쉘을 변경해 보십시오
usermod
. - 문제가 지속되면 가장 좋은 방법은 bash를 다시 설치하는 것입니다.
- 그래도 문제가 해결되지 않으면 Mathieu CAROFF의 옵션을 시도해 보세요.