Moved VirtualMailManager/Exceptions to VirtualMailManager/errors.
Renamed VMM*Exception classes to *Error.
No longer add the attribute 'message' to VMMError if it doesn't exist, like in
Python 2.4. It has been deprecated as of Python 2.6.
Also removed the methods code() and msg(), the values are now accessible via
the attributes 'code' and 'msg'.
=========
vmm.cfg
=========
---------------------------
Konfigurationsdatei für vmm
---------------------------
:Author: Pascal Volk <neverseen@users.sourceforge.net>
:Date: 2010-02-01
:Version: vmm-0.6.0
:Manual group: vmm Manual
:Manual section: 5
.. contents::
:backlinks: top
:class: htmlout
SYNOPSIS
========
vmm.cfg
BESCHREIBUNG
============
|vmm(1)|_ liest seine Konfigurationsparameter aus der Datei *vmm.cfg*.
Die Konfigurationsdatei ist in mehrere Sektionen unterteilt. Jede Sektion
wird mit dem in eckigen Klammern '**[**' und '**]**' eingefassten Namen der
Sektion eingeleitet, gefolgt von '*Option* = *Wert*' Einträgen.
Leerräume um das Gleichheitszeichen '=' und am Ende eines Wertes werden
ignoriert.
Leerzeilen und Zeilen, die mit einer '#' oder einem ';' anfangen, werden
ignoriert.
Jeder Wert ist von einem der folgenden Datentypen:
* *Boolean* um zu bestimmen, ob etwas eingeschaltet/aktiviert (true) oder
ausgeschaltet/deaktiviert (false) ist.
| Mögliche Werte für *true* sind: **1**, **yes**, **true** und **on**.
| Mögliche Werte für *false* sind: **0**, **no**, **false** und **off**.
* *Int* eine Integer-Zahl, geschrieben ohne eine gebrochene oder dezimale
Komponente.
| Beispielsweise **1**, **50** oder **321** sind Integer-Zahlen.
* *String* eine Folge von Buchstaben und Zahlen.
| Zum Beispiel: '**Wort**', '**Hallo Welt**' oder '**/usr/bin/strings**'
Die meisten Optionen haben einen Vorgabewert. Dieser ist nach dem Namen der
Option in Klammern angegebenen. Um den Vorgabewert einer Option zu
verwenden, wird die entsprechende Zeile entweder mit **#** oder **;**
auskommentiert oder die Zeile wird einfach aus der *vmm.cfg* entfernt.
Eine minimale *vmm.cfg* könnte so aussehen::
[database]
user = ich
pass = xxxxxxxx
SUCHREIHENFOLGE
---------------
Standardmäßig sucht |vmm(1)|_ die *vmm.cfg* in folgenden Verzeichnissen,
in der angegebenen Reihenfolge:
| */root*
| */usr/local/etc*
| */etc*
Die zuerst gefundene Datei wird verwendet.
SEKTIONEN
=========
Im Folgenden werden die Sektionen der *vmm.cfg* und deren Optionen
beschrieben.
ACCOUNT
-------
Die Optionen der Sektion **account** legen Konto-spezifische Einstellungen
fest.
.. _account.delete_directory:
``delete_directory (Vorgabe: false)`` : *Boolean*
Bestimmt das Verhalten von |vmm(1)|_ beim Löschen eines Kontos
(|userdelete|_). Wenn der Wert dieser Option *true* ist, wird das
Home-Verzeichnis des zu löschenden Anwenders rekursiv gelöscht.
.. _account.directory_mode:
``directory_mode (Vorgabe: 448)`` : *Int*
Zugriffsbits des Home-Verzeichnisses, sowie aller enthaltenen
Verzeichnisse, in Dezimal-Schreibweise (Basis 10).
| Beispiel: 'drwx------' -> oktal 0700 -> dezimal 448
.. _account.disk_usage:
``disk_usage (Vorgabe: false)`` : *Boolean*
Legt fest, ob die Festplattenbelegung des Maildirs eines Benutzers jedes
Mal mit **du**\(1) ermittelt und mit den Konto-Informationen ausgegeben
werden soll.
Bei umfangreichen Maildirs kann das langsam sein. Falls Sie Quotas
aktiviert haben, wird der **vmm**-Unterbefehl |userinfo|_ ebenfalls die
aktuelle Quota-Nutzung des Kontos mit ausgegeben. Sie können auch eines
der optionalen Argumente **du** oder **full** an |userinfo|_ übergeben,
um sich die aktuelle Festplattenbelegung anzeigen zu lassen.
.. _account.imap:
``imap (Vorgabe: true)`` : *Boolean*
Bestimmt, ob sich neu angelegte Benutzer per IMAP anmelden können sollen.
.. _account.password_length:
``password_length (Vorgabe: 8)`` : *Int*
Diese Option legt die Anzahl der Zeichen für automatisch erzeugte
Passwörter fest. Alle Werte kleiner als 8 werden auf 8 erhöht.
.. _account.pop3:
``pop3 (Vorgabe: true)`` : *Boolean*
Bestimmt, ob sich neu angelegte Benutzer per POP3 anmelden können sollen.
.. _account.random_password:
``random_password (Vorgabe: false)`` : *Boolean*
Mit dieser Option wird bestimmt , ob **vmm** ein zufälliges Passwort
generieren soll, wenn kein Passwort an den Unterbefehl |useradd|_
übergeben wurde. Ist der Wert dieser Option *false*, wird **vmm** Sie
auffordern, ein Passwort für den neun Account einzugeben.
Sie können die Länge für automatisch generierte Passwörter mit der Option
|account.password_length|_ konfigurieren.
.. _account.sieve:
``sieve (Vorgabe: true)`` : *Boolean*
Bestimmt, ob sich neu angelegte Benutzer per ManageSieve anmelden können
sollen.
.. _account.smtp:
``smtp (Vorgabe: true)`` : *Boolean*
Bestimmt, ob sich neu angelegte Benutzer per SMTP (SMTP AUTH) anmelden
können sollen.
Beispiel::
[account]
delete_directory = false
directory_mode = 448
disk_usage = false
random_password = true
password_length = 10
smtp = true
pop3 = true
imap = true
sieve = true
BIN
---
In der **bin**-Sektion werden die Pfade zu den von |vmm(1)|_ benötigten
Binaries angegeben.
.. _bin.dovecotpw:
``dovecotpw (Vorgabe: /usr/sbin/dovecotpw)`` : *String*
Der absolute Pfad zum dovecotpw Binary. Dieses Binary wird zur
Hash-Erzeugung verwendet, wenn |misc.password_scheme|_ einen der
nachfolgenden Werte hat: 'SMD5', 'SSHA', 'CRAM-MD5', 'HMAC-MD5', 'LANMAN',
'NTLM' oder 'RPA'.
.. _bin.du:
``du (Vorgabe: /usr/bin/du)`` : *String*
Der absolute Pfad zu **du**\(1). Dieses Binary wird verwendet, wenn die
Festplattenbelegung eines Kontos ermittelt wird.
.. _bin.postconf:
``postconf (Vorgabe: /usr/sbin/postconf)`` : *String*
Der absolute Pfad zu Postfix' |postconf(1)|_. Dieses Binary wird
verwendet, wenn |vmm(1)|_ diverse Postfix-Einstellungen prüft, zum
Beispiel das |virtual_alias_expansion_limit|_.
Beispiel::
[bin]
dovecotpw = /usr/sbin/dovecotpw
du = /usr/bin/du
postconf = /usr/sbin/postconf
DATABASE
--------
Die **database**-Sektion wird verwendet, um die für den Datenbankzugriff
benötigten Optionen festzulegen.
.. _database.host:
``host (Vorgabe: localhost)`` : *String*
Der Hostname oder die IP-Adresse des Datenbank-Servers.
.. _database.name:
``name (Vorgabe: mailsys)`` : *String*
Der Name der zu verwendenden Datenbank.
.. _database.pass:
``pass (Vorgabe: Nichts)`` : *String*
Das Passwort des Datenbank-Benutzers.
.. _database.user:
``user (Vorgabe: Nichts)`` : *String*
Der Name des Datenbank-Benutzers.
Beispiel::
[database]
host = localhost
user = vmm
pass = PY_SRJ}L/0p-oOk
name = mailsys
DOMAIN
------
In der **domain**-Sektion werden Domain-spezifische Informationen
konfiguriert.
.. _domain.auto_postmaster:
``auto_postmaster (Vorgabe: true)`` : *Boolean*
Ist der Wert dieser Option *true*, wird |vmm(1)|_ beim Anlegen einer
Domain (|domainadd|_) automatisch einen postmaster-Account erstellen.
.. _domain.delete_directory:
``delete_directory (Vorgabe: false)`` : *Boolean*
Bestimmt, ob beim Löschen einer Domain (|domaindelete|_) das Verzeichnis
der zu löschenden Domain, inklusive aller Anwender-Verzeichnisse, rekursiv
gelöscht werden soll.
.. _domain.directory_mode:
``directory_mode (Vorgabe: 504)`` : *Int*
Zugriffsbits des Domain-Verzeichnisses in Dezimal-Schreibweise (Basis 10).
| Beispiel: 'drwxrwx---' -> oktal 0770 -> dezimal 504
.. _domain.force_deletion:
``force_deletion (Vorgabe: false)`` : *Boolean*
Erzwingt das Löschen aller zugeordneten Konten und Aliase beim Löschen
einer Domain (|domaindelete|_).
Beispiel::
[domain]
auto_postmaster = true
delete_directory = false
directory_mode = 504
force_deletion = false
MAILDIR
-------
In der **maildir**-Sektion werden die für die Maildirs erforderlichen
Optionen festgelegt.
.. _maildir.folders:
``folders (Vorgabe: Drafts:Sent:Templates:Trash)`` : *String*
Eine durch Doppelpunkten getrennte Liste mit Verzeichnisnamen, die
innerhalb des Maildirs erstellt werden sollen. Sollen innerhalb des
Maildirs keine Verzeichnisse angelegt werden, ist dieser Optionen ein
einzelner Doppelpunkt ('**:**') als Wert zuzuweisen.
Sollen Verzeichnisse mit Unterverzeichnissen angelegt werden, ist ein
einzelner Punkt ('**.**') als Separator zu verwenden.
.. _maildir.name:
``name (Vorgabe: Maildir)`` : *String*
Der Standard-Name des Maildir-Verzeichnisses im Verzeichnis des jeweiligen
Anwenders.
Beispiel::
[maildir]
folders = Drafts:Sent:Templates:Trash:Lists.Dovecot:Lists.Postfix
name = Maildir
.. _imap_uft7:
.. note:: Sollen in der **folders**-Einstellung internationalisierte Namen
für Maildir-Verzeichnisse verwendet werden, sind diese in einer
modifizierten Variante des UTF-7-Zeichensatzes (siehe :RFC:`3501`, Sektion
5.1.3) anzugeben.
Dovecot stellt seit Version 1.2.0 das nützlich Hilfsprogramm **imap-utf7**
zur Verfügung. Dieses dient zur mUTF-7 <-> UTF-8 Konvertierung.
..
imap-utf7 Beispiel::
user@host:~$ /usr/local/libexec/dovecot/imap-utf7 -r Wysłane
Wys&AUI-ane
user@host:~$ /usr/local/libexec/dovecot/imap-utf7 "&AVo-mietnik"
Śmietnik
MISC
----
In der **misc**-Sektion werden verschiedene Einstellungen festgelegt.
.. _misc.base_directory:
``base_directory (Vorgabe: /srv/mail)`` : *String*
Alle Domain-Verzeichnisse werden innerhalb dieses Basis-Verzeichnisses
angelegt.
.. _misc.password_scheme:
``password_scheme (Vorgabe: CRAM-MD5)`` : *String*
Das zu verwendende Passwort-Schema (siehe auch: **dovecotpw -l**).
.. _misc.gid_mail:
``gid_mail (Vorgabe: 8)`` : *Int*
Die numerische Gruppen-ID der Gruppe mail, bzw. der Gruppe aus
`mail_privileged_group` der Datei *dovecot.conf*.
.. _misc.transport:
``transport (Vorgabe: dovecot:)`` : *String*
Der Standard-Transport aller Domains und Konten. Siehe auch:
|transport(5)|_
.. _misc.dovecot_version:
``dovecot_version (Vorgabe: 12)`` : *Int*
Die verketteten Major- und Minor-Teile der eingesetzten Dovecot-Version
(siehe: **dovecot --version**).
Wenn das Kommando **dovecot --version** zum Beispiel *1.1.18* ausgibt, ist
dieser Option der Wert **11** zuzuweisen.
Beispiel::
[misc]
base_directory = /srv/mail
password_scheme = PLAIN
gid_mail = 8
transport = dovecot:
dovecot_version = 11
DATEIEN
=======
*/root/vmm.cfg*
| Wird verwendet, falls vorhanden.
*/usr/local/etc/vmm.cfg*
| Wird verwendet, sollte obige Datei nicht gefunden werden.
*/etc/vmm.cfg*
| Wird verwendet, falls obengenannte Dateien nicht existieren.
SIEHE AUCH
==========
|vmm(1)|_
COPYING
=======
vmm und die dazugehörigen Manualseiten wurden von Pascal Volk geschrieben
und sind unter den Bedingungen der BSD Lizenz lizenziert.
.. include:: ../../substitute_links.rst
.. include:: ../../substitute_links_5.rst