Sudoers 파일 엉망

Sudoers 파일 엉망

실수로 sudoers파일에 실수를 했고 이제 파일을 변경하려고 하면 권한 거부 메시지가 표시되므로 수정할 수 없습니다. sudo파일을 열 때 구문 오류가 표시되고 유효한 sudoers소스를 찾을 수 없으며 명령이 실행되지 않습니다. 저는 데비안 버전인 raspbian을 사용하고 있습니다.

이 캐치 22에서 벗어나는 방법을 아는 사람이 있습니까?

답변1

  1. 비밀번호를 알고 root설정한 경우 suBeen을 사용하여 root편집 할 수 있습니다 /etc/sudoers.
  2. 루트 파일 시스템이 SD 카드에 있는 경우 이를 꺼내고 /etc/sudoersPC나 기타 장치(카드 리더기가 있는 경우)에서 편집할 수 있습니다.
  3. U-Boot(부트 로더) 명령줄을 입력하고(일반적으로 키보드의 버튼을 누르거나 UART를 통해) 1Linux 커널 명령줄에 추가하여 단일 사용자 모드로 들어갈 수 있습니다. 이 모드에서는 root편집할 수 있습니다 /etc/sudoers. 당신은 또한 볼 수 있습니다이것.

답변2

단일 사용자 모드로 부팅해야 합니다.

https://serverfault.com/questions/482079/debian-boot-to-single-user-mode

루트로서 sudoers 파일을 편집하여 문제를 해결할 수 있습니다. visudovisudo는 파일을 저장하기 전에 파일에 대해 구문 검사를 수행하므로 나중에 이 작업을 다시 수행할 필요가 없도록 이 명령을 사용하여 sudoers 파일을 편집하는 것이 좋습니다 .

답변3

클라우드 인스턴스를 사용하는 경우 더 많은 문제가 발생합니다.

배포판에 따라 몇 가지 기술이 있지만 이미 Docker를 설치하여 실행 중인 경우 일반적으로 Docker 컨테이너로 문제를 해결할 수 있습니다. 이는 일반적으로 Docker 서비스가 루트로 실행되고 컨테이너 내 마운트된 볼륨에서 수행되는 모든 작업이 호스트 시스템의 루트에 의해 영향을 받기 때문입니다.

호스트 머신에서:

docker run --rm -ti -v /etc:/usr/local/etc busybox sh

"busybox"는 다운로드하는 데 시간이 오래 걸리지 않는 멋진 작은 배포판입니다. 작동하는 셸이 포함된 Docker 이미지가 이미 있는 경우 해당 이미지를 사용하세요.

Docker 컨테이너에서:

cd /usr/local/etc
vi sudoers

/etc/sudoers.d/디렉터리 에 잘못된 파일을 추가했을 수 있습니다 . 이런 경우에는 단순히 파일을 삭제하는 것만으로도 충분할 수 있습니다.

컨테이너를 종료하면 sudo다시 할 수 있습니다.

우와!

관련 정보