Server/CentOS

[CentOS]sudoers를 이용하여 root 로그인 없이 아파치 실행하기

louis.dev 2013. 11. 14. 16:33
apachectl을 통해서 apache 프로세스를 올릴때는 root권한이 필요하다. 그런데 매번 서버를 재시작할때 root로그인하는것도 너무 귀찮고, 리눅스를 사용하는 일반 유저들(시스템 엔지니어가 아닌 일반 개발자)에게 root 비밀번호를 공유하는것도 보안에 너무 취약한 방법이다. 그리고 웹서비스를 서비스할때 쉽게 배포하기위해서 쉘스크립트를 만들어서 배포하게 되는데, 이때 아파치 서버를 재시작해야 하는 부분이 스크립트에 추가 되게 된다면 스크립트 실행시에 root권한을 획득하기 위해 매번 root비밀번호를 물어보게 된다. 너무 귀찮다. 그럴때 사용하는 방법이 sudoers 설정을 하는것이다. 이것은 일반유저에게 특정한 명령어를 root권한으로 로그인없이 실행할수 있도록 도와준다. 즉 sudoer를 이용하면 apachectl명령어를 root권한없이 수행할 수 있게 된다. 이렇게 되면 위에서 나열한 웹서버 운영중 불편한점을 많이 개선할수 있게 된다. 설정은 매우 간단하다. 1) root로그인후 /etc/sudoers 파일을 연다. 2) 적당한 곳에 다음과 같이 입력한다.
Cmnd_Alias APACHE = ${아파치 설치경로}/bin/apachectl
${루트권한을 획등할 사용자아이디} ALL=(ALL) NOPASSWD: APACHE
설정은 이로서 끝이다. 사실 별거 없다.. 이렇게 설정하고 사용할때는
$ sudo apachectl restart
로 사용하면 root 비밀번호를 묻지않고 apachectl명령이 수행된다.