Ubuntu를 사용할 때 가장 큰 특징 중 하나는
기본 계정으로 root를 사용하지 않고, root 권한이 필요할 때에 sudo 명령을 이용한다는 것이다.

그런데, sudo를 사용할 때 상당히 귀찮은 것 중 하나가 패스워드를 입력해야 하는 것이다.


패스워드 입력을 생략할 수 있는 방법은 없을까?

당연히 있다 !!!

$ sudo visudo

...
# User privilege specification
root     ALL=(ALL:ALL) ALL
계정    ALL=(ALL) NOPASSWD: ALL
...

밑의 부분을 보면 Group으로  설정할 수도 있고,
또 특정 명령어에 대해서만 패스워드 입력을 생략할 수도 있다.


그런데, 여기에서 주의할 점 하나가 있다 !

위와같이 설정을 했는데도, 패스워드를 여전히 물어볼 경우가 있다.
그 이유는.... 바로 group 때문인데...

[ visudo ] 명령을 통해 수정을 하게 되는 [ /etc/sudoers ] 파일의 내용을 잘 살펴봐야 하는데,
위와 같이 유저에 대한 설정 밑의 부분을 보면 그룹에 대한 설정을 하는 부분이 있다.

위에서 계정에 대한 설정을 열심히 했지만, 밑의 부분의 그룹에 대한 설정으로 덮어씌워져버린 것이다.


[ groups ]  명령을 통해 계정이 속한 그룹 현황을 확인해보고,
해당 계정이 속한 그룹에 대한 설정이 있다면 이에 대한 조치를 취해야 한다.

이러한 것이 귀찮다면,
설정하려는 계정에 대한 설정 부분을 제일 밑에 위치시켜버리면 된다.

즐거운 Ubuntu !!!
반응형

'OS > Ubuntu' 카테고리의 다른 글

JDK install In Ubuntu (JDK 1.7.0_05)  (1) 2013.03.27
Ubuntu 부팅 時 자동 실행  (2) 2013.03.27
Ubuntu 터미널 폰트 변경  (0) 2012.09.15
Linux in PowerPC (Mac Mini - A1103)  (0) 2012.09.04
Ubuntu 원격접속 (xrdp, vnc)  (3) 2012.08.30

예전에 Linux를 사용하다가 Ubuntu를 사용하시는 분들을 비롯해서
처음으로 Ubuntu를 사용하시던 분들이 가장 어색해하는 것 중 하나가 root 권한이다.

옛날 옛날 한 옛날에 Linux를 공부하면 제일 많이 듣는 말 중 하나가,
root 계정으로 작업하면 조심, 조심, 또 조심을 해야하고, 또 다시 조심을 해야 한다!였다.

root 계정으로 'rm -rf'를 하다가 파일 시스템 모두 날려먹었다는 무용담은 종종 회자되었다 ^^



그래서인지, Ubuntu는 기본적으로 root 계정을 사용하지 못하게 하고,
root 계정이 필요한 경우 "sudo" 명령어를 통해서 root가 아닌 계정에서 명령을 실행할 수 있도록 하고 있다.


그런데, 이 부분에서도 약간의 제한을 두고 있다.
아무 계정에서나 root 권한이 필요한 명령을 실행할 수 있는 것은 아니다.
root 권한이 필요한 명령을 "sudo"라는 것을 통해 실행할 수 있는 계정을 별도로 관리한다.

이것이 왜 헷갈리냐면,
Ubuntu를 처음 설치할 때에 만들어지는 계정이 바로 root 권한을 행사할 수 있는 계정이기 때문이다.

처음부터 당연히 sudo를 실행할 수 있어왔기에
신규로 계정을 만들면 당연히 sudo를 실행할 수 있는 걸로 착각한다.



서론이 길었는데,
sudo를 실행할 수 있는 root 권한을 행사할 수 있는 계정을 어떻게 만드는지 알아보도록 하자.




1. admin 그룹

     - admin 그룹에 속하는 계정은 root 권한을 사용할 수 있다.



2. /etc/sudoers 파일 편집

     - root 권한을 행사할 수 있는 계정 목록에 포함 시킨다.

$ sudo nano /etc/sudoers


     - 위와 같이 되어있는 파일에 사용하고픈 계정 정보를 추가해주면 된다.
     - 계정으로 추가하고 싶은 경우에는 [ root .... ] 부분과 같이 추가해주면 되고,
     - 그룹으로 추가하고 싶은 경우에는 [ %admin ... ] 부분과 같이 추가해주면 된다.


3. visudo

     - 본래 Ubuntu에서 권장하는 방법은 [ /etc/sudoers ] 파일을 직접 수정하는 것이 아니다.

$ sudo visudo

     - 사실 나오는 내용은 위와 똑같다!!!




아름다운 Ubuntu 생활을 위해서~~~~~!!!


반응형

Ubuntu를 사용하게 되면 가장 많이 사용하는 명령어가 바로 "sudo"이다.
즉, root 권한으로 특정 명령을 실행하는 것인데...


Desktop 운영체제로 Linux를 사용하는 경우 기본 사용자를 종종 root로 하곤 한다.
하지만, Linux를 공부하게 되면 제일 자주 듣는 이야기 중 하나 "root는 위험해요~!!!"

그래서 Ubuntu는 기본적으로 root가 아닌 사용자를 사용하도록 하고 있다.
대신에 sudoer라는 그룹을 두고 해당 그룹에 속하는 계정들에게만
root 권한을 임의로 사용할 수 있도록 허용해준다.
그 방법이 바로 "sudo"이다.


그런데, sudo 명령을 사용할 때에 password 입력을 자꾸 요구하는 것이 번거로울 때가 있다.
그래서 이번 포스트에서는 sudo를 사용할 때에 password를 입력하지 않는 방법을 알아보고자 한다.



1. Password

     - sudo 명령을 이용하는 경우에 password 입력을 요구한다.


     - 물론 한 번 입력하면 한 동안은 password 입력 없이 sudo를 이용할 수는 있지만...




2. /etc/sudoers.d/

     - 특정 계정에 대한 설정을 입력하기 위해서는 파일 하나를 생성해야 한다.


$ sudo nano /etc/sudoers.d/mysudoers

     - 기존 파일을 수정하는 것이 아니라 파일을 하나 만들어야 한다.


chani ALL = NOPASSWD: POWEROFF, SHUTDOWN, HALT, /usr/bin/update-manager

     - 앞의 "chani"는 설정을 할 계정이름이다. 내 경우에 "chani"라는 것이고 다른 분들은 각자 상황에 맞춰서...

     - 뒤의 설정값은 살펴보면 다 알 수 있을 것이라 기대한다.
     - 패스워드 입력안할래... 파워도 끌 수 있고 셧다운도 할 수 있고..........

     - 만약 "apt-get"을 패스워드 입력없이 사용하고 싶다면, 위 파일을 편집하면 된다.

chani ALL = NOPASSWD: POWEROFF, SHUTDOWN, HALT, /usr/bin/update-manager, /usr/bin/apt-get

     - 위처럼 뒤에 해당 명령어를 추가해주면 된다.


$ sudo chmod 0440 /etc/sudoers.d/mysudoers

     - 방금 만든 파일의 속성값을 바꿔주면 이제 모두 끝~!!!





이제부터는 sudo 명령을 사용할 때에 chani 계정은 패스워드 입력없이 사용할 수 있다.

여러분 모두 즐거운 Ubuntu 생활 하세요~~~~

반응형

+ Recent posts