htpasswd 웹페이지 암호걸기

htpasswd 사용법

.

htpasswd란?

.

특정 페이지를 제한하고자 할 경우 홈페이지의 특정 디렉토리에 비밀번호 장치를 배치하고 특정 사용자에게 아이디와 비밀번호를 발급하여 해당 아이디와 비밀번호를 제시하면 특정 사용자만 통과할 수 있도록 하는 기능입니다. 디렉터리에 액세스할 수 있습니다.

.

.htaccess 파일 생성

.

이것은 .htaccess 파일을 통해 가능합니다. 먼저 접근을 제어할 디렉토리에 다음 내용으로 .htaccess 파일을 생성합니다.

.

htaccess 파일 생성

.

예) test라는 디렉터리에 특정 사용자만 접근을 허용하고 admin이라는 계정을 만들고 happy라는 계정을 추가합니다.

.

/.htaccess

.

————————————————– —————-

AuthName ‘사용자 인증 방법’

인증 유형 기본

AuthUserFile /home/username/test/.htpasswd

AuthGroupFile /dev/null

ErrorDocument 401 ”앗!! 정식 사용자가 아닙니다.’

.

유효한 사용자가 필요합니다

————————————————– —————-

.

.htaccess 파일을 생성한 후 htpasswd라는 유틸리티를 실행하면 자동으로 .htpasswd라는 파일이 생성됩니다.

.

특정 페이지를 제한하고자 할 경우 홈페이지의 특정 디렉토리에 비밀번호 장치를 배치하고 특정 사용자에게 아이디와 비밀번호를 발급하여 해당 아이디와 비밀번호를 제시하면 특정 사용자만 통과할 수 있도록 하는 기능입니다. 디렉터리에 액세스할 수 있습니다.

.

.

사용자 생성 및 추가

.

1) .htaccess 파일 생성 후 htpasswd 명령어를 이용하여 해당 디렉토리에 접근할 수 있는 사용자 계정과 비밀번호를 생성한다.

.

사용:

htpasswd -c .htpasswd 관리자(입력)

관리자의 비밀번호를 추가하십시오.

새 비밀번호:

새 비밀번호를 다시 입력하십시오.

.

.

2) 테스트 사용자 계정 추가

.

사용:

htpasswd .htpasswd 테스트(입력)

관리자의 비밀번호를 추가하십시오.

새 비밀번호:

새 비밀번호를 다시 입력하십시오.

.

‘-c’ 옵션은 초기화 후 재적용 시 사용합니다.

htpasswd -c .htpasswd test를 적용하면 admin이 아닌 test로 되돌아갑니다.

vi /usr/local/apache/conf/httpd.conf

.

옵션 FollowSymLinks

AllowOverride 인증 구성

모든 보조금 필요

.

인증 구성 이 부분이 매우 중요합니다. 그 이유는 하드웨어 서버가 Apache에 루트 도메인을 가지고 있기 때문입니다. /usr/local/apache/htdocs가 여기에 있어야 합니다. 루트 도메인은 이 디렉토리와 연관됩니다.

.

B.) www.abcdefgh.com 또는 abcdefgh.com

그러나 하나의 하드웨어 서버에서 Apache에 대해 여러 도메인(vhost)을 사용할 수 있습니다.

예) haha.abcdefgh.com (/home/hahaabcdefgh/html)

hoho.abcdefgh.com (/home/hohoabcdefgh/html)

haha.qwerasdf.com (/home/hahaqwerasdf/html)

hoho.qwerasdf.com (/home/hohoqwerasdf/html)

.htaccess 파일 생성

vi /apache rootdomain, 가상 도메인/.htaccess의 루트 디렉토리 경로

.

vi /usr/local/apache/htdocs/.htaccess

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

AuthName “로그인”

인증 유형 기본

AuthUserFile /usr/local/apache/htdocs/.htpasswd

AuthGroupFile /dev/null

유효한 사용자가 필요합니다

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

또는

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

AuthName “로그인”

인증 유형 기본

AuthUserFile /usr/local/apache/htdocs/.htpasswd

AuthGroupFile /dev/null

유효한 사용자가 필요합니다

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

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

.htpasswd 파일 생성

.

.htpasswd는 .htaccess를 작성한 후 htpasswd를 실행하면 자동으로 생성되는 비밀번호 파일이다.

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

첫 번째 사용자 만들기

cd /usr/local/아파치/htdocs

.

/usr/local/apache/bin/htpasswd -c /usr/local/apache/htdocs/.htpasswd (먼저 ID를 생성해야 함)

.

새 비밀번호: ******** 새 비밀번호 다시 입력: ********

.

사용자 비밀번호 추가(아이디를 먼저 생성해야 함)

.

전)

cd /home/hahaabcdefgh/html

htpasswd -c .htpasswd test1user1 및 test1user1과 동일한 비밀번호 시도

htpasswd .htpasswd test1user2 및 test1user2와 동일한 비밀번호

.

cd /home/hohoqwerasdf/html

htpasswd -c .htpasswd test2user1 및 test2user1과 동일한 비밀번호 시도

htpasswd .htpasswd test2user2 및 test2user2와 동일한 비밀번호

.

그런 다음 도메인은 두 개의 해당 디렉토리에 연결됩니다.

haha.abcdefgh.com 로그인을 하면 아이디와 비밀번호 입력 창이 나타납니다.

.

아이디 test2user1

PW test2user1이 로그온하지 않습니다.

.

아이디 test1user1

PW test1user1이 로그인합니다.

.

hoho.qwerasdf.com

.

아이디 test2user1

PW test2user1이 로그온하지 않습니다.

.

아이디 test1user1

PW test1user1이 로그인합니다.

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

사용자 추가

.

/usr/local/apache/bin/htpasswd /home/html/.htpasswd (ID는 추가로 생성해야 함)

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

사용자 업데이트

(기존 사용자 비밀번호 변경) -> *주) 사용자 추가와 동일

.

/usr/local/apache/bin/htpasswd /home/html/.htpasswd(생성된 ID)

.

새 비밀번호: ******** 새 비밀번호 다시 입력: ********

.

사용자의 비밀번호 업데이트(생성된 ID)

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

사용자 삭제

.

/usr/local/apache/bin/htpasswd -D /home/html/.htpasswd(생성된 ID)

.

사용자(생성ID) 비밀번호 삭제

.

!!주의!!

“-c” 옵션을 사용하면 기존 사용자가 모두 삭제되고 새 파일이 생성됩니다.

.

“-c” 옵션을 사용하는 경우 작업을 진행하기 전에 기존 파일이 존재하는지 확인해야 합니다.

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

vi /usr/local/apache/conf/httpd.conf

.

옵션 FollowSymLinks

AllowOverride 모두

모두로부터 허용

모든 보조금 필요