Self-Improvement

sudo 본문

리눅스/보안

sudo

JoGeun 2018. 10. 23. 22:27

*정의
개발, 운영 등의 작업을 수행함에 있어, 로그인계정 외의 다른 계정의 권한이 요구될 때, 그 계정을 직접 사용하지 않고 본인의 로그인 계정의 인증을 통해 해당 계정의 권한으로 작업을 수행할 수 있는 명령어

*장점
1. 일반사용자(EX: user01)가 작업시 관리자(EX: root)의 암호를 알 필요가 없다.
2. 일반사용자가 관리자 처럼 작업할 수 있는 명령어의 범위가 지정된다.(제한된 권한)

*sudoers
sudo을 사용하여 권한을 부여할 구체적인 설정을 하는 파일이 sudoers파일이다. 이 파일을 편집할 권한을 얻으면 시스템의 모든 권한을 얻을 수도 있기 때문에 매우 높은 보안 레벨로 보호되어야 한다.
이 파일의 편집은 visudo CMD로 편집한다.
#visudo == #vi /etc/sudoers

(예시)
1. root ALL=(ALL) ALL
   : root 사용자는 시스템의 모든 명령어를 sudo 명령어를 사용하여 실행이 가능하다

2. %wheel ALL=(ALL) NOPASSWD:ALL
   : wheel 그룹에 속한 사용자는 암호입력 없이 모든 명령어 수행이 가능하다.

3. %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
   : users 그룹에 속한 사용자는 #mount(umount) /mnt/cdrom 명령어 수행이 가능하다

4. %users localhost=/sbin/shutdown -h now
   : users 그룹에 속한 사용자는 localhost에 대해서 #shutdown -h now 수행이 가능하다

*실습1
#useradd user01
#echo user01 | passwd --stdin user01
#visudo
 user01 ALL=(ALL) NOPASSWD:ALL 

user01은 암호 입력없이 명령어를 수행할 수 있다. 

*실습2 
#visudo 
user01 ALL=/etc/init.d/sshd 

sudo 명령어를 통해 재시도하면 가능해진다.

user01은 sshd 데몬을 작업할 수 있다.

'리눅스 > 보안' 카테고리의 다른 글

리눅스 커널 파라미터 변경  (0) 2018.10.24
File ACL, 디렉토리의 Default ACL  (0) 2018.10.24
SELinux 기초 명령어 및 실습  (0) 2018.10.23
TCP_Wrappers 서비스  (0) 2018.10.23
방화벽(iptables)2 간단실습  (0) 2018.10.23