Apache HTTP Server Version 2.2

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

# 아파치 모듈 mod_authz_dbm

가능한 언어: en | ko

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

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

### 요약

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

### 지시어들

### 참고

- `Require`
- `Satisfy`

## 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