Sudoers 파일에 오류가 있는 것 같습니다.
sudo
sudo: >>> /etc/sudoers: syntax error near line 56 <<<
sudo: parse error in /etc/sudoers near line 56
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
ec2 사용자로 SSH를 통해 EC2에 연결할 수 있지만 오류를 수정하기 위해 sudoers 파일을 편집할 수는 없습니다.
"visudo"를 시도했습니다.
visudo
visudo: /etc/sudoers: Permission denied
visudo: /etc/sudoers: Permission denied
"pkexec visudo"를 시도했습니다.
pkexec visudo
Error executing command as another user: No authentication agent was found.
이 시점에서 /etc/sudoers 파일을 복구하려면 어떻게 해야 합니까?
감사해요!
답변1
이는 EC2 이미지이고 콘솔에 액세스할 수 없으므로 Amazon 지원팀에서 티켓을 열어 sudoers 파일을 수정할 수 있는지 확인해야 합니다. 저는 다음 사항에 대비하겠습니다. 1) Amazon이 귀하의 요청을 처리하는 데 시간이 걸릴 것이며, 2) 문제를 해결하지 못할 수도 있습니다. 두 시나리오 중 하나라도 해당된다면 인스턴스를 종료하고 재구축해야 한다는 사실을 받아들여야 할 수도 있습니다.
답변2
이는 EC2 인스턴스이므로 Amazon에 연락하여 티켓을 열어 누군가가 단일 사용자 모드로 들어가도록 하고 /etc/sudoers 파일에서 잘못된 구문을 수정해야 합니다. 시스템을 다시 시작해야 하므로 어떤 작업도 수행할 수 없습니다.
답변3
AWS EC2 인스턴스에서 이 문제가 발생하면 다음 /etc/sudoers
단계에 따라 파일을 편집할 수 있습니다. 저는 RHEL EC2 인스턴스에서 이 문제를 복구하기 위해 여러 번 이 단계를 사용했습니다.
- EC2 대시보드 열기
- 인스턴스를 중지합니다.
- 분리된 루트 볼륨(예
/dev/sda1
) 인스턴스 A. - 다른 EC2 인스턴스 B에 볼륨 연결(
sudo mkdir /recoversudo
) - 마운트 지점 생성 및 볼륨 마운트(예
sudo mount /dev/xvdg2 /recoversudo
: ) - sudoers 파일
/recoversudo/etc/sudoers
(sudo chmod 660 /recoversudo/etc/sudoers
) 에 임시로 쓰기 권한을 추가합니다. - 편집, 변경 및 저장(
sudo vi(m) /recoversudo/etc/sudoers
) - 권한을 읽기 전용으로 되돌리기(
sudo chmod 440 /recoversudo/etc/sudoers
) sudo umount /dev/xvdg2
인스턴스 B에서 볼륨() 마운트 해제- 볼륨을 루트 볼륨으로 인스턴스 A에 다시 연결합니다(예:
/dev/sda1
) . - 인스턴스 A를 시작하면 로그인할 수 있습니다.