본문 바로가기

Linux/기타설정

sudo 사용하기

보안상 일반 유저로 접속하는 습관을 갖는 것이 좋다.
특히나 네트워크상에서는 root의 접근은 되도록 막는편이 좋으며
일반 유저로 접속하고 su - 명령어로 root 권한을 얻는편이 좋다.

그러나 root가 아닌 일반 유저로 로그인 하게 되면 각종 파일이나 권한에 대한 문제가 발생하고 
시스템 명령어 또한 사용할 수 없게 된다.
그래서 일반 사용자에게 root권한을 잠시 줄수 있는 sudo를 사용한다.
데비안 계열에서는 기본적으로 제공 되지만 다른 배포판에서는 약간의 설정이 필요하다.

sudo 명령어를 사용하기 위해서는 수정해야 할 파일은 /etc/sudoers 이다.
우선 root로 로그인 한다음 편집기를 이용해 파일을 열자.

파일로 접근 했더니 사실 기본적인 사항에 대해선 모두 설명이 되어 있다.
기본적으로 /etc/sudoers 파일의 설정 형식은 이렇다.

사용자               호스트            명령어

루트의 경우 아래와 같이 모든 호스트에 대해 모든 명령어를 실행할 수 있도록 설정이 되어 있다.

root            ALL=(ALL)            ALL

아래는 wheel 그룹에 포함되는 사용자에게 루트 권한을 갖도록 설정한 것이다.

%wheel            ALL=(ALL)            ALL

이제 우리의 목표인 개인 사용자에게 일정 명령어에 대한 루트 권한을 부여해 보도록 하자. 참고로 두개 이상의 명령어를 지정할 때에는 콤마(,)로 구분지어 주면 된다. 아래의 예를 보자. 

kimys6242       ALL=/sbin/shutdown, /sbin/reboot

이처럼 설정을 마치게 되면 kimys6242라는 사용자는 sudo shutdown -r now 등의
시스템 명령어를 사용할 수 있게 된다.
물론 위에서 명시한 명령어를 사용할 경우에만 루트 권한을 갖게 되는 것이다.

또한 기본적으로 /etc/sudoers 파일 권한에 읽기만 설정 되어 있는데
수정시에는 +w 권한을 추가하고 파일을 수정해야 한다.

부가적으로 데비안 계열에서 sudoers 파일을 관리하는 것을 살펴보자.

위와 같은 개별 유저가 아닌 그룹으로 관리하고 있었다.

%admin ALL=(ALL) ALL

이대로 사용하고 싶다면 유저 그룹에 admin 을 추가하면되고 앞으로 admin 그룹에 속하는 모든

사용자는 sudo 를 사용할 수 있게된다.

그러나 su 명령어를 통해서도 같은 기능을 사용하는 것이 가능한데 각자 편리한 것을 사용하면 되겠다.
 
su -c 'cat /etc/shadow' - root
 
이와 같이 사용하면 root 권한으로만 읽기 가능한 /etc/shadow 파일에 접근이 가능하다.

'Linux > 기타설정' 카테고리의 다른 글

rTorrent 설정하기 (rtorrent.rc)  (0) 2010.01.10
ssh 서버 설정  (2) 2010.01.03