Next: , Up: imap4d


3.14.1 Namespace

GNU imap4d supports a notion of namespaces defined in RFC 2342. A namespace is a set of directories upon which the user has certain permissions. It should be understood that these permissions apply only if the underlying filesystem allows them.

The three namespaces supported by imap4d are:

Personal Namespace
A namespace that is within the personal scope of the authenticated user on a particular connection. The user has all permissions on this namespace.
Other Users' Namespace
A namespace that consists of mailboxes from the “Personal Namespaces” of other users. The user can read and list mailboxes from this namespace. However, he is not allowed to use ‘%’ and ‘*’ wildcards with LIST command, that is he can access a mailbox only if he knows exactly its location.
Shared Namespace
A namespace that consists of mailboxes that are intended to be shared amongst users and do not exist within a user's Personal Namespace. The user has all permissions on this namespace.

By default, imap4d starts with the following namespaces:

Personal Namespace
The home directory of the user, if exists.
Other Users' Namespace
Empty
Shared Namespace
Empty

Note, that this means that by default, a user won't be able to see or otherwise access mailboxes residing in the directories other than his own home.

To change these defaults, use shared-namespace and other-namespace configuration statements:

shared-namespace list
Set shared namespace.
other-namespace list
Set other users' namespace.

For both statements, the argument is a list of directories that belong to this namespace, e.g.:

     shared-namespace (/var/spool/mail,/var/mail);

If during the session the user creates a mailbox within either of these namespaces, the mode of the mailbox is determined by the following configuration statements:

shared-mailbox-mode mode
Set file mode for mailboxes created in shared namespace.
other-mailbox-mode mode
Set file mode for mailboxes created in other users' namespace.

In both cases, the argument, mode is a list of symbolic mode settings, similar to that used by chmod. It is a list of comma-separated mode change commands. Each command begins with a letter ‘g’, which means set mode bits for file group, or ‘o’, which means set mode bits for other users (note, that there is no ‘u’ specifier, since user ownership of his mailbox cannot be changed). This letter is followed by an ‘=’ (or ‘+’), and a list of modes to be set. This list can contain only two letters: ‘r’ to set read permission, and ‘w’ to set write permission.

For example, the following statement sets read and write permissions for the group:

     shared-namespace-mode g=rw;