편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
3번째 줄: | 3번째 줄: | ||
;리눅스 계정에 특정 명령어 root 실행 권한 주기 | ;리눅스 계정에 특정 명령어 root 실행 권한 주기 | ||
;/etc/sudoers | ;/etc/sudoers | ||
==방법== | ==방법== | ||
11번째 줄: | 10번째 줄: | ||
==실습== | ==실습== | ||
testuser 계정으로 아파치와 MySQL을 제어할 수 있게 해보자. | |||
===사전 확인=== | ===사전 확인=== | ||
<source lang=' | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# ps -ef | grep httpd | ||
root 8026 1 0 11:40 ? 00:00:00 httpd -k start | root 8026 1 0 11:40 ? 00:00:00 httpd -k start | ||
apache 8047 8026 0 11:41 ? 00:00:00 httpd -k start | apache 8047 8026 0 11:41 ? 00:00:00 httpd -k start | ||
33번째 줄: | 31번째 줄: | ||
===계정 생성=== | ===계정 생성=== | ||
<source lang=' | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# useradd testuser | ||
[root@ | [root@jmnote ~]# echo 'P@ssw0rd' | passwd --stdin testuser | ||
Changing password for user testuser. | Changing password for user testuser. | ||
passwd: all authentication tokens updated successfully. | passwd: all authentication tokens updated successfully. | ||
42번째 줄: | 40번째 줄: | ||
===sudo 시도=== | ===sudo 시도=== | ||
<source lang=' | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# su - testuser | ||
[testuser@jmnote ~]$ sudo /usr/sbin/httpd -k stop | [testuser@jmnote ~]$ sudo /usr/sbin/httpd -k stop | ||
[sudo] password for testuser: | [sudo] password for testuser: | ||
</source> | </source> | ||
:→ sudo로 root 권한 [[httpd]] 종료 시도. testuser의 패스워드를 물어본다. | :→ sudo로 root 권한 [[httpd]] 종료 시도. testuser의 패스워드를 물어본다. | ||
<source lang=' | <source lang='dos'> | ||
testuser is not in the sudoers file. This incident will be reported. | testuser is not in the sudoers file. This incident will be reported. | ||
</source> | </source> | ||
54번째 줄: | 52번째 줄: | ||
===권한 부여=== | ===권한 부여=== | ||
<source lang=' | <source lang='dos'> | ||
[testuser@jmnote ~]$ logout | [testuser@jmnote ~]$ logout | ||
[root@ | [root@jmnote ~]# cp /etc/sudoers /etc/sudoers.20120613 | ||
[root@ | [root@jmnote ~]# echo 'testuser ALL=NOPASSWD:/usr/sbin/httpd, /etc/rc.d/init.d/mysqld' >> /etc/sudoers | ||
[root@ | [root@jmnote ~]# tail -5 /etc/sudoers | ||
## Allows members of the users group to shutdown this system | ## Allows members of the users group to shutdown this system | ||
70번째 줄: | 68번째 줄: | ||
===sudo 시도=== | ===sudo 시도=== | ||
;아파치 종료 | ;아파치 종료 | ||
<source lang=' | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# su - testuser | ||
[testuser@jmnote ~]$ sudo /usr/sbin/httpd -k stop | [testuser@jmnote ~]$ sudo /usr/sbin/httpd -k stop | ||
[testuser@jmnote ~]$ ps -ef | grep httpd | [testuser@jmnote ~]$ ps -ef | grep httpd | ||
79번째 줄: | 77번째 줄: | ||
;아파치 시작 | ;아파치 시작 | ||
<source lang=' | <source lang='dos'> | ||
[testuser@jmnote ~]$ sudo /usr/sbin/httpd -k start | [testuser@jmnote ~]$ sudo /usr/sbin/httpd -k start | ||
[testuser@jmnote ~]$ ps -ef | grep httpd | [testuser@jmnote ~]$ ps -ef | grep httpd | ||
91번째 줄: | 89번째 줄: | ||
;MySQL 재시작 | ;MySQL 재시작 | ||
<source lang=' | <source lang='dos'> | ||
[testuser@jmnote ~]$ sudo /etc/rc.d/init.d/mysqld restart | [testuser@jmnote ~]$ sudo /etc/rc.d/init.d/mysqld restart | ||
Stopping MySQL: [ OK ] | Stopping MySQL: [ OK ] | ||
98번째 줄: | 96번째 줄: | ||
===원상복구=== | ===원상복구=== | ||
실습 전 상황으로 되돌린다(root 권한으로 수행). sudoer 파일을 복구하고 백업본은 삭제. testuser 계정 삭제. | 실습 전 상황으로 되돌린다(root 권한으로 수행). sudoer 파일을 복구하고 백업본은 삭제. testuser 계정 삭제. httpd 재시작. | ||
;명령어 | ;명령어 | ||
<source lang='bash'> | <source lang='bash'> | ||
104번째 줄: | 102번째 줄: | ||
rm -f /etc/sudoers.20120613 | rm -f /etc/sudoers.20120613 | ||
userdel -r testuser | userdel -r testuser | ||
httpd -k restart | |||
/etc/rc.d/init.d/mysqld restart | |||
</source> | </source> | ||
;실행예시 | ;실행예시 | ||
<source lang=' | <source lang='dos'> | ||
[root@ | [root@jmnote ~]# \cp /etc/sudoers.20120613 /etc/sudoers | ||
[root@ | [root@jmnote ~]# rm -f /etc/sudoers.20120613 | ||
[root@ | [root@jmnote ~]# userdel -r testuser | ||
[root@ | [root@jmnote ~]# httpd -k restart | ||
[root@jmnote ~]# /etc/rc.d/init.d/mysqld restart | |||
[root@ | |||
Stopping MySQL: [ OK ] | Stopping MySQL: [ OK ] | ||
Starting MySQL: [ OK ] | Starting MySQL: [ OK ] | ||
121번째 줄: | 117번째 줄: | ||
==같이 보기== | ==같이 보기== | ||
* [[/etc/sudoers | *[[/etc/sudoers]] | ||
==참고 자료== | |||
==참고== | |||
*http://blog.naver.com/opalcosmos/90033450548 | *http://blog.naver.com/opalcosmos/90033450548 | ||
[[분류: 리눅스 계정]] | [[분류: 리눅스 계정]] | ||
[[분류: /etc]] | [[분류: /etc]] |