Computer ???
No. | 61 |
Name. | swindler |
Subject. | Apache의 사용자 인증 |
Main Cate. | Linux |
Sub Cate. | |
Date. | 2005-07-04 19:54 |
Hit. | 3639 (211.109.70.164) |
File. | |
Authentication 인터넷을 통해 여행을 하다 보면 흔히 로그인과 패스워드를 묻는 창을 만나볼수가 있다. 특히 상업용사이트에서는 더욱 그러하다. 디렉토리의 접근을 허가된 사용자에게만 부여하여 외부 인터넷 세계의 불특정 다수 사용자의 칩입으로부터 막을 수 있는 웹 사이트의 보안정책이라 할 수 있다. 이러한 사용자 인증을 아파치 웹 서버를 통하여 구현하여 보자. 아파치 웹 서버를 설치할때 conf/access.conf 파일을 본 적이 있을 것이다. access.conf 은 이름이 말해주듯이 웹 서버의 전체적인 엑세스를 담당하는 설정파일이다. 일단 이 파일을 알맞게 설정해 주어야 한다. * Ex) access.conf <Directory /usr/local/httpd/htdocs> AllowOverride All /* 해당 디렉토리의 모든 접근 허용 */ Options Indexes FollowSymLinks /* 색인요청 및 심볼링 링크 허용 */ Options Includes /* SSI 허용 */ <Limit GET POST> /* GET, POST 제한 */ order allow,deny allow from all /* 해당 디렉토리에 대한 모든 호스트 접근 허용 */ </Limit> </Directory> 웹 서버 차원에서 접근제한을 하려면 access.conf 파일을 수정하여 주면 되고, 이러한 방법과는 달리 디렉토리별로 제한하려면 .htaccess 와 .htpasswd 파일이 필요하다. (.htaccess 파일의 내용을 access.conf 파일에 적용하면 웹 서버 전체를 접근 제어 할수 있다.) * Ex) .htaccess AuthType Basic AuthName Administrator AuthUserFile /usr/local/httpd/htdocs/.htpasswd AuthGroupFile /dev/null <Limit GET POST> require valid-user /* 인증된 사용자만이 해당 디렉토리를 엑세스 할 수 있다. */ </Limit> * Ex) .htpasswd test:ki*FKJsBQ (유저아이디:패스워드) 수동으로 만들어 주어도 되고, htpasswd 파일을 이용하여 만들어 줄 수도 있다. ( htpasswd 파일은 support/ 디렉토리 안에서 찾을 수 있다) Usage: htpasswd [-c] passwordfile username -c 옵션은 패스워드 파일을 새로 생성할 경우 사용 이제 인증에 필요한건 모두 수정하였다. 마지막으로 남은 일은 웹서버를 다시 띄어 주는 일만 남았다. 그렇다구 웹 서버 프로세스를 죽이고 다시 시작하는 것이 아니라 다음의 명령어로 쉽게 웹 서버를 Reload 할 수 있다. orange#>kill -HUP 399 +---|----|-------> Terminate or signal processes |----|-------> hangup |-------> 아파치 프로세스 PID Note: 다양한 인증방법 Mod_auth : 텍스트로 된 패스워드 파일을 이용한 사용자 인증을 위해 사용하는 모듈 Mod_auth_anon: 익명 FTP 와 같이 익명 사용자 인증을 위해 이용 Mod_auth_db : 버클리 DB 파일을 이용하는 사용자 인증 모듈 Mod_auth_dbm : DBM 파일을 이용하는 사용자 인증 모듈 Mod_auth_msql : mSQL 데이타베이스를 이용하는 사용자 인증 모듈 [바로가기 링크] : http://coolx.net/cboard/computer/61 |
|
|
|
[Modify] [Delete] | [Reply] [List] |