If you have a textfile password file, and you want to convert it to a dbm database for use with mod_authn_dbm, this can be done as follows:
htdbm -cbp passwords.dbm bogus bogus
awk ‘BEGIN { FS=”:” }; {system (“htdbm -bp passwords.dbm ” $1 ” ” $2)}’ passwords
htdbm -x bogus
This assumes that the file `passwords` is your existing password file, and that you wish to create a dbm database `passwords.dbm`
The -b flag says that the passwords will be provided on the command line. The -p flag says not to encrypt the password – because it’s already encrypted.
This feature used to be available in the `dbmmanage` utility, as an `import` argument, but that utility is no longer included in the httpd packages for the Fedora/CentOS and Debian/Ubuntu Linux distro families, so we have to make do with htdbm.
I’m stashing this here for posterity, since I just spent a half hour getting the awk syntax right.
The first line creates a starter dbm with a single bogus entry, and the third line cleans up that bogus entry.