reallyenglish.cyrus-sasl

ansible-role-cyrus-sasl

Installiert cyrus-sasl, saslauthd und konfiguriert Benutzer in der SASL-Datenbankdatei. Diese Rolle unterstützt nur die lokale SASL-Datenbank und saslauthd. Wenn du andere Backends benötigst, ist dies nicht die richtige Wahl für dich.

sasl_check_pw

Diese Rolle installiert ein Python-Skript, um das Passwort eines Benutzers unter /usr/local/bin auf allen Plattformen zu überprüfen. Da es keine Möglichkeit gibt zu sehen, ob das Passwort, das in einer Rollenvariable definiert ist, mit dem in der Datenbank übereinstimmt, liest das Skript die Datei cyrus_sasl_sasldb_file und sucht nach dem Benutzer und seinem Passwort. Das Skript geht davon aus, dass die cyrus_sasl_sasldb_file im dbm-Format ist.

sasl_check_pw pfad benutzer domäne

pfad ist der Pfad zur cyrus_sasl_sasldb_file. benutzer ist der Benutzername in der cyrus_sasl_sasldb_file, und domäne ist der Domainname, zu dem der Benutzer gehört. Setze das zu überprüfende Passwort in eine Umgebungsvariable userPassword. Wenn das Passwort mit dem in der cyrus_sasl_sasldb_file übereinstimmt, gibt es matched auf stdout aus. Wenn nicht, gibt es does not match auf stdout aus. Das Skript muss von einem Benutzer mit Leseberechtigung auf der cyrus_sasl_sasldb_file ausgeführt werden.

Anforderungen

Keine

Rollenvariablen

Variable Beschreibung Standard
cyrus_sasl_package Der Paketname von cyrus-sasl {{ __cyrus_sasl_package }}
cyrus_sasl_saslauthd_service Der Dienstname von saslauthd {{ __cyrus_sasl_saslauthd_service }}
cyrus_sasl_saslauthd_enable saslauthd aktivieren, wenn ja ja
cyrus_sasl_saslauthd_flags Dictt von Dienstvariablen und deren Werten (siehe unten) {}
cyrus_sasl_saslauthd_flags_default Standardwert von Dienstvariablen und deren Werten {{ __cyrus_sasl_saslauthd_flags_default }}
cyrus_sasl_plugin_dir Das Plugin-Verzeichnis, in dem die Anwendungsconfig liegt {{ __cyrus_sasl_plugin_dir }}
cyrus_sasl_saslpassword_command Der Befehl zur Verwaltung der Passwörter von Benutzern {{ __cyrus_sasl_saslpassword_command }}
cyrus_sasl_sasldblistusers_command Der Befehl zum Auflisten von Benutzern in der Datenbank {{ __cyrus_sasl_sasldblistusers_command }}
cyrus_sasl_sasldb_file Pfad zur SASL-Datenbankdatei {{ __cyrus_sasl_sasldb_file }}
cyrus_sasl_sasldb_owner Besitzer der SASL-Datenbankdatei root
cyrus_sasl_sasldb_group Gruppe der SASL-Datenbankdatei {{ __cyrus_sasl_sasldb_group }}
cyrus_sasl_sasldb_file_permission Dateiberechtigungen der SASL-Datenbankdatei {{ __cyrus_sasl_sasldb_file_permission }}
cyrus_sasl_config Ein Dict der Anwendungsconfig (siehe unten) {}
cyrus_sasl_user Ein Dict der Benutzer in der SASL-Datenbankdatei (siehe unten) {}

cyrus_sasl_saslauthd_flags

Diese Variable ist ein Dict von Variablen der Startkonfigurationsdateien, wie z.B. Dateien unter /etc/default, /etc/sysconfig, und /etc/rc.conf.d. Es wird angenommen, dass die Dateien mit sh(1) von dem Startmechanismus source werden. Ein Schlüssel im Dict ist der Name der Variablen in der Datei, und der Wert des Schlüssels ist der Wert der Variablen. Die Variable wird mit einer Variablen kombiniert, deren Name derselbe ist wie diese Variable, jedoch mit _default endet (siehe unten) und das Ergebnis erstellt die Startkonfigurationsdatei, normalerweise eine Datei, die aus Zeilen key="value" im entsprechenden Verzeichnis für die Plattform besteht.

Wenn die Plattform OpenBSD ist, gilt die obige Erklärung nicht. In diesem Fall ist der einzige gültige Schlüssel flags und dessen Wert wird an daemon_flags übergeben, wie in rc.conf(5) beschrieben, wobei daemon der Name eines der rc.d(8) Daemonsteuerungsskripte ist.

cyrus_sasl_saslauthd_flags_default

Diese Variable ist ein Dict von Schlüsseln und Werten, die aus der Standardkonfiguration von upstream abgeleitet sind, und soll konstant sein, es sei denn, es ist absolut notwendig. Standardmäßig erstellt die Rolle eine Startkonfigurationsdatei für jede Plattform mit dieser Variablen, identisch mit dem Standardwert.

Wenn die Plattform OpenBSD ist, hat die Variable einen einzelnen Schlüssel, flags und dessen Wert ist ein leerer String.

cyrus_sasl_config

Der Schlüssel ist der Anwendungsname. Der Wert ist ein Dict, in dem der Schlüssel der Variablenname und der Wert dessen Wert ist. Beispiel:

cyrus_sasl_config:
    myapp:
        pwcheck_method: saslauthd

cyrus_sasl_user

Der Schlüssel ist der Benutzername und seine Werte sind ein Dict.

Schlüssel Wert
domain Die Domain des Benutzers
password Das Passwort des Benutzers
appname Der appname des Benutzers
state Entweder present oder absent. Die Rolle erstellt den Benutzer, wenn present, oder löscht ihn, wenn absent
cyrus_sasl_user:
  foo:
    domain: reallyenglish.com
    password: password
    appname: argus
    state: present

Debian

Variable Standard
__cyrus_sasl_package libsasl2-2
__cyrus_sasl_saslauthd_service saslauthd
__cyrus_sasl_saslauthd_flags_default {"MECHANISMS"=>"pam", "MECH_OPTIONS"=>"", "THREADS"=>5, "OPTIONS"=>"-c -m /var/run/saslauthd"}
__cyrus_sasl_plugin_dir /usr/lib/sasl2
__cyrus_sasl_saslpassword_command saslpasswd2
__cyrus_sasl_sasldblistusers_command sasldblistusers2
__cyrus_sasl_sasldb_file /etc/sasldb2
__cyrus_sasl_sasldb_file_permission 0660
__cyrus_sasl_sasldb_group root

FreeBSD

Variable Standard
__cyrus_sasl_package cyrus-sasl
__cyrus_sasl_saslauthd_service saslauthd
__cyrus_sasl_saslauthd_flags_default {}
__cyrus_sasl_plugin_dir /usr/local/lib/sasl2
__cyrus_sasl_saslpassword_command saslpasswd2
__cyrus_sasl_sasldblistusers_command sasldblistusers2
__cyrus_sasl_sasldb_file /usr/local/etc/sasldb2
__cyrus_sasl_sasldb_file_permission 600
__cyrus_sasl_sasldb_group wheel

OpenBSD

Variable Standard
__cyrus_sasl_package cyrus-sasl--
__cyrus_sasl_saslauthd_service saslauthd
__cyrus_sasl_saslauthd_flags_default {"flags"=>"-a getpwent"}
__cyrus_sasl_plugin_dir /usr/local/lib/sasl2
__cyrus_sasl_saslpassword_command saslpasswd2
__cyrus_sasl_sasldblistusers_command sasldblistusers2
__cyrus_sasl_sasldb_file /etc/sasldb2
__cyrus_sasl_sasldb_file_permission 600
__cyrus_sasl_sasldb_group wheel

RedHat

Variable Standard
__cyrus_sasl_package cyrus-sasl
__cyrus_sasl_saslauthd_service saslauthd
__cyrus_sasl_saslauthd_flags_default {"SOCKETDIR"=>"/run/saslauthd", "MECH"=>"pam", "FLAGS"=>""}
__cyrus_sasl_plugin_dir /usr/lib64/sasl2
__cyrus_sasl_saslpassword_command saslpasswd2
__cyrus_sasl_sasldblistusers_command sasldblistusers2
__cyrus_sasl_sasldb_file /etc/sasldb2
__cyrus_sasl_sasldb_file_permission 0640
__cyrus_sasl_sasldb_group root

Abhängigkeiten

Keine

Beispiel-Playbook

- hosts: localhost
  roles:
    - ansible-role-cyrus-sasl
  vars:
    cyrus_sasl_user:
      foo:
        domain: reallyenglish.com
        password: password
        appname: argus
        state: present
    cyrus_sasl_config:
      myapp:
        pwcheck_method: saslauthd
      argus:
        pwcheck_method: auxprop
        auxprop_plugin: sasldb
        mech_list: DIGEST-MD5
    cyrus_sasl_sasldb_group: "{% if ansible_os_family == 'Debian' %}nogroup{% else %}nobody{% endif %}"
    cyrus_sasl_sasldb_file_permission: "0640"

    extra_variables_debian:
      THREADS: 6
    extra_variables_redhat:
      FLAGS: -n 6
    extra_variables_freebsd:
      saslauthd_flags: -a pam -n 6
    extra_variables_openbsd:
      flags: -a getpwent -n 6
    cyrus_sasl_saslauthd_flags: "{% if ansible_os_family == 'Debian' %}{{ extra_variables_debian }}{% elif ansible_os_family == 'RedHat' %}{{ extra_variables_redhat }}{% elif ansible_os_family == 'FreeBSD' %}{{ extra_variables_freebsd }}{% elif ansible_os_family == 'OpenBSD' %}{{ extra_variables_openbsd }}{% endif %}"

Lizenz

Copyright (c) 2017 Tomoyuki Sakurai <[email protected]>

Die Erlaubnis zur Nutzung, Kopie, Modifikation und Verteilung dieser Software zu jedem Zweck, mit oder ohne Gebühr, wird hiermit erteilt, vorausgesetzt, dass der oben genannte Copyright-Hinweis und dieser Hinweis auf allen Kopien erscheinen.

DIE SOFTWARE WIRD "WIE BESEHEN" BEREITGESTELLT, UND DER AUTOR LEHNT ALLE GARANTIEN IN BEZUG AUF DIESE SOFTWARE AB, EINSCHLIEßLICH ALLER IMPLIZITEN GARANTIEN DER MARKTFÄHIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. IN KEINEM FALL HAFTET DER AUTOR FÜR BESONDERE, DIREKTE, INDIREKTE ODER FOLGESCHÄDEN, ODER FÜR JEDEN SCHADEN, DER AUS DEM VERLUST VON NUTZUNG, DATEN ODER GEWINNEN ENTSTANDEN IST, UNABHÄNGIG DAVON, OB IN EINER KLAGE AUS VERTRAG, FAHRLÄSSIGKEIT ODER ANDERER UNTAT, AUS DER NUTZUNG ODER LEISTUNG DIESER SOFTWARE HERVORGEHT.

Autor-Informationen

Tomoyuki Sakurai tomoyukis@reallyenglish.com

Dieses README wurde erstellt von qansible

Über das Projekt

Configures cyrus-sasl and users in SASL DB file

Installieren
ansible-galaxy install reallyenglish.cyrus-sasl
GitHub Repository
Lizenz
isc
Downloads
17.2k
Besitzer