Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Ubuntu에서 sudo 명령어로 root권한 얻지 못할때

메인OS는 아니지만 우분투를 사용한지도 좀 되긴 했지만 항상 X-window상에서만 사용하다가 보니 꽤 많은 부분이 자동설정되어 있이서 따로 의식하지 못하고 있었습니다. 서버에 설치된 우분투에서 사용할 사용자 계정을 만들고 작업을 하다가 root권한이 필요해서 sudo -s 를 입력하자 아래와 같은 오류가 발생했습니다.

sudo -s를 실행했을때 오류가 발생하는 화면

암호를 물어보는 것까지는 정상적이었으나 "userid is not in the sudoers file. This incident will be reported."라는 오류메시지가 나타나면서 root권한을 획득하는 것을 실패했습니다. 해당 유저명이 sudoers파일에 없다고 합니다.(사실 이 파일의 존재자체를 처음 알았습니다.)

sudoers파일sudo명령어에 대한 설정을 다루는 파일이고 이곳에 sudo명령어를 사용할 수 있는 계정을 지정할수 있습니다. 그 외에도 여러가지 설정에 대한 부분이 있으며 /etc/sudoers 에 위치하고 있습니다. 기본으로 지정된 내용을 보면 root   ALL=(ALL) ALL 이라는 부분이 있는데 이 설정이 root 유저가 sudo명령어를 사용할 수 있도록 하는 부분입니다.

sudoers 파일에 userid부붙을 추가한 화면

위처럼 sudo명령어를 사용할 계정을 root처럼 추가해 주면 정상적으로 해당 계정에서 sudo 명령어를 사용할 수 있습니다. sudoers파일은 일반적인 vi등으로 편집하지 않고 visudo -f /etc/sudoers 명령어를 사용하면 vi와는 다른 형태의 에디터가 열리고 여기서 수정할 수 있습니다.(vi를 통해서 접근하면 읽기전용파일로 나옵니다.) 수정후에 저장할때 sudoers 설정에 대한 문법까지 체크해주기 때문에 혹시모를 문제를 위해서 visudo를 이용해서 파일을 수정합니다.
2010/08/13 03:29 2010/08/13 03:29