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 모두
모두로부터 허용
모든 보조금 필요
