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. 해당 웹페이지 접속하여 아이디/비밀번호 입력창 확인
만약 변경해도 적용되지 않는다면
- 웹 캐시 삭제 필요
[Algorithm] 위상 정렬 (Topological Sort)
[용어/개념] AAA(Authentication Authorization Accounting) 프로토콜