본문 바로가기

Language&Configuration/[Liunx]

[Linux] htpasswd 사용법 - 아파치 사용자 인증 파일 생성 및 관리

htpasswd

아파치 사용자 인증 파일을 생성하고 관리해주는 명령이다.

사용법

htpasswd [option] 계정파일 사용자명

주요 옵션

옵션 설명
-c 사용자 계정 파일을 생성할 때 사용하는 옵션으로 계정 생성할 때 한 번은 반드시 사용해야 한다.

사용 예

① test이라는 계정을 생성하고, 관련 정보 파일은 /usr/local/apache/conf/password에 생성한다.

htpasswd -c /usr/local/apache/conf/password test

② test이라는 계정을 생성한다.

htpasswd /usr/local/apache/conf/password test

 

htpasswd를 통해 웹페이지에 아이디, 비밀번호 설정하기

1. httpd 설정 파일 수정

htpasswd를 걸고 싶은 위치의 설정으로 해당 내용을 넣어줘야 합니다.  /var/www/html 위치의 파일에 htpasswd를 설정하는 법은 아래와 같습니다.

vim /etc/httpd/conf/httpd.conf

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted

</Directory>

AllowOverride none 을 주석처리 해주거나 AllowOverride all을 추가해주면 됩니다.

2. httpd restart

systemctl restart httpd

또는

/etc/init.d/httpd restart

 

3. 해당 위치로 이동하여 .htaccess 파일 생성 및 수정

cd /var/www/html

vim .htaccess

AuthName "Input correct ID and PASSWORD."
AuthType Basic
AuthUserFile /var/www/html/.htpasswd
AuthGroupFile /dev/null
require valid-user

 

이름 내용
   AuthName    인증창 이름
   AuthType    인증타입으로 보통 Basic 입력
   AuthUserFile    인증패스워드를 기록할 파일명
   AuthGroupFile     그룹인증을 위한 파일명
   예제에서는 /dev/null 을 입력하여 그룹인증을 하지 않음
   require    valid-user 를 입력하여 인증된 사용자만 접속하도록 설정

 

4. htpasswd 신규 유저 생성

htpasswd -c /var/www/html/.htpasswd 생성할 User ID
ex. htpasswd -c /var/www/html/.htpasswd testuser

이후 원하는 비밀번호를 두 번 입력

혹시 이미 유저가 있는 상태에서 다른 유저를 하나 더 추가하고 싶다면 아래 명령어를 진행
htpasswd /var/www/html/.htpasswd 생성할 User ID
(htpasswd 의 로그인 계정 및 비밀번호 저장 파일인 .htpasswd 파일은 htpasswd 명령어 이용)

5. 해당 웹페이지 접속하여 아이디/비밀번호 입력창 확인

만약 변경해도 적용되지 않는다면
- 웹 캐시 삭제 필요