visudo를 편집했으며 이제 sudo 명령을 사용할 수 없습니다.

visudo를 편집했으며 이제 sudo 명령을 사용할 수 없습니다.

Unix 및 쉘 스크립팅의 새로운 기능, 업데이트된 visudo

username ALL=(ALL) NOPASSWDMDS : /path/name

이제 sudo, visudo를 편집하거나 sudo 명령을 사용할 수 없습니다.

이전 상태로 어떻게 돌아갈 수 있나요?

내가 시도할 때

visudo
visudo: /etc/sudoers: Permission denied
visudo: /etc/sudoers: Permission denied

내가 시도할 때

sudo
sudo: >>> /etc/sudoers: syntax error near line 62 <<<
sudo: parse error in /etc/sudoers near line 62
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

답변1

먼저, 귀하의 질문에 직접 답변하려면 @Tablemaker와 @guillermochamorro가 올바른 방향으로 가고 있습니다. 가능한 옵션은 다음과 같습니다.

  • 루트에 대해 키 기반 로그인이 활성화된 경우 권한 있는 SSH 키를 통해 로그인하세요.
  • 관리자 계정을 통해 로그인하고 su명령을 사용하여 루트가 됩니다(현재 루트 비밀번호를 알고 있는 경우).
  • 다른 사람에게 위 작업 중 하나를 수행하도록 하십시오(그 사람이 키나 비밀번호를 가지고 있고 귀하는 없는 경우).
  • 호스팅된 환경에 있는 경우 귀하(또는 다른 사람)가 루트 비밀번호를 알려진 비밀번호로 재설정할 수 있는 방법이 있을 수 있으므로 su위의 경로를 따를 수 있습니다.

컴퓨터에 물리적으로 액세스할 수 있는 미래의 독자를 위해 Live CD 또는 USB 스틱에서 부팅하고(또는 인프라를 사용할 수 있는 경우 PXE 부팅도 가능) sudoers 파일을 복구할 수도 있습니다.

예방이 치료보다 낫기를 바랍니다. 저는 방금 한 일을 할 수도 있는 미래의 독자들을 위해 이 메모를 제공하고 싶었습니다. :)

당신은 기회가있을 수 있습니다피하다완전히 이 질문이지만 무시했습니다.

visudo파일을 저장한 후 파일 구문을 확인 sudoers하고 감지된 문제를 경고하는 일부 구현:

$ sudo visudo
(edit file to add the line given in your example, then type ZZ to save & exit)
/usr/local/etc/sudoers.tmp: 36 lines, 773 characters
>>> /usr/local/etc/sudoers: syntax error near line 36 <<<
What now?

visudo여기에서 파일 sudoers의 문제를 감지하고 이를 처리하는 방법을 묻는 것을 볼 수 있습니다 . Press에서는 Enter사용 가능한 옵션에 대한 간략한 개요를 제공합니다.

Options are:
  (e)dit sudoers file again
  e(x)it without saving changes to sudoers file
  (Q)uit and save changes to sudoers file (DANGER!)

What now? 

분명히, e파일의 오류를 수정하려면 편집기로 돌아가십시오. 저장 후 구문 경고가 다시 나타나면 x변경에 필요한 올바른 구문을 조사하는 동안 sudoers 파일을 변경하지 않은 상태로 두는 것이 좋습니다.

Q옵션은 매우 바람직하지 않습니다.위험!경고), 이로 인해 현재 겪고 있는 상황이 발생했습니다. sudo설치가 제대로 작동하지 않습니다.

관련 정보