공부/리눅스

[아파치] 아파치를 root대신 일반 계정으로 관리하기

ghhong 2022. 6. 14. 15:03

Apache 일반계정으로 관리 (root 대신 apache 계정)

1. apache 계정생성

$ useradd apache -p apache -d /home/apache
(-p로 그냥 넣으면 암호가 평문으로 들어가서 안 됨... useradd -p `openssl passwd apache` 이렇게 해야 한다나..)
http://blog.daum.net/kst435/6

2. 일반계정으로 변경 

$ cd /usr/local
$ chown -R apache.apache apache


3. setUID 설정 --> 이렇게 안 해 주면 1024 이하 port 오픈 안 됨. (아파치 메인 프로세스를 root로... 그 외는 실 처리 프로세스는 apache로 뜨게 하는 설정임)

$ cd /usr/local/apache/bin
$ chown root:root httpd
$ chmod 4755 httpd
$ ls -al
-rwsr-xr-x.  1 root   root   2423986  3월 15 16:59 httpd
https://ttend.tistory.com/689

4. 설정파일 계정정보 설정 (daemon -> apache)

$ cd /usr/local/apache/conf
$ vi httpd.conf
  User apache
  Group apache


5. 일반계정으로 재기동
$ ./apachectl restart


6. URL 호출 테스트

- Apache 기본 페이지 : http://localhost 

-->

tomcat은 1024 초과된 포트 (8009 등...)만 쓴다면 그냥 모든 권한을 apache 로 해서 시작 시키면 됨.
-> tomcat 자체가 일반 계정으로 실행 되므로
    work 디렉토리에도 해당 계정이 접근 가능해야 한다.

접근 권한에 주의를 기울여야 함 (nfs 로 된 디렉토리의 경우 root만 가능하다든지... 아니면 crontab으로 수행된 결과물 등)