zsh가 여전히 기본 쉘인 동안 zsh를 제거하여 루트 로그인을 차단했습니다. 이제 로그인할 때 /bin/zsh
(1)을 사용하려고 하는데 해당 (1)이 누락되었기 때문에 결과는 로그인 실패가 됩니다 .
다른 사용자 한 명만 코드를 실행할 수 있지만 권한은 거의 없습니다. su
(2)와 다양한 다른 방법을 통해 권리를 높이려고 시도했지만 sudo
성공하지 못했습니다. 이 문제를 해결하기 위해 명령을 사용할 수 있는 방법이 있습니까?
최후의 수단으로 서버를 Live CD로 부팅하고 파일 저장소를 직접 변경해 보겠습니다. 하지만 이 방법을 사용하면 가동 중지 시간이 발생하고 오류 발생 시 현재 실행 중인 모든 서비스를 다시 시작할 수 없으므로 피하고 싶습니다. 서버가 CentOS를 실행 중입니다.
(1)
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/zsh
(2)
$ echo my-root-password | su --shell=/bin/bash - root -c 'yum install zsh -y'
Password: su: using restricted shell /bin/zsh
su: failed to execute /bin/zsh: No such file or directory
(코드 실행이 대화형 셸에서 수행되지 않기 때문에 비밀번호가 파이프로 연결됩니다.)
편집하다: 모든 제안에 감사드립니다! 불행하게도 그 중 어느 것도 작동하지 않았기 때문에 가동 중지 시간을 감수해야 했습니다. 기대한 것보다 시간이 오래 걸리고 많은 것을 시도했지만 작동하지 않았지만 되돌아보면 다음 단계를 통해 문제가 해결되었습니다.
내가 변했어시작 매개변수서버에 대한 기본적인 제어 권한을 갖습니다. 파일 을 편집 /etc/passwd
하고 시작 시 인증 서비스 실패를 초래하는 일부 정책이 있으므로 SELinux를 비활성화했습니다.