상세 컨텐츠

본문 제목

[CentOS 8] 초기 세팅 | sudo 설정

Linux

by mp.jamong 2020. 7. 7. 09:48

본문

sudo는 root가 아닌 사용자가 root 권한의 명령어를 실행하게 하는 명령어 입니다. 즉, 현재 ID 에서 다른 ID의 권한을 빌려 쓴다고 보면 된다.

 

본 포스팅에서는 sudo를 설정하는 방법에 대해 알아보자.

 

1. 초기 세팅 | 일반사용자 ID에 sudo 권한 부여

# 일반 사용자(여기서는 mpjamong)에게 권한 부여
[root@magicpipe ~]# visudo

# 해당 파일 맨 마지막에 아래와 같이 추가 후 저장
mpjamong  ALL=(ALL)       ALL

# 설정 적용 확인 (sudo 없이 실행 안됨)
[mpjamong@magicpipe ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied

# 설정 적용 확인 (sudo 명령어를 통한 파일 확인 가능)
[mpjamong@magicpipe ~]$ sudo cat /etc/shadow
[sudo] password for mpjamong:
.
.
cockpit-wsinstance:!!:18447::::::
flatpak:!!:18447::::::
rngd:!!:18447::::::

 

 

2. 초기 세팅 | sudo 권한으로 실행 불가능 명령어 설정

# sudo 권한에서 시스템 종료, 재시작, 시스템 상태 체크 명령어 실행 불가능 설정
[root@magicpipe ~]# visudo

# 해당 파일 라인 49번째 줄에 아래 내용 추가
Cmnd_Alias SHUTDOWN = /usr/sbin/halt, /usr/sbin/shutdown, \
/usr/sbin/poweroff, /usr/sbin/reboot, /usr/sbin/init, /usr/bin/systemctl

# 해당 파일 맨 마지막 라인에 아래와 같이 추가 후 저장
mpjamong  ALL=(ALL)       ALL, !SHUTDOWN

# 설정 적용 확인
[mpjamong@magicpipe ~]$ sudo /usr/sbin/reboot
[sudo] password for mpjamong:
Sorry, user mpjamong is not allowed to execute '/usr/sbin/reboot' as root on magicpipe.

 

 

3. 초기 세팅 | sudo 권한으로 특정 그룹에서 실행 가능 명령어 설정

# 특정 그룹(여기서는 usermgr)에서 sudo 권한으로 실행 가능한 명령어 설정
[root@magicpipe ~]# visudo

# 해당 파일 라인 49번째 줄에 아래 내용 추가
Cmnd_Alias USERMGR = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod, \
/usr/bin/passwd

# 해당 파일 맨 마지막 라인에 아래와 같이 추가 후 저장
%usermgr  ALL=(ALL)       USERMGR

# 설정 적용 확인 (usermgr 그룹에 지정할 테스트 ID 생성과 그룹 지정)
[root@magicpipe mpjamong]# useradd usertest07
[root@magicpipe mpjamong]# passwd usertest07
Changing password for user usertest07.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@magicpipe mpjamong]# groupadd usermgr
[root@magicpipe mpjamong]# usermod -G usermgr usertest07

# 설정 적용 확인 (테스트 ID에서 sudo 권한에서 지정한 명령어 확인)
[root@magicpipe mpjamong]# su usertest07
[usertest07@magicpipe mpjamong]$ sudo useradd testuser11
[sudo] password for usertest07:
[usertest07@magicpipe mpjamong]$ sudo passwd testuser11
Changing password for user testuser11.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

 

 

4. 초기 세팅 | sudo 권한으로 ID마다 실행 가능 명령어 설정

# ID 마다 sudo 권한으로 실행 가능한 명령어 설정
[root@magicpipe ~]# visudo

# 해당 파일 맨 마지막 라인에 아래와 같이 추가 후 저장
test001  ALL=(ALL)       /usr/sbin/visudo
test002  ALL=(ALL)       /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd
test003  ALL=(ALL)       /usr/bin/vi

 

 

5. 초기 세팅 | sudo log 설정

# sudo log 설정
[root@magicpipe ~]# visudo

# 해당 파일 맨 마지막 라인에 아래와 같이 추가 후 저장
Defaults syslog=local1

# syslog 설정
[root@magicpipe mpjamong]# vi /etc/rsyslog.conf

# 해당 파일 라인 49번째 줄에 아래 내용 추가
*.info;mail.none;authpriv.none;cron.none;local1.none   /var/log/messages
local1.*                /var/log/sudo.log

# syslog 설정 적용
[root@magicpipe mpjamong]# systemctl restart rsyslog

# sudo log 확인
[root@magicpipe log]# ls -al /var/log/sudo.log
-rw------- 1 root root 396 Jul  6 10:20 /var/log/sudo.log
[root@magicpipe log]# cat /var/log/sudo.log
Jul  6 10:20:33 magicpipe sudo[7232]: test001 : TTY=pts/0 ; PWD=/home/mpjamong ; USER=root ; COMMAND=/sbin/visudo
Jul  6 10:20:43 magicpipe sudo[7240]: test001 : command not allowed ; TTY=pts/0 ; PWD=/home/mpjamong ; USER=root ; COMMAND=/sbin/adduser
Jul  6 10:20:50 magicpipe sudo[7245]: test001 : command not allowed ; TTY=pts/0 ; PWD=/home/mpjamong ; USER=root ; COMMAND=/sbin/adduser test008

 

 

관련글 더보기

댓글 영역