RadarURL
Skip to content
조회 수 4 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

아파치 설치를 위해 웹 사이트를 검색해 보면 대부분의 글들은 루트 계정을 통해 아파치를 설치하고 설정하는 내용만을 담고 있습니다. 필자 또한 이전 글에서 루트 계정을 통해 아파치를 설치했고 설정 작업을 진행했습니다. 이러한 상태로 아파치 시스템을 운영하게 된다면 루트 계정을 통해 시스템을 운영하는 것이 됩니다.

그런데 실제 운영 시스템에서 아파치를 루트 계정으로 운영하고 관리해도 아무런 문제 없을까요?

시스템 관리자가 여러 명일 경우, 즉 머신 및 OS를 관리하는 관리자가 있고 아파치를 관리하는 관리자가 있고, 톰캣을 관리하는 관리자가 있고... 이러한 상황에서 아파치 관리자가 루트 계정으로 아파치를 관리하다면 보안/시스템 운영 등 여러 가지 문제가 발생할 수 있습니다. 물론 한 명의 관리자가 모든 시스템을 관리하거나 회사의 개발서버 등을 운영할 경우는 루트 계정을 통해 운영해도 문제가 없을 수 있지만, 이러한 경우가 아니라면 반드시 계정별 관리가 필요할 것입니다.

이러한 이유로... 지금부터 일반계정을 통해 아파치를 운영/관리할 수 있도록 설정하는 작업을 진행하도록 하겠습니다.


아파치 설치는 이전 포스팅을 참고하시기 바랍니다.

https://blog.naver.com/tawoo0/221582362314

1. 일반 계정 생성

- SSH 접속 도구를 사용하여 루트 계정으로 접속 → 계정 생성 → 패스워드 설정 → 계정의 홈 디렉터리 확인

※ 아파치를 관리하는 계정이기 때문에 계정명은 apache로 생성

# 루트 계정으로 접속 login as: root root@127.0.0.1's password: Last login: Wed Jul 10 12:42:00 2019 from gateway [root@localhost ~]#
# apache 유저 생성 및 패스워드 설정 [root@localhost ~]# useradd apache [root@localhost ~]# passwd apache apache 사용자의 비밀 번호 변경 중 새 암호: 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다. [root@localhost ~]#
# ls 명령어를 이용하여 정상적으로 계정이 생성되었는지 확인 [root@localhost ~]# ls -al /home/apache 합계 24 drwx------. 3 apache apache 4096 711 10:58 . drwxr-xr-x. 4 root root 4096 711 10:58 .. -rw-r--r--. 1 apache apache 18 1031 2018 .bash_logout -rw-r--r--. 1 apache apache 193 1031 2018 .bash_profile -rw-r--r--. 1 apache apache 231 1031 2018 .bashrc drwxr-xr-x. 4 apache apache 4096 617 16:52 .mozilla [root@localhost ~]#

2. 아파치 소유권 및 권한 변경

- chown 이용해서 아파치 설치 디렉터리 하위의 모든 디렉터리 및 파일들을 apache 계정으로 소유권 변경

chown은 파일의 소유자를 변경하는 명령어로써 chown -옵션 소유자:소유그룹 파일 경로 형태로 사용된다.

-R 옵션은 하위의 모든 디렉터리와 파일의 소유권같이 변경합니다.

# 소유권 변경전 [root@localhost ~]# ls -al /sw 합계 16 drwxr-xr-x. 4 root root 4096 710 13:11 . dr-xr-xr-x. 19 root root 4096 78 14:35 .. drwxr-xr-x. 15 root root 4096 710 13:12 httpd-2.4.39 drwxr-xr-x. 4 root root 4096 710 13:04 tmp [root@localhost ~]#
# apache로 소유권 변경 [root@localhost ~]# chown -R apache:apache /sw/httpd-2.4.39 [root@localhost ~]#
# 소유권 변경후 [root@localhost ~]# ls -al /sw 합계 16 drwxr-xr-x. 4 root root 4096 710 13:11 . dr-xr-xr-x. 19 root root 4096 78 14:35 .. drwxr-xr-x. 15 apache apache 4096 710 13:12 httpd-2.4.39 drwxr-xr-x. 4 root root 4096 710 13:04 tmp [root@localhost ~]#

- 아파치 홈/bin/httpd 파일의 소유권만 root:apache로 변경 → 아파치 홈/bin/httpd 파일의 setuid 권한 부여

well-known 포트 즉 1024이하의 포트는 root만 접근이 가능한 포트이다. 아파치 계정으로 접속하여

아파치를 실행하면 다음과 같은 에러 메시지가 발생한다. 80 포트를 사용하는 것이 문제가 되는 것이다.

# apache 계정으로 접속하여 아파치를 실행할 경우 80포트 문제로 에러 발생 [apache@localhost bin]$ ./apachectl start (13)Permission denied: AH00072: make_sock: could not bind to address [::]:80 (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down AH00015: Unable to open logs [apache@localhost bin]$

그렇기 때문에 아파치 구동의 핵심 파일인 httpd 파일의 소유주를 root로 변경하고, 소유 그룹을 apache

그룹으로 변경한 후 특수 권한(SetUID ,SetGID 권한)을 chmod +s 파일명 형태로 부여해야만 일반 계정으로

80 포트를 통해 아파치를 실행시킬 수 있다.

SetUID ,SetGID 권한을 설정하면 httpd 파일의 소유자가 root 경우 apache 계정으로 실행해도

root 권한으로 실행되고, 소유그룹이 root여도 root그룹 권한으로 실행되기 때문에 80 포트를

사용할 수 있게 된다.

# httpd 파일 소유자 변경 및 특수권한 부여 [root@localhost bin]$ chown root:apache httpd [root@localhost bin]$ chmod +s httpd

ls 명령어를 통해 파일의 상태를 확인해 보면 소유자, 소유그룹의 실행 권한이 x가 아닌 s로 나오는데 이것은 SetUID와 SetGID 권한이 부여된 것을 나타낸다. SSH 접속 툴마다 다를 수도 있겠지만 필자의 툴(putty)에서는 이러한 특수 권한이 부여된 파일에 대해서는 붉은색으로 표시된다.

image01.png

 

<SetUID, SetGID 권한 부여 확인>

- 서비스에 등록되어져 있다면 다른 일반 계정이 실행하지 못하게 소유권 및 권한 변경

# apache 계정으로 소유권 및 권한 변경 [root@localhost ~]$ chown apache:apache /etc/init.d/httpd [root@localhost ~]$ chmod 750 /etc/init.d/httpd

3. 아파치 실행 권한 설정

- 다른 일반 계정으로 아파치 관리하는 것을 막기 위해 아파치 홈 디렉터리의 접근 권한을 변경

※ 아파치 홈 디렉터리의 권한은 drwxr-xr-x으로 설정되어 있어 일반 계정이 실행시킬 수 있는 상태

# 일반 계정의 접근 권한 자체를 막아 버린다. [root@localhost sw]$ chmod 750 httpd-2.4.39

- 아파치 홈/conf/httpd.conf 파일의 User, Group 항목을 apache 계정명으로 변경하여 아파치

프로세스의 소유자를 apache 계정으로 지정

※ 초기의 아파치 프로세스의 소유자는 daemon으로 되어 있고, 위에서 다른 일반 계정의 접근을 막았기 때문에

아파치가 실행되어도 Forbidden(403-권한없음) 에러가 발생한다. daemon을 apache로 변경하여 요청에

접근 가능한 형태로 수정해야 한다.

# 아파치 설정 파일 변경 [root@localhost ~]$ vi /sw/httpd-2.4.39/conf/httpd.conf
image02.png

 

<변경 전>

image03.png

 

<변경 후>

일반계정을 통해 아파치를 관리하기 위한 모든 설정이 완료되었습니다.

아파치 계정 및 다른 일반 계정을 통해 실행/종료해보시면 확실하게 감이 오실 겁니다.

다음 글에서는 아파치와 연동할 톰캣을 설치/설정하는 방법을 알아보도록 하겠습니다.

 

출처 : https://m.blog.naver.com/PostView.nhn?blogId=tawoo0&logNo=221584084277&proxyReferer=https:%2F%2Fwww.google.com%2F

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.17 829488
2593 웹서버,WAS [리눅스] 웹서버(아파치;apache) 설치후 다른 계정으로 실행하기 file JaeSoo 2021.01.02 4
2592 웹서버,WAS [CentOS] 아파치(apache) 제거하기 file JaeSoo 2021.01.02 4
2591 웹서버,WAS [Linux] Apache 웹서버 정리 JaeSoo 2021.01.02 3
2590 웹서버,WAS CentOS 7 - Apache 아파치 실행 상태 확인 file JaeSoo 2021.01.02 3
2589 웹서버,WAS 아파치 2.4에서 httpd.conf 데몬 실행 오류 찾아내는 방법 JaeSoo 2021.01.02 2
2588 웹서버,WAS service httpd.service 오류 발생 시 해결방법 file JaeSoo 2021.01.02 3
» 웹서버,WAS [Apache & TOMCAT 연동 2] 일반계정으로 아파치 관리 file JaeSoo 2021.01.02 4
2586 웹서버,WAS CentOS 7 / Apache / 하나의 서버에 여러 사이트 운영하기 JaeSoo 2021.01.02 5
2585 웹서버,WAS Centos 7 - 아파치(Apache) 설치 file JaeSoo 2021.01.02 5
2584 유닉스/리눅스 CentOS 7 / APM(Apache, PHP, MariaDB) 설치하는 방법 file JaeSoo 2021.01.02 7
2583 네트워크 넷기어(NETGEAR) GS724T 루프 방지 설정하기 file JaeSoo 2021.01.02 6
2582 건강 고도 근시 안경 후기, 양면 비구면 렌즈 케미 디프리, 아사히 다가스 가격 비교 file JaeSoo 2020.12.27 20
2581 건강 안경 처방전 보는법 콘택트 렌즈 등 (SPH, CYL, AXIS, ADD, 프리즘안경) file JaeSoo 2020.12.27 13
2580 건강 안경살 때 안경봉투와 포그마킹의 중요성 (오늘 겪은일) JaeSoo 2020.12.24 42
2579 건강 안경봉투와 포그마킹의 중요성 (어제 직접 겪은 일 / 으뜸50 ㅅ지점) JaeSoo 2020.12.24 26
2578 건강 구면, 비구면, 양면비구면 렌즈란? file JaeSoo 2020.12.24 32
2577 건강 전직 안경사가 쓴댓글인데 이거 진짜인가요? JaeSoo 2020.12.24 21
2576 건강 안경/콘택트 렌즈 가격 정보 file JaeSoo 2020.12.24 21
2575 건강 안경 렌즈 브랜드 서열 순위 file JaeSoo 2020.12.24 26
2574 건강 안경렌즈 가격 팁+ 후기 JaeSoo 2020.12.24 18
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 131 Next
/ 131

 

■ 즐겨찾기 - 가족
JAESOO's HOMEPAGE YOUNGAE's HOMEPAGE 장여은 홈페이지 장여희 홈페이지 장여원 홈페이지

■ 즐겨찾기 - 업무
알리카페 홀릭 숭실대 컴퓨터 통신연구실 (서창진) 말레이시아 KL Sentral 한국인 GuestHouse

■ 즐겨찾기 - 취미
어드민아이디 유에코 사랑회 아스가르드 좋은사람/나쁜사람 JServer.kr 제이서버 메타블로그 재수 티스토리

■ 즐겨찾기 - 강의, 커뮤니티
재수 강의 홈페이지 한소리 VTMODE.COM 숭실대 인공지능학과 숭실대 통신연구실


PageViews   Today : 1,077   Yesterday : 1,291   Total : 64,949,086  /  Counter Status   Today : 404   Yesterday : 499   Total : 4,185,892
Site Info   Member : 1,464  /  Total documents : 8,025   New documents : 0  /  Total comments : 563

design by by JAESOO.com

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소