-
[Linux] 리눅스 계정에 특정 명령어 root 실행 권한 주기서버 2016. 12. 19. 20:30
sudo 명령어... 로 한 다음, 비밀번호를 입력하면 전부 열리지만 간혹 실행이 되지 않는 경우가 있습니다. 이때 해당 로그인된 계정에 특정 명령어에 대한 root 권한을 주어 실행할 수 있도록 하는 방법입니다.
예제로 test 계정으로 아파치를 제어할 수 있도록 변경합니다. test 계정으로 아파치를 제어할 수 있어도 아파치의 시작, 종료 등의 권한만 있고, 프로세스 실제 소유자는 여전히 root입니다.
계정 생성
[root@localhost ~]# useradd test [root@localhost ~]# echo 'qwer1234' | passwd --stdin test Changing password for user test. passwd: all authentication tokens updated successfully.
sudo 시도
[root@localhost ~]# su - test [test@localhost ~]$ sudo /usr/sbin/httpd -k stop [sudo] password for test: test is not in the sudoers file. This incident will be reported.
위 처럼 비밀번호를 맞게 입력해도 sudoers에 설정되지 않아 실행되지 않습니다.
권한 부여
[root@localhost ~]# echo 'test ALL=NOPASSWD:/usr/sbin/httpd' >> /etc/sudoers [root@localhost ~]# tail -5 /etc/sudoers ## Allows members of the users group to shutdown this system # %users localhost=/sbin/shutdown -h now test ALL=NOPASSWD:/usr/sbin/httpd # NOPASSWD: 를 제거할 경우, sudo를 사용할 때 비밀번호를 물어봄
결과
[test@localhost ~]$ sudo /usr/sbin/httpd -k start # NOPASSWD: 를 추가해서 sudo가 되는 것은 물론 비밀번호 입력없이 실행