Linux [Apache] 사용자인증 (.htaccess)
페이지 정보
본문
아파치의 인증을 사용하기 위해서는 httpd.conf 를 수정 해야 하며 모듈라인에 mod_auth_basic 가 있어야 합니다.
[root@www conf] vi /usr/local/apache/conf/httpd.conf
LoadModule auth_basic_module modules/mod_auth_basic.so
기본적으로 Basic 인증은 브라우저가 서버로 암호를 암호화하지 않고 보내기 때문에 중요한 자료나 인증을 필요로하는곳에서는 잘 사용하지 않습니다.
httpd.conf 또는 httpd-vhost.conf 에서 해당 디렉토리 옵션에 AllowOverride AuthConfig 옵션으로 변경해야 합니다.
vi 에디터 화면에서 /AllowOverride None 이렇게 입력하면 검색 AllowOverride None 를 검색하고 다음을 찾고 싶을때 n 을 입력합니다.
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
를 찾아서 아래와 같이 수정합니다.
<Directory />
Options FollowSymLinks
AllowOverride AuthConfig
</Directory>
설정이 완료 되었다면 아파치를 재시작합니다.
[root@www conf]# /usr/local/apache/bin/apachectl restart
아파치가 재실행되고 나면 인증이 필요한 디렉토리에 .htaccess파일을 만들어 주면 됩니다.
물론 관리자가 만들 수도 있고 각 계정사용자가 자신의 허가권내에서 필요한 디렉토리를 인증할 수도 있습니다.
.htaccess파일은 인증할 디렉토리에서 직접 작성합니다.
[root@www conf]# cd /home/happyjung/www
[root@www www]# vi .htaccess
AuthName "인증창의 이름"
AuthType Basic
AuthUserFile /home/happyjung/www/.htpasswd
<Limit GET POST>
require valid-user
</Limit>
이제 허가를 위한 패스워드 파일을 만듭니다.
사용방법은 .htpasswd 사용할 패스워드 파일 사용자 id 순으로 입력합니다.
[root@www www]# htpasswd -c .htpasswd mmmm
htpasswd -c .htpasswd mmmm 에서 -c 옵션은 처음실행할 때 반드시 사용해야 합니다.
.htpasswd 추가 삭제
사용자를 추가 할 경우에는 위의 사용법 그대로 사용하면 되고 처음에만 -c 옵션을 줍니다.
[root@www www]# htpasswd -c .htpasswd aaaa
다음부터는 -c옵션없이 사용합니다.
[root@www www]# htpasswd .htpasswd bbbb
수정은 추가 방법과 동일 합니다.
[root@www www]# htpasswd .htpasswd bbbb
삭제는 .htpasswd 파일내에서 삭제할 id가 있는 라인을 지우면 됩니다.
사용시에 파일을 찾을수 없다는 에러가 나면 경로를 확인하고 . 명령 수행후 .passwd 파일을 확인해보시면 되겠습니다.
참고자료
http://coffeenix.net/data_repository/html/apache_auth.html
http://www.yongbok.net/blog/72?category=1
댓글목록
등록된 댓글이 없습니다.