ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linux] /etc/sudoers (visudo) 파일 에러 해결법
    서버 2016. 12. 19. 21:00

    보통 사용자 계정에 권한을 주려고 visudo로 /etc/sudoers파일을 열거나 vi로 오픈하여 수정합니다. 이때 추가 및 수정한 부분에 대해 에러가 날 경우, sudo 명령어가 먹히질 않습니다.

    $ sudo vi /etc/sudoers
     
    ...(생략)
    test ALL=NOPASSWD:vi # 입력
     
    :wq!


    위와 같이 잘못된 위치를 지정하고 강제로 저장한 다음, 해당 파일을 열려고 하면 아래와 같이 출력됩니다.

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


    여기서 당황하지 말고 아래와 같이 명령어를 입력합니다.

    $ pkexec visudo
    ==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
    Authentication is needed to run `/usr/sbin/visudo' as the super user
    Authenticating as: test,,, (test)
    Password:


    비밀번호를 맞게 입력하면 에디터가 나오는데 수정했던 가장 마지막 줄을 지운 다음 /etc/sudoers파일로 저장합니다. 저장 방법은 ctrl+x를 누른 다음 y를 눌러 /etc/sudoers.tmp파일 명을 /etc/sudoers로 수정한 다음, 엔터를 치면 됩니다. (아마도)..

    에디터 창을 빠져나오면 아래와 같이 작업을 더 할 것인지 묻습니다.

    What now?
    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? Q
    $ 

    이때 x를 하면 저장이 되지 않으므로 주의합니다.


    다 끝났습니다. 아까 안됐던 sudo 명령어를 사용하여 /etc/sudoers 파일을 열어보겠습니다.

    $ sudo vi /etc/sudoers
     
    ...(생략)
    #includedir /etc/sudoers.d


    댓글