본문 바로가기

카테고리 없음

인증 디렉토리 생성과 접근제어 설정

====================================================================
LAB> 서버담당자 K씨가 아래 조건에 맞게 자신의 서버에 아파치 웹서버를 
     설정하려고 한다. 제한시간 동안 서버를 설정하시오.

제한 시간 : 20분 

-- 조건 --
1. 접속 URL 
- 아래 URL이 가능하도록 설정한다.
- 웹페이지의 내용은 "Welcome to labuser Dir" 로 한다.
- http://IP Address/~labuser/

2. 인증 디렉토리 생성
- mydata 라는 인증 디렉토리를 생성하고 사용자 인증을 설정한다.
- 이 인증 디렉토리는 자료실이므로 파일 리스트가 출력되게 설정한다.
인증 디렉토리  :  http://IP Address/~labuser/mydata/
인증할 사용자 / 비번 :  labadmin / 2015labadmin!
인증 파일이 저장될 디렉토리 : /usr/local/

3. 접근제어 설정
- 접속 URL로 접근시 아래 IP주소만 허용하고 나머지는 모두 Deny 해라.
- 접근 허용 IP 주소 : 192.168.56.1 127.0.0.1 10.10.10.3 
-- 조건 --

- 순서 -
1. 사용자 생성
2. 자료실 디렉토리 생성
3. 사용자 인증 파일 생성 (.htpasswd)
4. 웹서버 설정 변경
5. 웹페이지 확인
- 순서 -

1. 사용자 생성
- 시스템의 사용자를 생성한다.
# useradd labuser
# passwd labuser
# chmod 755 ~labuser
# su - labuser
$ cd public_html
$ echo "Welcome to labuser Dir" > index.html

2. 자료실 디렉토리 생성
- 자료실 디렉토리를 생성하고 이 디렉토리는 인증기능을  설정한다.
$ mkdir mydata
$ cd mydata
$ vi .htaccess
-- .htaccess --
AuthName "관리자 영역" 
AuthType Basic
AuthUserFile   "/usr/local/.htpasswd"
AuthGroupFile  /dev/null
<Limit GET POST>
require valid-user
</Limit>
-- .htaccess --

3. 사용자 인증 파일 생성 (.htpasswd)
- htpasswd 명령어를 이용해서 AuthUserFile 에서 설정한 .htpasswd를 생성한다.
- 사용자를 처음 생성하므로 htpasswd -c 옵션 주고 실행한다.
# cd /usr/local
# htpasswd -c .htpasswd labadmin
New password:             <-- 2015labadmin! 암호 입력
Re-type new password:     <-- 2015labadmin! 암호 입력
# cat .htpasswd 
labadmin:rBRkd9o9GD6HM

4. 웹서버 설정 변경
# vi /usr/local/apache/conf/httpd.conf
-- /usr/local/apache/conf/httpd.conf --
  :
<Directory "/usr/local/apache/htdocs">
  :
  :
</Directory>

<Directory "/home/labuser/public_html/mydata">
     Options Indexes FollowSymLinks
     AllowOverride All               <-- None -> All 로 수정
     Order Deny,Allow
     Deny from all
     Allow from 192.168.56.1 127.0.0.1 10.10.10.3
</Directory>
-- /usr/local/apache/conf/httpd.conf --

- 설정파일 구문 분석 (정상이면 웹서버를 재시작한다.)
# apachectl configtest
Syntax OK
# apachectl restart

5. 웹페이지 확인
http://IP Address/~labuser/        <-- 접근시 Welcome to ... 메세지가 나오면 성공
http://IP Address/~labuser/mydata  <-- 접근시 로그인창이 나오면 성공

====================================================================