강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

특정 사용자에게 sudo명령어로 시스템의 모든 명령어 사용허용 설정

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

특정 사용자에게 sudo명령어로 시스템의 모든 명령어 사용허용 설정

 

 

 

 

sudo명령어의 가장 강력한 사용 예부터 보도록 하겠습니다.

 

 

 

 , /etc/shadow파일은 root사용자만이 그 내용을 확인(읽기)할 수 있도록 퍼미션이 설정되어 있습니다.

 

 

 

 따라서 root사용자 외에는 그 어떤 사용자라도 /etc/shadow파일의 내용을 확인해 볼 수 없습니다.

 

 

 

 

 

하지만 sudo명령어를 이용하면 /etc/sudoers파일에 허용된 일반사용자도 root권한으로 /etc/shadow파일의 내용을 확인해 볼 수 있습니다.

 

 

 

 

 

먼저, /etc/sudoers파일에 sudo명령어의 사용허용설정이 되어있지 않은 경우에 sudo명령어를 사용하면 다음과 같은 메시지를 출력하면서 정상적인 실행이 되지 않습니다.

 

 

 

 

 

다음 예는 sspark이라는 일반 사용자에게 /etc/sudoers에 허용설정이 되어있지 않은 경우의 sudo사용 예입니다.

 

 

 

 

 

[sspark@su250 ~]$ id

uid=504(sspark) gid=504(sspark) groups=504(sspark)

[sspark@su250 ~]$

[sspark@su250 ~]$ sudo vi /etc/shadow

 

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:

 

    #1) Respect the privacy of others.

    #2) Think before you type.

    #3) With great power comes great responsibility.

 

[sudo] password for sspark: ********

sspark is not in the sudoers file.  This incident will be reported.

[sspark@su250 ~]$

 

, sspark사용자는 sudo사용설정이 되어있지 않았기 때문에 위와 같이 정상적인 실행이 되지 않은 것입니다.

 

 

 

 

 

그리고 위와 같이 허용되지 않은 사용자가 sudo명령어를 사용하였다면 /var/log/secure파일에 시스템 보안점검을 위하여 다음과 같은 기록을 남기게 됩니다.

 

 

 

 

 

Jan 20 15:22:25 su250 sudo:   sspark : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/sspark ; USER=root ; COMMAND=/bin/vi /etc/shadow

 

이번에는 sspark이라는 사용자에게 /etc/sudoers파일에 sudo명령어의 허용설정을 한 후에 다시 한번 동일한 실행을 해보도록 하겠습니다.

 

 

 

 

 

, 아래의 예는 /etc/sudoers파일에 sspark에 대해 시스템의 모든 명령어를 sudo명령어를 이용하여 사용할 수 있도록 설정한 것입니다.

 

 

 

 , 아래 행을 /etc/sudoers파일에 추가한 것입니다.

 

 

 

 

 

sspark  ALL=(ALL) ALL

 

 

 

 

그런 다음 앞에서 실행하였던 “sudo vi /etc/shadow”명령어를 다시 실행한 것으로서 root사용자만이 볼 수 있었던 /etc/shadow파일의 내용을 일반사용자인 sspark사용자가 확인하는 예입니다.

 

 

 

 , /etc/sudoers파일에 sspark사용자의 sudo명령어 허용설정이 되어있기 때문에 아래의 명령어가 정상적으로 실행된 것입니다.

 

 

 

 

 

[sspark@su250 ~]$ id

uid=504(sspark) gid=504(sspark) groups=504(sspark)

[sspark@su250 ~]$

[sspark@su250 ~]$ sudo vi /etc/shadow

[sudo] password for sspark: ********

 

 

root:$6$EY1RGogE$oQG9fOqZVwWH19VyLRyR7YntnH0jPgrSYBzpWwLVaP...F0:14236:0:99999:7:::

bin:*:14214:0:99999:7:::

daemon:*:14214:0:99999:7:::

adm:*:14214:0:99999:7:::

lp:*:14214:0:99999:7:::

sync:*:14214:0:99999:7:::

shutdown:*:14214:0:99999:7:::

halt:*:14214:0:99999:7:::

sshd:!!:14214:0:99999:7:::

webalizer:!!:14214:0:99999:7:::

torrent:!!:14214:0:99999:7:::

haldaemon:!!:14214:0:99999:7:::

squid:!!:14214:0:99999:7:::

gdm:!!:14214:0:99999:7:::

command:$6$tupRVcOi$hkJJbz.1zWopLHUKeGC7DNC3UFx.2rJUMzqsUPk9dIXo.:14234:0:99999:7:::

@

"/etc/shadow" [readonly] 44L, 1723C

 

 

 

 

위의 예에서 “sudo vi /etc/shadow”명령어를 실행한 후에 “Password : “라는 프롬프트에는 root의 패스워드가 아닌 자기자신(sspark)의 패스워드를 입력하여야 합니다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  110 명