Information Security

12-3 sudo(substitute user do) 본문

Linux

12-3 sudo(substitute user do)

leeeeye321 2017. 9. 25. 16:16

sudo(substitute user do : 다른 사용자의 권한으로 명령을 이행하라)

-특정 계정에게 명령어 사용 권한을 부여하기 위해 사용되는 파일

-Alias 형태로 명령어를 묶어서 설정할 수 있다.

 

[설정 방법 두 가지]

(1)vi를 이용하여 /etc/sudoers 파일 수정하기

 

(2)명령어 visudo를 이용하여 /etc/sudoers 파일 수정하기

-문법에  맞지 않는 설정을 할 경우 확인 해준다.

 

/etc/sudoers 파일에서 91번째 라인 확인

 

[계정명] [호스트명]=[옵션] [명령어1], [명령어2] ... [명령어N]

 

-root 계정은 호스트명에 상관없이 모든 서버에서 모든 명령어를 사용할 수 있다.

 

ex) JOHN Server-A=명령어1

-JOHN 계정은 Server-A라는 호스트네임을 가진 서버에서 명령어 1을 사용할 수 있는 권한이 있다.

 

-위에 설정한 세 명령어는 일반 사용자 계정이 사용할 수 없는 명령어들의 절대경로이다.

-절대경로는 which 명령어를 사용하면 알 수 있다.

-일반 사용자 계정 UserManager에게 세 명령어를 사용할 수 있도록 설정했다.

 

UserManager 계정 추가

 

패스워드 설정

 

계정 전환

 

명령어 사용 권한을 /etc/sudoers 파일에 설정했지만, useradd 명령어 실행에 실패했다.

 

#sudo [명령어]

-sudo를 사용하여 명령어를 실행해야 한다.

 

#1) 다른 사람의 프라이버시를 존중하세요.

#2) 명령어 치기 전에 생각하세요.

#3) 큰 힘에는 큰 책임이 따릅니다.

 

-UserManager의 권한 밖의 일을 하는 것이기 때문에, sudo 명령어를 조심해서 사용하라는 메시지이다.

-패스워드를 입력하면 명령어가 실행된다.

-다음 번 로그인 전까지 암호 입력없이 실행이 가능하다.

 

useradd 명령어 실행 확인

 


 

sudoers alias 사용법

User_Alias    사용자 계정에 alias 사용하기 위한 지시어

User_Alias [이름] = [계정명1], [계정명2] ... [계정명N]

 

ex) User_Alias USER = USER1, USER2, USER3

-> USER ALL = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod

-USER에 해당하는 계정(USER1, USER2, USER3)들에 모든 호스트(ALL)에서 useradd, userdel, usermod 명령어를 사용할 수 있는 권한을 부여

 

Cmnd_Alias    명령어에 alias 사용하기 위한 지시어

Cmnd_Alias [이름] = [명령어1], [명령어2] ... [명령어N]

 

ex) Cmnd_Alias UserManage = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod

-> USER ALL = UserManage

USER에 해당하는 계정들은 모든 호스트에서 UserManage로 지정된 명령어들을 사용할 수 있다.

 

※ alias를 사용하지 않는다면

USER1 ALL = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod

USER2 ALL = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod

USER3 ALL = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod

이렇게 일일이 다 써줘야 해서 불편할 것이다.

 

alias를 사용하면 위의 세 줄이

USER ALL = UserManage

이 한 줄로 줄여져서 편리하다.

 

* [계정명]을 그룹으로 인식 %[계정명]

ex) %GROUP ALL=[명령어1], [명령어2]

-GROUP에 속한 사용자들이 특정 명령어 사용

 

* 옵션

NOPASSWD    sudo를 암호 입력 없이 사용하도록 하기 위해 설정

 

UserManager 계정으로 접속

 

sudo 명령어 실행 -> 암호 입력 없이 사용 가능

 

실습)

POWER 계정은 SYSTEM 그룹에 속한다.

SYSTEM 그룹에 속한 계정은 shutdown 명령어를 사용할 수 있도록 설정

(암호 없이 sudo를 사용할 수 있도록 설정)

 

계정 추가

그룹 추가

POWER 계정을 SYSTEM 그룹에 포함시킨다.

 

shutdown 명령어의 절대 경로 확인

 

/etc/sudoers 파일 수정

 

-파일에 위의 내용 추가하여 권한 부여

-파일 내용 저장

 

POWER 계정으로 접속 후

sudo 사용하여 shutdown 명령어 실행

암호 입력 과정 없이 shutdown 명령어가 실행되었다.

 

'Linux' 카테고리의 다른 글

13-2 프로세스 동작 형태  (0) 2017.09.26
13-1 프로세스 관리  (0) 2017.09.26
12-2 속성(attribution)  (0) 2017.09.25
12-1 사용자 패스워드 정책 관리  (0) 2017.09.24
11-2 특수 허가권(SetUID, SetGID, Sticky)  (0) 2017.09.23