VMM/Transport: reworked Transport class.
Use assertions for argument checks. Removed methods getID() and
getTransport(). This values are now accessible through the read-only
attributes id and transport.
VMM/{Account,Domain}: adjusted to modifications in Transport class.
A few code cleanups.
.TH "VMM" "1" "17 Aug 2009" "Pascal Volk"
.SH NAME
vmm \- Programm für die Kommandozeile, um E-Mail-Domains, -Konten und -Aliase zu
verwalten.
.SH SYNOPSIS
.B vmm
\fIUnterbefehl\fP \fIObjekt\fP [ \fIArgumente\fP ]
.SH BESCHREIBUNG
\fBvmm\fP (Virtual Mail Manager) ist ein Kommandozeilen-Werkzeug für
Administratoren/Postmaster zur Verwaltung von Domains, Konten und Aliase. Es
wurde entwickelt für Dovecot und Postfix mit einem PostgreSQL-Backend.
.SH UNTERBEFEHLE
Von jedem Unterbefehl gibt es jeweils eine lange und kurze Variante. Bei beiden
Formen ist die Groß-/Kleinschreibung zu berücksichtigen.
.SS ALLGEMEINE UNTERBEFEHLE
.TP
\fBconfigure\fP (\fBcf\fP) [ \fIAbschnitt\fP ]
Startet den interaktiven Konfiguration-Modus für alle Konfigurations-Abschnitte.
.br
Wurde das optionale Argument \fIAbschnitt\fP angegeben, werden nur die Optionen
des angegebenen Abschnitts angezeigt und können geändert werden. Folgende
Abschnitte sind vorhanden:
.RS
.PD 0
.TP
-
.B
database
.TP
-
.B
maildir
.TP
-
.B
services
.TP
-
.B
domdir
.TP
-
.B
bin
.TP
-
.B
misc
.PD
.RE
.LP
.PP
.nf
Beispiel:
\fBvmm configure services\fP
Verwende Konfigurationsdatei: /usr/local/etc/vmm.cfg
* Konfigurations Abschnitt: „services“
Neuer Wert für Option pop3 [True]:
Neuer Wert für Option smtp [True]:
Neuer Wert für Option imap [True]:
Neuer Wert für Option sieve [True]: false
.fi
.PP
.TP
\fBgetuser\fP (\fBgu\fP) \fIuserid\fP
Wenn nur eine UserID vorhanden ist, z. B. aus der Prozessliste, kann mit dem
Unterbefehl \fBgetuser\fP die E-Mail-Adresse des Users ermittelt werden.
.PP
.nf
Beispiel:
\fBvmm getuser 70004\fP
Account Informationen
---------------------
UID............: 70004
GID............: 70000
Address........: c.user@example.com
.fi
.\"
.TP
\fBlistdomains\fP (\fBld\fP) [ \fIMuster\fP ]
Dieser Unterbefehl listet alle verfügbaren Domains auf. Allen Domains wird ein
Präfix vorangestellt. Entweder ein '[+]', falls es sich um eine primäre Domain
handelt, oder ein '[-]', falls es sich um eine Alias-Domain handelt. Die
Ausgabe kann reduziert werden, indem ein optionales \fIMuster\fP angegeben wird.
.br
Um eine Wildcard-Suche durchzuführen kann das %-Zeichen am Anfang und/oder Ende
des \fIMusters\fP verwendet werden.
.PP
.nf
Beispiel:
\fBvmm listdomains %example%\fP
Übereinstimmende Domains
------------------------
[+] example.com
[-] e.g.example.com
[-] example.name
[+] example.net
[+] example.org
.fi
.\"
.TP
\fBhelp\fP (\fBh\fP)
Dieser Unterbefehl gibt alle verfügbaren Kommandos auf stdout aus. Danach
beendet sich \fBvmm\fP.
.TP
\fBversion\fP (\fBv\fP)
Gibt Versions-Informationen zu \fBvmm\fP aus.
.\"
.SS DOMAIN UNTERBEFEHLE
.TP
\fBdomainadd\fP (\fBda\fP) \fIDomain\fP [ \fITransport\fP ]
Fügt eine neue \fIDomain\fP in die Datenbank ein.
.br
Ist das optionale Argument \fITransport\fP angegeben, wird der Vorgabe-Transport
aus \fBvmm.cfg\fP (misc/transport) für diese \fIDomain\fP ignoriert und der
angegebene \fITransport\fP verwendet. Der angegebene \fITransport\fP ist
gleichzeitig der Vorgabe-Transport für alle neuen Konten, die unter dieser
Domain eingerichtet werden.
.PP
.nf
Beispiele:
\fBvmm domainadd support.example.com smtp:mx1.example.com
vmm domainadd sales.example.com\fP
.fi
.TP
\fBdomaininfo\fP (\fBdi\fP) \fIDomain\fP [ \fIdetails\fP ]
Dieser Unterbefehl zeigt Information zur angegeben \fIDomain\fP an.
.br
Um detaillierte Informationen über die \fIDomain\fP zu erhalten, kann das
optionale Argument \fIdetails\fP angegeben werden. Ein möglicher Wert für
\fIdetails\fP kann eines der folgenden fünf Schlüsselwörter sein:
.RS
.PD 0
.TP
.B accounts
um alle existierenden Konten aufzulisten
.TP
.B aliasdomains
um alle zugeordneten Alias-Domains aufzulisten
.TP
.B aliases
um alle verfügbaren Alias-Adressen aufzulisten
.TP
.B relocated
um alle Adressen der relocated Users aufzulisten
.TP
.B full
um alle oben genannten Informationen aufzulisten
.PD
.RE
.LP
.PP
.nf
Beispiel:
\fBvmm domaininfo sales.example.com\fP
Domain Informationen
--------------------
Domainname.....: sales.example.com
GID............: 70002
Transport......: dovecot:
Domaindir......: /home/mail/5/70002
Aliasdomains...: 0
Accounts.......: 0
Aliases........: 0
Relocated......: 0
.fi
.TP
\fBdomaintransport\fP (\fBdt\fP) \fIDomain\fP \fITransport\fP [ \fIforce\fP ]
Ein neuer \fITransport\fP für die angegebene \fIDomain\fP kann mit diesem
Unterbefehl festgelegt werden.
.br
Wurde das optionale Schlüsselwort '\fBforce\fP' angegeben, so werden alle
bisherigen Transport-Einstellungen, der in dieser Domain vorhandenen Konten,
mit dem neuen \fITransport\fP überschrieben.
.br
Andernfalls gilt der neue \fITransport\fP nur für Konten, die neu erstellt
werden.
.PP
.nf
Beispiel:
\fBvmm domaintransport support.example.com dovecot:\fP
.fi
.TP
\fBdomaindelete\fP (\fBdd\fP) \fIDomain\fP [ \fIdelalias\fP | \fIdeluser\fP | \fIdelall\fP ]
Mit diesem Unterbefehl wird die angegebene \fIDomain\fP gelöscht.
.br
Sollten der \fIDomain\fP Konten und/oder Aliase zugeordnet sein, wird \fBvmm\fP
die Ausführung des Befehls mit einer entsprechenden Fehlermeldung beenden.
Sollten Sie sich Ihres Vorhabens sicher sein, so kann optional eines der
folgenden Schlüsselwörter angegeben werden: '\fBdelalias\fP', '\fBdeluser\fP' oder '\fBdelall\fP'
Sollten Sie wirklich immer wissen was Sie tun, so editieren Sie Ihre
\fBvmm.cfg\fP und setzen den Wert der Option \fIforcedel\fP, im Abschnitt
\fImisc\fP, auf true. Dann werden Sie beim Löschen von Domains nicht mehr wegen
vorhanden Konten/Aliase gewarnt.
.\"
.SS ALIAS-DOMAIN UNTERBEFEHLE
.TP
\fBaliasdomainaddd\fP (\fBada\fP) \fIAliasdomain\fP \fIZieldomain\fP
Mit diesem Unterbefehl wird der \fIZieldomain\fP die Alias-Domain
\fIAliasdomain\fP zugewiesen.
.PP
.nf
Beispiel:
\fBvmm aliasdomainadd example.name example.com\fP
.fi
.TP
\fBaliasdomaininfo (\fBadi\fP) \fIAliasdomain\fP
Dieser Unterbefehl informiert darüber, welcher Domain die Alias-Domain
\fIAliasdomain\fP zugeordnet ist.
.PP
.nf
Beispiel:
\fBvmm aliasdomaininfo example.name\fP
Alias-Domain Informationen
--------------------------
Die Alias-Domain example.name gehört zu:
* example.com
.fi
.TP
\fBaliasdomainswitch\fP (\fBads\fP) \fIAliasdomain\fP \fIZieldomain\fP
Wenn das Ziel der vorhandenen \fIAliasdomain\fP auf eine andere \fIZieldomain\fP
geändert werden soll, ist dieser Unterbefehl zu verwenden.
.PP
.nf
Beispiel:
\fBvmm aliasdomainswitch example.name example.org\fP
.fi
.TP
\fBaliasdomaindelete\fP (\fBadd\fP) \fIAliasdomain\fP
Wenn die Alias-Domain mit dem Namen \fIAliasdomain\fP gelöscht werden soll, ist
dieser Unterbefehl zu verwenden.
.PP
.nf
Beispiel:
\fBvmm aliasdomaindelete e.g.example.com\fP
.fi
.\"
.SS KONTO UNTERBEFEHLE
.TP
\fBuseradd\fP (\fBua\fP) \fIAdresse\fP [ \fIPasswort\fP ]
Mit diesem Unterbefehl wird ein neues Konto für die angegebene \fIAdresse\fP
angelegt.
.br
Wurde kein \fIPasswort\fP angegeben wird \fBvmm\fP dieses im interaktiven
Modus erfragen.
.PP
.nf
Beispiele:
\fBvmm ua d.user@example.com 'A 5ecR3t P4s5\\/\\/0rd'\fP
\fBvmm ua e.user@example.com\fP
Neues Passwort eingeben:
Neues Passwort wiederholen:
.fi
.TP
\fBuserinfo\fP (\fBui\fP) \fIAdresse\fP [ \fIdetails\fP ]
Dieser Unterbefehl zeigt einige Informationen über das Konto mit der angegebenen
\fIAdresse\fP an.
.br
Wurde das optionale Argument \fIdetails\fP angegeben, werden weitere
Informationen ausgegeben.
.br
Mögliche Werte für \fIdetails\fP sind:
.RS
.PD 0
.TP
.B aliases
um alle Alias-Adressen, mit dem Ziel \fIAdresse\fP, aufzulisten
.TP
.B du
um zusätzlich die Festplattenbelegung des Kontos anzuzeigen
.TP
.B full
um alle oben genannten Informationen anzuzeigen
.PD
.RE
.LP
.TP
\fBusername\fP (\fBun\fP) \fIAdresse\fP \fI'Bürgerlicher Name'\fP
Der Bürgerliche Name des Konto-Inhabers mit der angegebenen \fIAdresse\fP kann
mit diesem Unterbefehl gesetzt/aktualisiert werden.
.PP
.nf
Beispiel:
\fBvmm un d.user@example.com 'John Doe'\fP
.fi
.TP
\fBuserpassword\fP (\fBup\fP) \fIAdresse\fP [ \fIPasswort\fP ]
Das \fIPasswort\fP eines Kontos kann mit diesem Unterbefehl aktualisiert werden.
.br
Wurde kein \fIPasswort\fP angegeben wird \fBvmm\fP dieses im interaktiven
Modus erfragen.
.PP
.nf
Beispiel:
\fBvmm up d.user@example.com 'A |\\/|0r3 5ecur3 P4s5\\/\\/0rd?'\fP
.fi
.TP
\fBusertransport\fP (\fBut\fP) \fIAdresse\fP \fITransport\fP
Mit diesem Unterbefehl kann ein abweichender \fITransport\fP für das Konto mit
der angegebenen \fIAdresse\fP festgelegt werden.
.PP
.nf
Beispiel:
\fBvmm ut d.user@example.com smtp:pc105.it.example.com\fP
.fi
.TP
\fBuserdisable\fP (\fBu0\fP) \fIAdresse\fP [ \fIService\fP ]
Soll ein Anwender keinen Zugriff auf einen oder alle Service haben, kann der
Zugriff mit diesem Unterbefehl beschränkt werden.
.br
Wurde weder ein \fIService\fP noch das Schlüsselwort '\fIall\fP' angegeben,
werden alle Services (\fIsmtp\fP, \fIpop3\fP, \fIimap\fP, und \fIsieve\fP)
für das Konto mit der angegebenen \fIAdresse\fP deaktiviert.
.br
Andernfalls wird nur der Zugriff auf den angegeben \fIService\fP gesperrt.
.PP
.nf
Beispiele:
\fBvmm u0 b.user@example.com imap\fP
\fBvmm userdisable c.user@example.com\fP
.fi
.PP
.TP
\fBuserenable\fP (\fBu1\fP) \fIAdresse\fP [ \fIService\fP ]
Um den Zugriff auf bestimmte oder alle gesperrten Service zu gewähren, wird
dieser Unterbefehl verwendet.
.br
Wurde weder ein \fIService\fP noch das Schlüsselwort '\fIall\fP' angegeben,
werden alle Services (\fIsmtp\fP, \fIpop3\fP, \fIimap\fP, und \fIsieve\fP)
für das Konto mit der angegebenen \fIAdresse\fP aktiviert.
.br
Andernfalls wird nur der Zugriff auf den angegeben \fIService\fP gestattet.
.PP
.TP
\fBuserdelete\fP (\fBud\fP) \fIAdresse\fP [ \fIdelalias\fP ]
Verwenden Sie diesen Unterbefehl um, das Konto mit der angegebenen \fIAdresse\fP
zu löschen.
.br
Sollte es einen oder mehrere Aliase geben, deren Zieladresse mit der des Kontos
identisch ist, wird \fBvmm\fP die Ausführung des Befehls mit einer
entsprechenden Fehlermeldung beenden. Um dieses zu umgehen, kann das optionale
Schlüsselwort '\fIdelalias\fP' angegebenen werden.
.\"
.SS ALIAS UNTERBEFEHLE
.TP
\fBaliasadd\fP (\fBaa\fP) \fIAlias\fP \fIZiel\fP
Mit diesem Unterbefehl werden neue Aliase erstellt.
.PP
.nf
Beispiele:
\fBvmm aliasadd john.doe@example.com d.user@example.com\fP
\fBvmm aa support@example.com d.user@example.com\fP
\fBvmm aa support@example.com e.user@example.com\fP
.fi
.TP
\fBaliasinfo\fP (\fBai\fP) \fIAlias\fP
Informationen zu einem Alias können mit diesem Unterbefehl ausgegeben werden.
.PP
.nf
Beispiel:
\fBvmm aliasinfo support@example.com\fP
Alias Informationen
-------------------
E-Mails für support@example.com werden weitergeleitet an:
* d.user@example.com
* e.user@example.com
.fi
.TP
\fBaliasdelete\fP (\fBad\fP) \fIAlias\fP [ \fIZiel\fP ]
Verwenden Sie diesen Unterbefehl um den angegebenen \fIAlias\fP zu löschen.
.br
Wurde die optionale Zieladresse \fIZiel\fP angegeben, so wird nur diese
Zieladresse vom angegebenen \fIAlias\fP entfernt.
.PP
.nf
Beispiel:
\fBvmm ad support@example.com d.user@example.com\fP
.fi
.\"
.SS RELOCATED UNTERBEFEHLE
.TP
\fBrelocatedadd\fP (\fBra\fP) \fIalte_adresse\fP \fIneue_adresse\fP
Um einen neuen relocated User anzulegen kann dieser Unterbefehl verwendet
werden.
.br
Dabei ist \fIalte_adresse\fP die ehemalige Adresse des Benutzers, z. B.
b.user@example.com, und \fIneue_adresse\fP die neue Adresse, unter der Benutzer
erreichbar ist.
.PP
.nf
Beispiel:
\fBvmm relocatedadd b.user@example.com b-user@company.tld\fP
.fi
.TP
\fBrelocatedinfo\fP (\fBri\fP) \fIalte_adresse\fP
Dieser Unterbefehl zeigt die neue Adresse des relocated Users mit
\fIalte_adresse\fP.
.PP
.nf
Beispiel:
\fBvmm relocatedinfo b.user@example.com\fP
Relocated Informationen
-----------------------
Der Benutzer „b.user@example.com“ ist erreichbar unter „b-user@company.tld“
.fi
.TP
\fBrelocateddelete\fP (\fBrd\fP) \fIalte_adresse\fP
Mit diesem Unterbefehl kann der relocated User mit \fIalte_adresse\fP gelöscht
werden.
.PP
.nf
Beispiel:
\fBvmm relocateddelete b.user@example.com\fP
.fi
.\"
.SH DATEIEN
/usr/local/etc/vmm.cfg
.SH SIEHE AUCH
vmm.cfg(5), Konfigurationsdatei für vmm
.SH AUTOR
\fBvmm\fP und die dazugehörigen Manualseiten wurden von Pascal Volk
<\fIneverseen@users.sourceforge.net\fP> geschrieben und sind unter den
Bedingungen der BSD Lizenz lizenziert.