낮은 포트 번호(80 및 443)를 허용하기 위해 Apache를 루트로 실행하는 프로덕션 CentOS 서버가 있습니다.
우리는 루트가 아닌 사용자가 안전한 방식으로 Apache를 다시 시작할 수 있기를 바랍니다.
sudoers 파일에 이와 같은 내용을 추가하면 보안에 영향이 있습니까?
username ALL=NOPASSWD:/usr/bin/service apache2 reload
특히, 사용자가 자신의 권한을 높이거나 다른 프로그램을 루트로 실행할 수 있는 방법이 있는지 알고 싶습니다.
답변1
apache
users2 그룹에 속한 사용자에게 일부 권한 제어를 허용 하지만 루트 권한은 부여하지 않으려 고 한다고 가정해 보겠습니다 .
다음에 추가/etc/sudoers
%users2 keep ALL=NOPASSWD: /sbin/service httpd,/etc/init.d/httpd,/usr/sbin/apache2ctl
다시 시작하기를 원한다면 apache
그게 전부입니다.
%users2 ALL=NOPASSWD: /sbin/service httpd restart,/etc/init.d/httpd restart,/usr/sbin/apache2ctl restart
사용자는 어떤 명령을 사용할 수 있는지 확인할 수 있습니다 sudo
.
sudo -l
Apache를 다시 시작하려면 실행이 허용된 명령을 정확하게 입력해야 합니다. 예:
sudo /sbin/service httpd restart
보안상의 이유로 sudoers 파일에서 명령의 전체 경로를 정의하는 것이 좋습니다.