나는 그다지 흔하지 않은 문제에 직면하고 있다고 생각합니다. 나는 썼다
chsh -s /bin/false root
이제 로 로그인할 수 없습니다 root
. 어떻게 로그인할 수 있나요 root
? 내가 명령을 시도할 때
chsh -s /bin/true root
쉘을 변경할 수 없다는 답변을 받았으며 물론 with root
을 편집하려고 하면 해당 작업을 수행할 권한이 없다는 메시지가 나타납니다./etc/passwd
nano
그렇다면 로그인할 수 있는 방법이 있나요 root
?
답변1
다음을 수행하십시오.
ssh root@localhost /bin/bash
쉘 프롬프트가 표시되지 않습니다. 그러나 ls를 입력하고 Enter를 누르면 출력이 표시됩니다. 그런 다음 이 sed 명령을 사용하여 루트 셸을 재설정할 수 있습니다.
/usr/bin/sed -i -e 's|^\(root.*:\)[^:]*$|\1/bin/bash|g' /etc/passwd
배포판에 따라 sed 명령이 /bin/sed 아래에 있을 수 있습니다.
분명히 이것은 절박한 조치이다.
답변2
아마도 가장 쉬운 방법은 설치 미디어의 복구 모드로 부팅하여 수정하는 것입니다 /etc/passwd
.
답변3
sudo /bin/bash
일을 해야 합니다. bash
슈퍼유저 권한으로 실행하므로 편집 /etc/passwd
이나 실행에는 chsh
문제가 없습니다.
답변4
sudo가 설치되어 있지 않으면 쉽게 설치할 수 있으며 sudo /bin/bash
제대로 작동합니다. 모든 Linux 배포판은 sudo를 사용할 수 있습니다.
또한 비밀번호 프롬프트가 표시되면 공개 키 인증을 사용한 다음 비밀번호 없는 sudo를 활성화해야 합니다. 이것을 구성하려면 이것을 사용하십시오https://spinupwp.com/doc/passwordless-sudo/
이 경우 SSH 공개 키 인증을 사용해야 합니다 ^^.