Berkley-DB-Realm

Backgrounds

This Realmtyp uses the good Berkley-DB_Database-Routines (now http://www.sleepycat.com/db/) as Database.

The username is the key and a special Structure like those of the Radius-Messages is the fine-Structure. So the content can simply copied in a Radius-Message.

Configuration

In the realms-file the realmtype is called db. There is one Parameter to specify the name of the DB-Hash-Table.

Example:

billig.org db(billig)

Maintainancetools

baueuserdb_db realm [userfile]
Creates a Hash-Table. If called only with one Parameter, the hash-Table is crated if it dos't exist.

A Userfile has the one or more entryies with the Syntax:

Eintrag ::=  Checkattributlist Servicelist
Checkattributlist ::=  =  {, = }* \n
Servicelist ::= Service {,Service }*
Service ::= "Service("")"\n"{"\n"{  =  \n}* 
Example:
rels Password = "v0gel"
  Service(Framed-User,PPP)
   {
        Ascend-Assign-IP-Pool = 2
   }
listuserdb_db realm
lists the Hashtable in form of a Userfile
userquery_db realm
Queries interactivly users in the realm
admindb_db db-Name [del|new] username
lists, adds or deletes profiles in a userfile.
With Command new a profile is read from stdin. In this case the username is ignored an can be omitted
Examples:

admindb_db infnet.verein rw lists the profile from user rw.

admindb_db infnet.verein del rw eleminates the profile form user rw

admindb_db infnet.verein new < /tmp/profile adds a profile from stdin.