Apache HTTP Server Version 2.4

Apache > HTTP Server > Documentation > Version 2.4 > Programs

# dbmmanage - DBM 형식의 사용자인증 파일을 관리한다

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

`dbmmanage`는 HTTP basic authentication에 사용할 사용자명과 암호를 저장하는 DBM형식의 파일을 만들고 수정한다. 아파치 웹서버는 자원을 `dbmmanage`로 만든 파일에 기록한 사용자에게만 보여줄 수 있다. 사용자명이 DBM 파일에 기록되있을때만 이 프로그램을 사용할 수 있다. 일반파일을 데이터베이스로 사용하려면 htpasswd를 참고하라.

이 manpage는 명령행 옵션만을 설명한다. httpd에서 사용자인증을 설정하는 지시어에 대한 설명은 아파치 배포본에 포함되있고 http://httpd.apache.org/에서도 볼 수 있는 아파치 설명서를 참고하라.

### 참고

- httpd
- `mod_authn_dbm`
- `mod_authz_dbm`

## 개요

`dbmmanage [ encoding ] filename add|adduser|check|delete|update username [ encpasswd [ group[,group...] [ comment ] ] ]`

`dbmmanage filename view [ username ]`

`dbmmanage filename import`

## 옵션

`filename`
  DBM형식 파일의 파일명. 보통 `.db`, `.pag`, `.dir` 확장자를 뺀다.
`username`
  작업할 사용자명. username에 콜론(`:`)을 사용할 수 없다.
`encpasswd`
  `update`나 `add` 명령에 사용할 이미 암호화된 암호이다. 암호를 나중에 지정하고 싶은 경우 빼기기호(`-`)를 사용한다. 또, `update` 명령을 사용할때 마침표(`.`)를 사용하면 원래 암호를 그대로 둔다.
`group`
  사용자가 속한 그룹. 그룹명에 콜론(`:`)을 사용할 수 없다. 사용자를 그룹에 추가하지는 않지만 설명란을 채우고 싶다면 빼기기호(`-`)를 사용한다. 또, `update` 명령을 사용할때 마침표(`.`)를 사용한다면 원래 그룹을 그대로 둔다.
`comment`
  실제 이름, 메일 주소 등 사용자에 대한 설명을 적는 란이다. 서버는 이 항목을 무시한다.

### 인코딩

`-d`
  crypt 암호화 (Win32나 Netware가 아니라면 기본값)
`-m`
  MD5 암호화 (Win32과 Netware에서 기본값)
`-s`
  SHA1 암호화
`-p`
  암호를 그대로 기록 (추천하지 않음)

### 명령

`add`
  암호화된 암호 encpasswd를 사용하여 filename에 username 항목을 추가한다.
`adduser`
  암호를 물어보고 filename에 username 항목을 추가한다.
`check`
  암호를 물어본후 filename에 username이 있고 암호가 일치하는지 검사한다.
`delete`
  filename에서 username 항목을 삭제한다.
`import`
  `STDIN`에서 `username:password` 항목을 (한줄에 하나씩) 읽어서 filename에 추가한다. 암호는 이미 암호화되있어야 한다.
`update`
  `adduser` 명령과 비슷하지만, filename에 이미 username이 있는지 확인한다.
`view`
  DBM 파일 내용을 출력한다. username을 지정하면 특정 항목만을 출력한다.

## 버그

여러 다른 DBM 파일형식들이 있고 당신의 시스템에 여러 형식에 대한 비슷한 라이브러리들이 있음을 주의해야 한다. 가장 대표적인 네가지가 SDBM, NDBM, GNU 프로젝트의 GDBM, Berkeley DB 2이다. 불행히도 이 라이브러리들은 모두 다른 파일형식을 사용한다. 그래서 filename이 사용하는 파일형식이 `dbmmanage`가 원하는 형식과 같은지 확인해야 한다. `dbmmanage`는 DBM 파일의 형식을 알아내지 못한다. 다른 형식을 사용하면 아무일도 하지 않거나, 다름 이름의 DBM 파일을 만들거나, 최악의 경우 파일을 기록하여 DBM 파일을 망칠 수 있다.

`dbmmanage` 프로그램 앞부분에 있는 `@AnyDBM::ISA` 배열이 DBM형식 선호순서이다. 우리는 Berkeley DB 2 파일형식을 선호하므로 `dbmmanage`가 시스템 라이브러리를 찾는 순서는 Berkeley DB 2, NDBM, GDBM, SDBM 순이다. `dbmmanage`는 제일 먼저 찾은 라이브러리를 사용하여 모든 DBM 파일 작업을 한다. 이 순서는 Perl의 간단한 `dbmopen()` 호출이 사용하는 순서나 Perl의 표준 `@AnyDBM::ISA` 순서와 조금 다르다. 그래서 다른 도구를 사용하여 DBM 파일을 관리한다면 이 순서를 따라야 한다. C와 같이 다른 언어로 작성한 프로그램을 사용하여 파일을 다루는 경우에도 마찬가지다.

대부분의 유닉스 시스템에서 `file` 프로그램으로 DBM 파일형식을 확인할 수 있다.