루트 권한 제한 (sudo)
- 인증받은 사용자가 특정 명령을 root 권한으로 실행하는 명령어 이다.
/etc/sudoers
- sudo 명령을 내릴 수 잇는 사용자와 명령을 정희한 파일로 편집하려면 visudo 명령을 사용해야 한다.
visudo
- /etc/sudoers 파일을 수정하는 명렁어 이다.
1. sudoers 파일 수정
[root@server3 ~]# vi /etc/sudoers - vi 편집기로는 /etc/sudoers 파일을 수정할 수 없다. read-only 파일이기 때문이다. [root@server3 ~]# visudo test1 ALL=/usr/sbin/useradd, /usr/bin/passwd - 추가해준다. 참고 - %를 이용하면 그룹지정을 할 수 있다. ex) %users ALL= - users라는 그룹에 대해서 권한을 지정할 수 있다. |
2. 테스트
[root@server3 ~]# useradd test1 [root@server3 ~]# passwd test1 Changing password for user test1. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@server3 ~]# su - test1 [test1@server3 ~]$ whoami test1 [test1@server3 ~]$ useradd -bash: useradd: command not found [test1@server3 ~]$ /usr/sbin/useradd test6 -bash: /usr/sbin/useradd: 허가 거부됨 [test1@server3 ~]$ sudo /usr/sbin/useradd test5 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. Password: - root 계정의 패스워드를 입력해준다. [test1@server3 ~]$ ------------------------------------------------------------------- - 다른 쉘에서 확인 [root@server3 ~]# tail /etc/passwd kim:x:670:15::/home2/kim:/bin/bash lee:x:690:500::/home2/lee:/bin/csh park:x:700:15::/home2/park:/bin/bash test2:x:701:701::/home/test2:/bin/bash test3:x:702:702::/home/test3:/bin/bash test4:x:703:703::/home/test4:/bin/bash test1:x:704:704::/home/test1:/bin/bash test5:x:705:705::/home/test5:/bin/bash - test5가 생성된 것을 확인할 수 있다. [root@server3 ~]# ------------------------------------------------------------------- [test1@server3 ~]$ sudo /usr/bin/passwd test5 - 한번 패스워드를 입력하면 쉘이 있는 동안에는 계속 적용된다. Changing password for user test5. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [test1@server3 ~]$ |
3. su 명령제한
- su 명령은 특정 사용자 외에 일반 사용자는 사용하지 않도록 하는 것이 좋다.
[root@server3 ~]# whereis su su: /bin/su /usr/share/man/man1/su.1.gz [root@server3 ~]# ls -l /bin/su - su의 퍼미션 확인 -rwsr-x--- 1 root su 24120 5월 25 2008 /bin/su [root@server3 ~]# chown root.test1 /bin/su [root@server3 ~]# ls -l /bin/su -rwxr-x--- 1 root test1 24120 5월 25 2008 /bin/su [root@server3 ~]# chmod 4750 /bin/su - SUID 를 지정 [root@server3 ~]# ls -l /bin/su -rwsr-x--- 1 root test1 24120 5월 25 2008 /bin/su [root@server3 ~]# su - test2 - root계정이기 때문에 su 명령어을 사용할 수 있다. [test2@server3 ~]$ su - test4 - test2 사용자가 su 명령어를 사용하려하면 거부된다. -bash: /bin/su: 허가 거부됨 [test2@server3 ~]$ su - test5 -bash: /bin/su: 허가 거부됨 |
'Linux > 보안' 카테고리의 다른 글
네트워크 서비스 보안 - tcpdump (0) | 2009.01.30 |
---|---|
네트워크 서비스 보안 - TCP_Wrapper (0) | 2009.01.30 |
사용자 보안 - PAM (0) | 2009.01.29 |
사용자 보안 - 패스워드 크랙 (0) | 2009.01.29 |
시스템 보안 - Kernel tuning (0) | 2009.01.23 |
시스템 보안 - Immutable Bit 설정 (0) | 2009.01.23 |