일반사용자 root 권한 주기 및 특정 실행파일만 권한주기

리눅스/OS 일반|2014. 12. 30. 23:57
반응형

root 사용자로 sudoers 파일에 일반계정이 사용할 명령어를 설정 해두어야 합니다.

아래 파일을 열어 붉은색 글씨를 추가 합니다.

(예시 : sysdocu 사용자에 blkid, fdisk 명령 권한 주기)


# vi /etc/sudoers

 

root    ALL=(ALL)   ALL
sysdocu    ALL=(ALL)   NOPASSWD:/usr/sbin/blkid, /usr/sbin/fdisk


* 해설

sysdocu 계정은 blkid, fdisk 명령시 root 패스워드 없이 실행 가능하며, 그 외 명령어는 root 패스워드를 받게 됩니다.



/etc/sudoers 가 수정되면, 이후에 로그인 한 사용자에게 적용이 됩니다.

아래와 같이 명령어 앞에 sudo 를 꼭 붙여야 실행이 가능합니다.


[sysdocu@localhost ~]$ sudo /usr/sbin/blkid

[sysdocu@localhost ~]$ sudo /usr/sbin/fdisk -l



* 참고1

/etc/sudoers 파일의 'Defaults requiretty' 옵션은 터미널 (쉘 환경) 에서만 사용한다는 옵션입니다.

웹페이지로 접속하려는 경우에는 (nobody, apache 등) 해당 옵션을 주석처리 해주어야 명령이 가능 해집니다.


* 참고2 : php 에서 사용시

<?

$a = shell_exec("sudo blkid");

$a = preg_replace("/[\\n]/", "<br>", $a);

echo $a;

?>



반응형

댓글()