Jan Ulrich Hasecke
2019-11-06 8d081ac85398030bb1c1f5f6e59e5c995a6987fa
hsscript umgestellt
15 files modified
629 ■■■■■ changed files
source/conf.py 1 ●●●● patch | view | raw | blame | history
source/einstieg/index.rst 2 ●●●●● patch | view | raw | blame | history
source/index.rst 1 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/domain.rst 95 ●●●●● patch | view | raw | blame | history
source/referenz/hsadmin/emailaddress.rst 59 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/emailaliases.rst 52 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/index.rst 17 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/mysqldb.rst 55 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/mysqluser.rst 57 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/postgresqldb.rst 52 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/postgresqluser.rst 57 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/q.rst 21 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/syntax.rst 77 ●●●● patch | view | raw | blame | history
source/referenz/hsadmin/user.rst 75 ●●●● patch | view | raw | blame | history
source/referenz/tls/letsencrypt.rst 8 ●●●● patch | view | raw | blame | history
source/conf.py
@@ -1,3 +1,4 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
source/einstieg/index.rst
@@ -1,3 +1,5 @@
.. _kap-hsadmin-einstieg:
=====================
Einführung in HSAdmin
=====================
source/index.rst
@@ -41,3 +41,4 @@
.. only:: html
   * :ref:`genindex`
   * :ref:`modindex`
source/referenz/hsadmin/domain.rst
@@ -1,44 +1,67 @@
====================
HSAdmin-Modul domain
====================
Das HSAdmin-Modul ``domain`` verfügt über folgende Optionen:
.. _kap-modul-domain:
+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option              | Erläuterung                                                                                                                                                       |
+=====================+===================================================================================================================================================================+
| name                | Name einer Domain                                                                                                                                                 |
+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| user                | Name des Domain-Admins                                                                                                                                            |
+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| validsubdomainnames | leichtgewichtige Subdomains in diesem virtual Host des Webservers, gültige Werte: "*" für beliebige Subdomains oder eine kommaseparierte Liste: "www,blog,other"  |
+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
============
Modul domain
============
Beispiel:
Funktionen
==========
.. option:: domain.search
   Suche Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten
.. option:: domain.add
   Füge einen neuen Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu.
.. option:: domain.update
   Aktualisiere einen Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten.
.. option:: domain.remove
   Lösche einen Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten.
Editierbare Felder
==================
Das HSAdmin-Modul ``domain`` kann entsprechend der folgenden Befehlssyntax von :command:`HSADmin` Felder setzen oder verändern::
   domain.function({where:{field:'value',...}, set:{field:'value',...}})
Im Modul ``domain`` stehen folgende Felder zur Verfügung.
name
   Name einer Domain
user
   Name des Domain-Admins
validsubdomainnames
   leichtgewichtige Subdomains in diesem virtual Host des Webservers, gültige Werte: ``*`` für beliebige Subdomains oder eine kommaseparierte Liste: ``www,blog,other``
greylisting
   E-Mails werden verzögert durch den Mailserver angenommen, siehe :term:`Greylisting`. Ist die Option deaktivert, werden E-Mails ohne Verzögerung angenommen.
multiviews
   Der Webserver berücksichtigt Einstellungen im Browser beim Abruf einer Domain (z.B. eine bevorzugte Sprache). Die Option kann mit einer :term:`.htaccess`-Datei für jedes Verzeichnis konfiguriert werden.
indexes
   Der Webserver erzeugt für Verzeichnisse, die keine eigene Index-Datei enthalten, eine Liste mit den im Verzeichnis enthaltenen Dateien. Ist die Option deaktiviert, wird ein Fehler 303 ausgegeben. Die Option kann mit einer .htaccess-Datei für jedes Verzeichnis konfiguriert werden.
htdocsfallback
   Der Webserver leitet auf die Hauptdomain, wenn keine Sub-Domain angelegt ist. Ist die Option deaktivert, wird ein Fehler 404 ausgegeben: Seite nicht gefunden.
includes
   Der Webserver erkennt :term:`SSI`-Komandos und -Dateien. Die Option kann mit einer .htaccess-Datei für jedes Verzeichnis konfiguriert werden.
backupmxforexternalmx
   Der Paket-Hive wird als Weiterleitung (transport) beim Mail-In-Server eingetragen. Ist die Option aktiv, ist der Hostsharing-Mail-In-Server Backup-MX. Der eigentliche Mailserver befindet sich außerhalb der Infrastruktur von Hostsharing (z.B. anderer Provider, DSL-Anschluss mit fester IP)
letsencrypt
   Es wird automatisch ein TLS Zertifikat für diese Domain und alle im Feld „valid subdomain names“ angegebenen Subdomains erzeugt
.. note::
        Die Option ``backupmxforexternalmx`` erfordert Änderungen am :doc:`Zonefile<../zonefile/index>` einer Domain.
Beispiele
=========
.. code-block:: console
    xyz00@hsadmin> domain.add ({set:{name:'hs-example.de',user:'xyz00'}})
+-----------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Option                | default | Erläuterung                                                                                                                                                                                                                                                                                     |
+=======================+=========+=================================================================================================================================================================================================================================================================================================+
| greylisting           | on      | E-Mails werden verzögert durch den Mailserver angenommen, siehe :term:`Greylisting`. Ist die Option deaktivert, werden E-Mails ohne Verzögerung angenommen.                                                                                                                                     |
+-----------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| multiviews            | on      | Der Webserver berücksichtigt Einstellungen im Browser beim Abruf einer Domain (z.B. eine bevorzugte Sprache).  Die Option kann mit einer :term:`.htaccess`-Datei für jedes Verzeichnis konfiguriert werden.                                                                                     |
+-----------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| indexes               | on      | Der Webserver erzeugt für Verzeichnisse, die keine eigene Index-Datei enthalten, eine Liste mit den im Verzeichnis enthaltenen Dateien. Ist die Option deaktiviert, wird ein Fehler 303 ausgegeben. Die Option kann mit einer .htaccess-Datei für jedes Verzeichnis konfiguriert werden.        |
+-----------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| htdocsfallback        | on      | Der Webserver leitet auf die Hauptdomain, wenn keine Sub-Domain angelegt ist. Ist die Option deaktivert, wird ein Fehler 404 ausgegeben: Seite nicht gefunden.                                                                                                                                  |
+-----------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| includes              | on      | Der Webserver erkennt  :term:`SSI`-Komandos und -Dateien. Die Option kann mit einer .htaccess-Datei für jedes Verzeichnis konfiguriert werden.                                                                                                                                                  |
+-----------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| backupmxforexternalmx | off     | Der Paket-Hive wird als Weiterleitung (transport) beim Mail-In-Server eingetragen. Ist die Option aktiv, ist der Hostsharing-Mail-In-Server Backup-MX. Der eigentliche Mailserver befindet sich außerhalb der Infrastruktur von Hostsharing (z.B. anderer Provider, DSL-Anschluß mit fester IP) |
+-----------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| letsencrypt           | on      | Es wird automatisch ein TLS Zertifikat für diese Domain und alle im Feld "valid subdomain names" angegebenen Subdomains erzeugt                                                                                                                                                                 |
+-----------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. note::
        Die Option ``backupmxforexternalmx`` erfordert Änderungen am :doc:`Zonefile<../zonefile/index>` einer Domain.
.. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
source/referenz/hsadmin/emailaddress.rst
@@ -1,21 +1,47 @@
==========================
HSAdmin-Modul emailaddress
==========================
.. _kap-modul-emailaddress:
==================
Modul emailaddress
==================
Funktionen
==========
.. option:: emailaddress.search
   Suche E-Mail-Adresse nach den im Befehlsausdruck angegebenen Feldern und Werten
.. option:: emailaddress.add
   Füge eine neue E-Mail-Adresse nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu.
.. option:: emailaddress.update
   Aktualisiere eine E-Mail-Adresse nach den im Befehlsausdruck angegebenen Feldern und Werten.
.. option:: emailaddress.remove
   Lösche eine E-Mail-Adresse nach den im Befehlsausdruck angegebenen Feldern und Werten.
Editierbare Felder
==================
Das HSAdmin-Modul ``emailaddress`` kann entsprechend der folgenden Befehlssyntax von :command:`HSADmin` Felder setzen oder verändern::
   emailaddress.function({where:{field:'value',...}, set:{field:'value',...}})
Im Modul ``emailaddress`` stehen folgende Felder zur Verfügung.
domain
   Name einer Domain
localpart
   Bezeichnung für den lokalen Teil einer E-Mail-Adresse: der Teil vor ``@``.
target
   Ziel einer E-Mail-Adresse, mehrere Ziele werden durch Kommata getrennt
Das HSAdmin-Modul ``emailaddress`` verfügt über folgende Optionen:
+---------------+------------------------------------------------------------------------+
| Option        | Erläuterung                                                            |
+===============+========================================================================+
| domain        | Name einer  Domain                                                     |
+---------------+------------------------------------------------------------------------+
| localpart     | bezeichnet den lokalen  Part einer Domain (Part vor '@')               |
+---------------+------------------------------------------------------------------------+
| target        | Ziel einer E-Mail-Adresse, mehrere Ziele werden durch Kommata getrennt |
+---------------+------------------------------------------------------------------------+
Beispiele:
Beispiele
=========
.. code-block:: console
@@ -23,3 +49,4 @@
    xyz00@hsadmin> emailaddress.add ({set:{domain:'hs-example.de',localpart:'info',target:'ihre@emailadresse.de'}})
.. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
source/referenz/hsadmin/emailaliases.rst
@@ -1,20 +1,48 @@
========================
HSAdmin-Modul emailalias
========================
.. _kap-modul-emailalias:
Das HSAdmin-Modul ``emailalias`` verfügt über folgende Optionen:
================
Modul emailalias
================
+---------------+------------------------------------------------------------------------+
| Option        | Erläuterung                                                            |
+===============+========================================================================+
| name          | Name des E-Mail-Alias                                                  |
+---------------+------------------------------------------------------------------------+
| target        | Ziel einer E-Mail-Adresse; mehrere Ziele werden durch Kommata getrennt |
+---------------+------------------------------------------------------------------------+
Funktionen
==========
Beispiel:
.. option:: emailalias.search
   Suche E-Mail-Alias nach den im Befehlsausdruck angegebenen Feldern und Werten
.. option:: emailalias.add
   Füge eine neue E-Mail-Alias nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu.
.. option:: emailalias.update
   Aktualisiere eine E-Mail-Alias nach den im Befehlsausdruck angegebenen Feldern und Werten.
.. option:: emailalias.remove
   Lösche eine E-Mail-Alias nach den im Befehlsausdruck angegebenen Feldern und Werten.
Editierbare Felder
==================
Das HSAdmin-Modul ``emailalias`` kann entsprechend der folgenden Befehlssyntax von :command:`HSADmin` Felder setzen oder verändern::
   emailalias.function({where:{field:'value',...}, set:{field:'value',...}})
Im Modul ``emailalias`` stehen folgende Felder zur Verfügung.
name
   Name des E-Mail-Alias
target
   Ziel einer E-Mail-Adresse; mehrere Ziele werden durch Kommata getrennt
Beispiele
=========
.. code-block:: console
    xyz00@hsadmin> emailalias.add ({set:{name:'xyz00',target:'webmaster@hs-example.de'}})
.. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
source/referenz/hsadmin/index.rst
@@ -1,14 +1,15 @@
.. _kap-hsadmin:
=======
HSAdmin
=======
HSAdmin ist ein Werkzeug zur Verwaltung von Nutzern, E-Mail-Adressen, E-Mail-Aliases, Domains, Datenbanken und Datenbank-Nutzern.
Die Bedienung erfolgt über ein :doc:`Webfrontend<webfrontend>` oder mit dem HSAdmin-Client ``hsscript`` in der Konsole:
Die Bedienung erfolgt über ein Webfrontend, das in :numref:`kap-hsadmin-einstieg` vorgestellt wird.
.. code-block:: console
In diesem Kapitel geht es um den HSAdmin-Client :command:`hsscript`, der in der Konsole benutzt wird.
    $ hsscript -u xyz00 -i
.. program:: hsscript
 
HSAdmin verfügt über folgende Module:
@@ -54,15 +55,13 @@
    :maxdepth: 1
    
    syntax
    user
    user
    domain
    mysqldb
    mysqluser
    postgresqldb
    postgresqluser
    emailaddress
    emailaliases
    domain
    q
    webfrontend
source/referenz/hsadmin/mysqldb.rst
@@ -1,22 +1,49 @@
=====================
HSAdmin-Modul mysqldb
=====================
.. _kap-modul-mysqldb:
=============
Modul mysqldb
=============
Das HSAdmin-Modul mysqldb verfügt über folgende Optionen:
Funktionen
==========
+---------------+------------------------------------------------+
| Option        | Erläuterung                                    |
+===============+================================================+
| name          | Datenbankname (z.B. xyz00_abc)                 |
+---------------+------------------------------------------------+
| owner         | Datenbanknutzer (z.B. xyz00_owner)             |
+---------------+------------------------------------------------+
| encoding      | Zeichensatz der Datenbank (Standard ist UTF-8) |
+---------------+------------------------------------------------+
.. option:: mysqldb.search
Beispiel:
   Suche Datenbank nach den im Befehlsausdruck angegebenen Feldern und Werten
.. option:: mysqldb.add
   Füge eine neue Datenbank nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu.
.. option:: mysqldb.update
   Aktualisiere eine Datenbank nach den im Befehlsausdruck angegebenen Feldern und Werten.
.. option:: mysqldb.remove
   Lösche eine Datenbank nach den im Befehlsausdruck angegebenen Feldern und Werten.
Editierbare Felder
==================
Das HSAdmin-Modul ``mysqldb`` kann entsprechend der folgenden Befehlssyntax von :command:`HSADmin` Felder setzen oder verändern::
   mysqldb.function({where:{field:'value',...}, set:{field:'value',...}})
Im Modul ``mysqldb`` stehen folgende Felder zur Verfügung.
name
   Datenbankname (z.B. xyz00_abc)
owner
   Datenbanknutzer (z.B. xyz00_owner)
encoding
   Zeichensatz der Datenbank (Standard ist UTF-8)
Beispiele
=========
.. code-block:: console
    xyz00@hsadmin> mysqldb.add ({set:{name:'xyz00_abc',owner:'xyz00_owner',encoding:'latin1'}})
.. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
source/referenz/hsadmin/mysqluser.rst
@@ -1,22 +1,51 @@
=======================
HSAdmin-Modul mysqluser
=======================
.. _kap-modul-mysqluser:
Das HSAdmin-Modul ``mysqluser`` verfügt über folgende Optionen:
===============
Modul mysqluser
===============
Funktionen
==========
.. option:: mysqluser.search
   Suche Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten
.. option:: mysqluser.add
   Füge einen neuen Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu.
.. option:: mysqluser.update
   Aktualisiere einen Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten.
.. option:: mysqluser.remove
   Lösche einen Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten.
Editierbare Felder
==================
Das HSAdmin-Modul ``mysqluser`` kann entsprechend der folgenden Befehlssyntax von :command:`HSADmin` Felder setzen oder verändern::
   mysqluser.function({where:{field:'value',...}, set:{field:'value',...}})
Im Modul ``mysqluser`` stehen folgende Felder zur Verfügung.
name
   Name des Datenbank-Benutzers (z.B. ``xyz00_abc``)
password
   Passwort des Datenbank-Benutzers
+---------------+------------------------------------------------+
| Option        | Erläuterung                                    |
+===============+================================================+
| name          | Name des Datenbanknutzers (z.B. xyz00_abc)     |
+---------------+------------------------------------------------+
| password      | Passwort                                       |
+---------------+------------------------------------------------+
Beispiel:
Beispiele
=========
.. code-block:: console
    xyz00@hsadmin> mysqluser.add  ({set:{name:'xyz00_owner',password:'!1?2-3aBc'}})
 
.. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
source/referenz/hsadmin/postgresqldb.rst
@@ -1,19 +1,43 @@
==========================
HSAdmin-Modul postgresqldb
==========================
.. _kap-modul-postgresqldb:
==================
Modul postgresqldb
==================
Das HSAdmin-Modul postgresqldb verfügt über folgende Optionen:
Funktionen
==========
+---------------+------------------------------------------------+
| Option        | Erläuterung                                    |
+===============+================================================+
| name          | Datenbankname (z.B. xyz00_abc)                 |
+---------------+------------------------------------------------+
| owner         | Datenbanknutzer (z.B. xyz00_owner)             |
+---------------+------------------------------------------------+
| encoding      | Zeichensatz der Datenbank (Standard ist UTF-8) |
+---------------+------------------------------------------------+
.. option:: postgresqldb.search
   Suche Datenbank nach den im Befehlsausdruck angegebenen Feldern und Werten
.. option:: postgresqldb.add
   Füge eine neue Datenbank nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu.
.. option:: postgresqldb.update
   Aktualisiere eine Datenbank nach den im Befehlsausdruck angegebenen Feldern und Werten.
.. option:: postgresqldb.remove
   Lösche eine Datenbank nach den im Befehlsausdruck angegebenen Feldern und Werten.
Editierbare Felder
==================
Das HSAdmin-Modul ``postgresqldb`` kann entsprechend der folgenden Befehlssyntax von :command:`HSADmin` Felder setzen oder verändern::
   postgresqldb.function({where:{field:'value',...}, set:{field:'value',...}})
Im Modul ``postgresqldb`` stehen folgende Felder zur Verfügung.
name
   Datenbankname (z.B. xyz00_abc)
owner
   Datenbanknutzer (z.B. xyz00_owner)
encoding
   Zeichensatz der Datenbank (Standard ist UTF-8)
Beispiel:
@@ -22,3 +46,5 @@
    xyz00@hsadmin> postgresqldb.add ({set:{name:'xyz00_abc',owner:'xyz00_abc',encoding:'latin1'}})
.. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
source/referenz/hsadmin/postgresqluser.rst
@@ -1,23 +1,50 @@
============================
HSAdmin-Modul postgresqluser
============================
.. _kap-modul-postgresqluser:
Das HSAdmin-Modul ``postgresqluser`` verfügt über folgende Optionen:
====================
Modul postgresqluser
====================
Funktionen
==========
.. option:: postgresqluser.search
   Suche Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten
.. option:: postgresqluser.add
   Füge einen neuen Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu.
.. option:: postgresqluser.update
   Aktualisiere einen Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten.
.. option:: postgresqluser.remove
   Lösche einen Datenbank-Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten.
Editierbare Felder
==================
Das HSAdmin-Modul ``postgresqluser`` kann entsprechend der folgenden Befehlssyntax von :command:`HSADmin` Felder setzen oder verändern::
   postgresqluser.function({where:{field:'value',...}, set:{field:'value',...}})
Im Modul ``postgresqluser`` stehen folgende Felder zur Verfügung.
name
   Name des Datenbank-Benutzers (z.B. ``xyz00_abc``)
password
   Passwort des Datenbank-Benutzers
+---------------+------------------------------------------------+
| Option        | Erläuterung                                    |
+===============+================================================+
| name          | Name des Datenbank-Nutzers (z.B. xyz00_abc)    |
+---------------+------------------------------------------------+
| password      | Passwort                                       |
+---------------+------------------------------------------------+
Beispiel:
Beispiele
=========
.. code-block:: console
    xyz00@hsadmin> postgresqluser.add ({set:{name:'xyz00_abc',password:'!1?2-3aBc'}})
 
.. todo:: Weitere Beispiele bringen
source/referenz/hsadmin/q.rst
@@ -1,12 +1,23 @@
===============
HSAdmin-Modul q
===============
Das HSAdmin-Modul hat die Funktion ``search``. Hiermit ist die Suche nach HSAdmin-Aktionen möglich.
.. _kap-modul-q:
Beispiel:
=======
Modul q
=======
Funktionen
==========
.. option:: q.search
   Das HSAdmin-Modul hat nur die Funktion ``search``.
   Hiermit ist die Suche nach HSAdmin-Aktionen möglich.
Beispiele
=========
.. code-block:: console
    $  q.search ({where:{user:'xyz00'}})
.. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
source/referenz/hsadmin/syntax.rst
@@ -1,51 +1,52 @@
======
Syntax
======
Die Funktionen von HSAdmin können über das Kommandozeilenprogramm
hsscript aufgerufen werden, welches Befehle per Parameter,
Dateiübergabe oder interaktiv entgegennimmt.
Aufruf
------
Die Funktionen von HSAdmin können über das Kommandozeilenprogramm :command:`hsscript` aufgerufen werden, welches Befehle per Parameter, Dateiübergabe oder interaktiv entgegennimmt.
Der Aufruf erfolgt nach folgender Syntax:
.. code-block:: console
   $ hsscript -u <Benutzer> -e <Befehl>...
+----------------------+---------------------------------------------------------------------------------+
| Parameter            | Erläuterung                                                                     |
+======================+=================================================================================+
| | --user <Benutzer>  | Benutzer, welcher zur Authentifizierung und Autorisierung verwendet werden soll |
| | -u <Benutzer>      |                                                                                 |
+----------------------+---------------------------------------------------------------------------------+
| | --runas <Benutzer> | Benutzer, mit dessen Rechten der Befehl ausgeführt werden soll                  |
| | -r <Benutzer>      |                                                                                 |
+----------------------+---------------------------------------------------------------------------------+
| | --expr <Befehl>    | Befehl, welcher ausgeführt werden soll                                          |
| | -e <Befehl>        |                                                                                 |
+----------------------+---------------------------------------------------------------------------------+
| | --file <Datei>     | Datei, aus welcher Befehle gelesen und ausgeführt werden sollen                 |
| | -f <Datei>         |                                                                                 |
+----------------------+---------------------------------------------------------------------------------+
| | --interactive      | interaktiver Modus                                                              |
| | -i                 |                                                                                 |
+----------------------+---------------------------------------------------------------------------------+
Befehle
-------
Die folgenden Optionen können übergeben werden.
::
.. option:: -u --user
  module.function({where:{field:'value',...}, set:{field:'value',...}})
   Benutzer, welcher zur Authentifizierung und Autorisierung verwendet werden soll, zum Beispiel ``xyz00``.
+-----------+-------------------------------------------------------------+
| Parameter | Erläuterung                                                 |
+===========+=============================================================+
| module    | Modul, dessen Funktion aufgerufen werden soll               |
+-----------+-------------------------------------------------------------+
| function  | Funktion, welche aufgerufen werden soll                     |
+-----------+-------------------------------------------------------------+
| where     | selektiert nach Wert eines oder mehrerer Felder             |
+-----------+-------------------------------------------------------------+
| set       | setzt oder aktualisiert den Wert eines oder mehrerer Felder |
+-----------+-------------------------------------------------------------+
.. option:: -r --runas
   Benutzer, mit dessen Rechten der Befehl ausgeführt werden soll, zum Beispiel ``xzy00-doms``.
.. option:: -e --expr
   Der Befehl, der ausgeführt werden soll.
   Er setzt sich aus einer Reihe von Parametern zusammen.
   Der Befehl hat folgende Syntax::
      module.function({where:{field:'value',...}, set:{field:'value',...}})
   +-----------+---------------------------------------------------------------------------------------+
   | Parameter |                                      Erläuterung                                      |
   +===========+=======================================================================================+
   | module    | Modul, dessen Funktion aufgerufen werden soll (z.B. ``user`` oder ``mysqldb``)        |
   +-----------+---------------------------------------------------------------------------------------+
   | function  | Funktion, welche aufgerufen werden soll (``search``, ``add``, ``update``, ``remove``) |
   +-----------+---------------------------------------------------------------------------------------+
   | where     | selektiert nach Wert eines oder mehrerer Felder                                       |
   +-----------+---------------------------------------------------------------------------------------+
   | set       | setzt oder aktualisiert den Wert eines oder mehrerer Felder                           |
   +-----------+---------------------------------------------------------------------------------------+
   Die Module und Funktionen werden in den folgenden Kapiteln erklärt.
.. option:: -f --file
   Datei, aus welcher Befehle gelesen und ausgeführt werden sollen
.. option:: -i --interactive
   Das Programm startet im interaktiven Modus.
   Die Befehle können am Kommandozeilen-Prompt eingegeben werden.
source/referenz/hsadmin/user.rst
@@ -1,27 +1,64 @@
==================
HSAdmin-Modul user
.. _kap-modul-user:
==========
Modul user
==========
Funktionen
==========
.. option:: user.search
   Suche Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten
.. option:: user.add
   Füge einen neuen Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten hinzu.
.. option:: user.update
   Aktualisiere einen Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten.
.. option:: user.remove
   Lösche einen Benutzer nach den im Befehlsausdruck angegebenen Feldern und Werten.
Editierbare Felder
==================
Das HSAdmin-Modul ``user`` verfügt über folgende Optionen:
Das HSAdmin-Modul ``user`` kann entsprechend der folgenden Befehlssyntax von :command:`HSADmin` Felder setzen oder verändern::
+-----------------+-----------------------------------------------------------------------------------------------------------------+
| Option          | Erläuterung                                                                                                     |
+=================+=================================================================================================================+
| name            | Benutzerkennung (z.B. xyz00-abc)                                                                                |
+-----------------+-----------------------------------------------------------------------------------------------------------------+
| comment         | Kommentar                                                                                                       |
+-----------------+-----------------------------------------------------------------------------------------------------------------+
| password        | Passwort                                                                                                        |
+-----------------+-----------------------------------------------------------------------------------------------------------------+
| shell           | shell (z.B. ``/bin/bash``)                                                                                      |
+-----------------+-----------------------------------------------------------------------------------------------------------------+
| quota_softlimit | zugewiesene :term:`Quota` in Megabyte                                                                           |
+-----------------+-----------------------------------------------------------------------------------------------------------------+
| quota_hardlimit | Grenze der :term:`Grace Period`, bis zu der Überschreitungen des Softlimit toleriert werden. Angabe in Megabyte |
+-----------------+-----------------------------------------------------------------------------------------------------------------+
   user.function({where:{field:'value',...}, set:{field:'value',...}})
Beispiel:
Im Modul ``user`` stehen folgende Felder zur Verfügung.
name
   Benutzerkennung (z.B. xyz00-abc)
comment
   Kommentar, in dem zum Beispiel die Funktion des Benutzers beschrieben werden kann
password
   Das Passwort
shell
  Die zugewiesene Shell (z.B. ``/bin/bash``)
quota_softlimit
  Das zugewiesene :term:`Quota` in Megabyte
quote_hardlimit
  Grenze der :term:`Grace Period`, bis zu der Überschreitungen des Softlimit toleriert werden. Angabe in Megabyte
Beispiele
=========
In einer interaktiven Sitzung wird mit folgendem Befehl der neue Benutzer ``xyz00-mustermann`` angelegt.
.. code-block:: console
    xyz00@hsadmin> user.add ({set:{name:'xyz00-mustermann',comment:'Max Mustermann',password:'!1?2-3aBc',shell:'/bin/bash',quota_softlimit:'50',quota_hardlimit:'75'}})
.. todo:: Weitere Beispiele, mindestens noch eins mit where-Kondition
source/referenz/tls/letsencrypt.rst
@@ -19,12 +19,12 @@
Es wird die Benutzerkennung des :role:`Paketadmins<Paket-Admin>` (xyz00) beim Benutzernamen und im Passwortfeld das entsprechende Passwort eingetragen.
.. figure:: ../images/hsadmin-login-pa.jpg
.. .. figure:: ../images/hsadmin-login-pa.jpg
Für das aktivieren von Let´s Encrypt zunächst im linken Fenster den Reiter Package auswählen:
.. figure:: ../images/hsadmin-start-pa.jpg
.. .. figure:: ../images/hsadmin-start-pa.jpg
Nun im linken Fensterteil das gewünschte *Paket* an klicken und dann im rechten Fenster den Tab *Domains* aktivieren.
@@ -33,11 +33,11 @@
 
Die gewünsche Domain auswählen und das *edit* Symbol an klicken
.. figure:: ../images/hsadmin-domain-auswahl.jpg
.. .. figure:: ../images/hsadmin-domain-auswahl.jpg
Die Eingabemaske wird mit folgenden Daten gefüllt:
.. figure:: ../images/hsadmin-domain-le.jpg
.. .. figure:: ../images/hsadmin-domain-le.jpg
Mit dem Button *OK* bestätigen.