강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

웹 페이지 디렉토리인증을 위한 htpasswd 개론과 사용방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

웹 페이지 디렉토리인증을 위한 htpasswd 개론과 사용방법

 

리눅스에는 htpasswd라는 디렉토리인증 유틸리티를 제공합니다. 

 

 이 유틸리티를 이용하여 리눅스에 설치되어있는 아파치웹서버 뿐아니라 윈도우에 설치되어있는 아파치웹서버에서도 디렉토리인증을 아주 간편하게 구현할 수 있습니다. 

 

 htpasswd는 아파치웹서버에서 주로 사용하는 유틸리티이지만 리눅스시스템 관리자들이 필수적으로 알아야 하는 것이므로 필자는 이번 책에서 htpasswd를 다루기로 하였습니다. 

 

 먼저, 다음 인증 창을 확인해 보시기 바랍니다. 

 

 

 

422ab5aa2d1dd1f0c5e6ecaddfec0f09_1669616394_7521.png
 

 

위의 인증 창은 특정 웹디렉토리에서 htpasswd유틸리티를 이용하여 인증된 사용자에게만 로그 인을 허용하는 로그인 페이지를 구현한 예입니다. 

 

 

 

다음은 htpasswd의 위치와 사용형식입니다. 

 

 여기서 한가지 알아두어야 할 것은 htpasswd라는 유틸리티는 httpd-tools라는 RPM패키지를 설치하였을 때에 생성되는 유틸리티입니다. 

 

 , 아파치웹서버에서 주로 사용하는 유틸리티이기 때문입니다. 

 

 

 

명령어위치 : /usr/bin/htpasswd

사용형식

        htpasswd [-cmdps] 패스워드파일 사용자명
        htpasswd -b[cmdps]
패스워드파일 사용자명 패스워드
        htpasswd -n[mdps]
사용자명
        htpasswd -nb[mdps]
사용자명 패스워드

 

, htpasswd는 위의 예와 같은 홈페이지 인증 창에서 인증 받을 ID와 패스워드를 생성하는 유틸리티입니다. 

 

 따라서 htpasswd로 생성된 ID와 패스워드를 위의 창에 입력을 하면 원하는 웹페이지로 로그인 할 수 있게 됩니다. 

 

   이런 인증창에서 허용된 ID와 패스워드를 입력해야만 정상적인 웹페이지 접속이 가능하게 됩니다. 

 

 

요약하면 위와 같은 인증창에서 로그인을 허용할 ID와 패스워드를 생성하는 유틸리티가 이번 장에서 설명하는 htpasswd입니다. 

 

 

 

여기에서는 htpasswd의 사용법에 대한 설명을 다루고있으며 웹페이지의 인증창을 띄우기 위한 아파치설정에 대한 자세한 설명은 필자의 책 "리눅스 서버관리 실무바이블"편을 참조 바랍니다. 

 

 htpasswd ID와 패스워드를 생성하기 위해서는 인증하고자 하는 웹페이지(디렉토리)의 위치에 .htaccess라는 파일을 만들어 두셔야 합니다. 

 

 아래는 .htaccess파일의 샘플입니다. 

 

 

 

[root@su249 public_html]# pwd

/home/sspark/public_html

[root@su249 public_html]#

[root@su249 public_html]# cat .htaccess

AuthName "리눅스 실무활용 명령어"

AuthType Basic

AuthUserFile /home/sspark/.htpasswd

AuthGroupFile /dev/null

<Limit GET POST>

require valid-user

</Limit>

[root@su249 public_html]#

 

여기서 인증할 페이지의 위치는 sspark사용자의 홈페이지 디렉토리인  /home/sspark/public_html입니다. 

 

 위의 샘플파일을 보고 .htaccess파일을 직접 생성하면 됩니다. 

 

 한가지 말씀드릴 것은 위에서 예로든 .htaccess파일의 세번째행인 AuthUserFile에서 지정한 .htpasswd파일의 위치입니다. 

 

  이 위치가 고정된 것은 아니지만, 가능한 웹으로 접근이 가능하지 않은 곳으로 하는 것이 좋습니다. 

 

 

 

위의 사용 예에서 패스워드파일명은 주로 .htpasswd를 기본적으로 사용합니다. 

 

 물론 다른 이름을 사용해도 무방합니다. 

 

  사용자명은 인증 창에서 웹 페이지 로그인을 허용할 ID입니다. 

 

 

패스워드는 인증 창에서 해당 ID의 웹페이지 로그인을 허용할 패스워드입니다. 

 

 

 

htpasswd유틸리티를 이용하여 ID와 패스워드를 생성하면 저장될 파일이 .htpasswd파일이며 이 파일이 저장될 위치를 지정하고 있습니다. 

 

  또한 htpasswd에서 암호를 저장하는 방식으로는 다음과 같이 몇 가지 암호화 저장 방식이 있습니다. 

 

 

  -d
또는 옵션 없이 사용 : CRYPT방식으로 암호화하여 암호저장
  -m : MD5
방식으로 암호화하여 암호저장
  -p :
암호화 없이 일반문자로 암호저장
  -s : SHA
방식으로 암호화하여 암호저장

 

암호화하는 방식은 위와 같이 몇 가지가 있습니다. 

 

 참고로 알아두시기 바랍니다. 

 

 


관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,040 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  121 명