Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2 > 모듈

#### Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

# 아파치 모듈 mod_authz_dbm

가능한 언어: en | ko

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.

설명: | DBM 파일을 사용한 그룹 인증
상태: | Extension
모듈명: | authz_dbm_module
소스파일: | mod_authz_dbm.c
지원: | 아파치 2.1 이후부터

### 요약

이 모듈은 인증한 사용자의 그룹권한으로 웹의 일부를 접근할 수 있는지 결정하여 권한부여를 한다. `mod_authz_groupfile`과 기능이 비슷하다.

### 지시어들

### 참고

- `Require`
- `Satisfy`

- Comments

## AuthDBMGroupFile 지시어

설명: | 인증에 사용할 사용자 그룹 목록을 저장하는 데이터베이스 파일명을 지정한다
문법: | `AuthDBMGroupFile file-path`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Extension
모듈: | mod_authz_dbm

`AuthDBMGroupFile` 지시어는 인증에 사용할 사용자 그룹 목록을 저장하는 DBM 파일명을 지정한다. File-path는 파일의 절대경로이다.

파일은 사용자명을 키로 사용한다. 사용자에 대한 값은 쉼표로 구분한 사용자가 속한 그룹 목록이다. 값에 공백이나 콜론을 사용할 수 없다.

### 보안

`AuthDBMGroupFile`이 웹서버의 문서들 밖에 위치함을 확인하라. 이 파일을 보호할 디렉토리 안에 같이 두지 마라. 그렇지 않으면, 클라이언트가 `AuthDBMGroupFile`를 다운로드할 수 있다.

그룹 DBM 파일과 암호 DBM 파일을 같이 사용하기: 사용자에 대한 암호와 그룹 정보 모두를 한 데이터베이스에서 관리하는 것이 쉬울때가 있다. 이 경우 작성할 지원 프로그램이 간단해진다. 프로그램은 한 DBM 파일만을 잠그고 쓰면 된다. 그룹파일과 암호파일을 같은 DBM파일로 설정하면 가능하다:

`AuthDBMGroupFile /www/userbase
AuthDBMUserFile /www/userbase`

이 통합 DBM의 키는 사용자명이다. 값은 다음과 같다

`인코딩된 암호 : 그룹 목록 [ : (무시) ]`

암호 부분은 전과 같이 인코딩된 암호이다. 콜론 뒤에 쉼표로 구분한 그룹 목록이 나온다. 또 다시 콜론 다음에 다른 정보를 기록할 수 있다. 이 부분은 인증모듈이 무시한다. www.telescope.org는 이렇게 암호 데이터베이스와 그룹 데이터베이스를 같이 사용한다.

## AuthzDBMAuthoritative 지시어

설명: | 권한부여를 저수준 모듈로 넘겨줄지 여부
문법: | `AuthzDBMAuthoritative On|Off`
기본값: | `AuthzDBMAuthoritative On`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Extension
모듈: | mod_authz_dbm

`AuthzDBMAuthoritative` 지시어를 직접 `Off`로 설정하면 해당 사용자 아이디에 대한 그룹이 없는 경우 그룹 권한부여를 (`modules.c` 파일에서 정의한) 저수준 모듈로 넘겨준다. 지정한 그룹이 있다면 보통때와 같이 검사하고, 실패하면 인증 필요 응답을 한다.

그래서 여러 모듈의 데이터베이스에 사용자 아이디가 있거나 유효한 `Require` 지시어를 여러 모듈에 적용하면, 첫번째 모듈이 사용자를 검사하고, `AuthAuthoritative` 설정과 관계없이 접근을 넘기지않는다.

일반적으로 `mod_authn_dbm`이나 `mod_authn_file`과 같은 인증제공자와 같이 사용한다. 대량의 사용자 검사에 대한 검사는 DBM 모듈을 사용하지만, 소수(관리자)에 대한 검사는 잘 보호된 `.htpasswd` 파일로 넘긴다.

기본적으로 제어를 넘기지않고, 모르는 그룹의 경우 인증 필요 응답을 한다. 이 지시어를 설정하지않으면 시스템이 안전하게 유지되며, NCSA 웹서버와 같이 동작한다.

### 보안

사용자가 자신의 .htaccess 파일을 사용하게 되는지 살펴보고, 이런 행동을 허용할지 결정하라. 일반적으로 여러가지 방법으로 접근할 수 있는 데이터베이스를 보호하는 것보다 하나의 `.htpasswd` 파일을 보호하는 것이 더 쉽다.

## AuthzDBMType 지시어

설명: | 암호를 저장하는 데이터베이스 파일 종류를 지정한다
문법: | `AuthzDBMType default|SDBM|GDBM|NDBM|DB`
기본값: | `AuthzDBMType default`
사용장소: | directory, .htaccess
Override 옵션: | AuthConfig
상태: | Extension
모듈: | mod_authz_dbm

암호를 저장하는 데이터베이스 파일 종류를 지정한다. 데이터베이스 종류 기본값은 컴파일때 정해진다. 사용할 수 있는 다른 데이터베이스 파일 종류도 컴파일 설정에 달렸다.

암호파일을 만든 프로그램이 같은 종류의 데이터베이스를 사용하도록 설정해야 한다.

가능한 언어: en | ko

## Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.