[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A User Database is a storage system where GNU Anubis keeps user credentials, i.e. data necessary for authenticating and authorizing users. The exact way of storing these data is described 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 it has null value.
The fields are:
SMTP AUTHID
SMTP authentication ID of the user.
AUTH PASSWORD
SMTP password.
ACCOUNT
System user name.
CONFIG
Path to the configuration file.
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
field.
If they 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 account login name. If it is null,
anubis
will use privileges of the default not
privileged user, specified by user-notprivileged
statement in
the global configuration file (see section user-notprivileged).
The final step is to parse the user configuration file. If
CONFIG
field is not null, its value is the absolute
pathname of the user 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 ] | [ > ] | [ >> ] |
This document was generated on January 6, 2024 using texi2html 5.0.