웹페이지 사용자 인증 하기
아래 mrtg 를 그리고서 아무나 들락 거리면 안되기 때문에 관리자만 확인 할 수 있도록 합니다.
hpasswd를 이용한 사용자 인증
password를 묻는 대화상자(dialogue box)는 cgi 나 java script으로 만든 것이 아닌 APACHE httpd Server 데몬과, 사용자가 만드는 .htaccess 화일과 .htpasswd 화일을이용한 웹서버의 기본 인증 절차에 의한 것임
이 두 개의 화일들을 패스워드를 걸 페이지가 있는 디렉토리에 두면, 외부인이 브라우저로 그 디렉토리에 있는 화일들(HTML화일들)에 접근을 할 때, 패스워드를 묻는 대화상자를 내보내게 함.
.htaccess 파일 만들기
– 인증 하고 싶은 디렉토리에 .htaccess라는 파일생성
반드시 “AuthName 과 AuthUserFile” 만 변경하고 나머지는 그대로!!
[root@localhost11:48:45:/var/www/mrtg]# vim .htaccess
AuthName “패스워드박스에 나타나는 메시지” (반드시 따옴표 입력) –> 암꺼나 써도됨 ㅇㅇ;
AuthType Basic
AuthUserFile /var/www/mrtg/.htpasswd (절대경로로)
AuthGroupFile /dev/null
<Limit GET POST>
require valid-user
</Limit>
[root@localhost11:48:45:/var/www/mrtg]# ll
합계 188
drwxr-xr-x 2 root root 4096 4월 4 11:45 ./
drwxr-xr-x 3 root root 4096 2월 27 14:11 ../
-rw-r–r– 1 root root 137 2월 27 19:18 .htaccess
-rw-r–r– 1 root root 1490 4월 4 11:45 115.68.87.115-day.png
-rw-r–r– 1 root root 1598 4월 4 11:30 115.68.87.115-month.png
…
Server Error가 나는 경우 대부분 AuthUserFiles의 잘못된작성임.
” ErrorDocument 401 “the text you want.. ”
* 엔터프라이즈(enterprise)서버에서는 .htaccess파일이 아니라 nsconfig파일을 사용하며 위와 다르고 다음과 같이 .nsconfig 파일을 작성.
<Files *>
RequireAuth userfile=/path/.nspasswd realm=”Private Directory”
</Files>
path는 .nspasswd 파일이 있는 물리적 경로입니다. .nspasswd파일은 아래의 htpasswd과 같은 형태로 만들어 줍니다.
.htpasswd 파일만들기 (첫 사용자 ID만들기)
– .htpasswd는 사용자ID와 패스워드가 있는 파일
– 다른이름으로 설정할 수 있으나 .htaccess의 경로와 일치
– .htpasswd를 만들기 위해서는 htpasswd라는 프로그램을 사용해야 하는데, 보통 리눅스Linux용 htpasswd는 /usr/sbin 또는 /usr/bin 디렉토리에 있슴메
– 본 호구는 /usr/local/apache/bin/htpasswd -c .htpasswd 계정명
(최초에는 반드시 -c 옵션을 줍니다.)
New password: 로그인 할 비밀번호 입력.
Re-type new password: 재입력.
Adding password for user admin 성공 한 메세지.
사용자 ID 추가하기
– $ /usr/sbin/htpasswd .htpasswd 계정명
(-c를 빼고 적어야 됩니다.-c 옵션 추가시 기존 ID는 지워짐.)
– 암호를 두 번 입력
위와 같이 하면 .htpasswd 파일에 사용자 아이디와 암호화된 패스워드가 저장!!!
이제 .htpasswd 에 입력된 사용자만 해당 디렉토리에 접근할 수 있으며 한 번 로그인 된 브라우저를 재 접속 할 때 암호 창이 뜨지 않고 그냥 접속이 됩니다. 테스트 하기 위해 선 한 번 로그인 된 브라우저를 닫고 새 브라우저를 열고 확인 합니다.
그러나 이렇게 해도 접속 창이 뜨질 않는다면 .htaccess 를 사용 하기 위에 디렉토리 설정을 해야 합니다.
[root@localhost11:59:45:/var/www/mrtg]# vi /usr/local/apache/conf/httpd.conf —> 해당 파일을 열어 맨 아래에 아내 내용 추가
#=====================================
<Directory “/var/www/mrtg*”>
AllowOverride All
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>
#=====================================
mrtg 관련 index 페이지를 사용 하기 위해 내용삽입 및 apache 재구동을 합니다.
웹 브라우져에서 url로 확인
0 개의 댓글