[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GNU Anubis uses User Database for keeping user credentials, i.e. data used to authenticate and authorize users. The exact way of storing these data does not matter here, it will be addressed further in this manual. In this section we treat user database as an abstraction layer.
The user database consists of records. Each record keeps information about a particular user. A record consists of four fields. A field may contain some value, or be empty, in which case we say that the field has null value.
The record fields are:
SMTP AUTHID
AUTH PASSWORD
ACCOUNT
CONFIG
The first two fields are mandatory and must always have non-null values.
No two records in the database may have the same value of
SMTP AUTHID
field. When anubis
is trying to
authenticate a user, it first looks up in the database a record
with the value of SMTP AUTHID
field matching AUTHID given
by the user. If no such entry is found, authentication fails.
Otherwise, anubis
goes on and compares the password
supplied by the user with that from AUTH PASSWORD
column.
If these match, authentication succeeds and anubis
passes to authorization state.
In this state, it first determines the user ID
(UID) to switch to. If the ACCOUNT
field
is not null, its value is used as a login name of the system
account to use. If it is null, anubis
switches to
the privilege level of a default not privileged user,
specified by user-notprivileged
statement in the global
configuration file (see section user-notprivileged).
The final step is to parse user configuration file. If
CONFIG
field is not null, its value is used as absolute
path to the configuration file. Otherwise, anubis
searches
for file `~/.anubisrc' (where `~' denotes home directory
for the system account obtained on the previous step) and if such
a file exists, loads it.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |