timorunge.sssd

sssd

Diese Rolle installiert und konfiguriert den SSSD Dienst.

Sie bietet auch die Möglichkeit, eine benutzerdefinierte SSSD-Version (aus dem Quellcode) gemäß Ihren Bedürfnissen zu installieren und zu patchen.

Anforderungen

Diese Rolle benötigt Ansible 2.6.0 oder höher, um Patches anzuwenden.

Sie können einfach pip verwenden, um eine stabile Version zu installieren (und zu definieren):

pip install ansible==2.7.9

Alle Plattformanforderungen sind in der Metadatendatei aufgeführt.

Installation

Empfehlung

Bleiben Sie bei SSSD 1.6.x. Die Version 2.0.0 funktioniert, aber ich musste einige Patches hinzufügen, um sie zum Laufen zu bringen. Die Patches sind im Wesentlichen Änderungen nach der ursprünglichen Veröffentlichung. Die Master-Version ist abwärtskompatibel mit der Version 1.6.13. 2.0.0 hat nur mehr Abhängigkeiten auf Debian-basierten Systemen (gir1.2-glib-2.0, libgirepository-1.0-1 & python-gi, pip: pyasn1, pyasn1-modules).

ansible-galaxy install timorunge.sssd[,version]

Hinweis für RedHat

Einige der Pakete, die diese Rolle installiert, sind nur in den rhel-6-server-optional-rpms oder rhel-7-server-optional-rpms Repositories verfügbar. Sie müssen möglicherweise diese Repositories aktivieren, wenn Sie einen Fehler erhalten, wie "Kein passendes Paket 'sssd-dbus' gefunden, das verfügbar, installiert oder aktualisiert ist".

Aktivieren Sie dieses optionale Repository für RHEL 6:

subscription-manager repos --enable rhel-6-server-optional-rpms

Und für RHEL 7:

subscription-manager repos --enable rhel-7-server-optional-rpms

Rollenvariablen

Diese Rolle erstellt im Wesentlichen aus hierarchischen YAML-Daten eine funktionsfähige Konfigurationsdatei für den SSSD-Dienst.

Die Variablen, die dieser Rolle übergeben werden können. Eine kurze Beschreibung finden Sie in diesem Abschnitt. Für alle Variablen werfen Sie einen Blick auf die SSSD-Konfigurationsoptionen.

# Aktivieren / Deaktivieren von SSSD als Dienst
# Typ: Bool
sssd_service_enabled: yes

# Aktivieren der DNS-Suche in der sshd-Konfiguration
# Typ: Bool
sssd_manage_sshd_dns_service_lookup: false

# Wählen Sie den Konfigurationstyp: config (`sssd_config`), file (`sssd_config_src_file`) oder none (Deaktivieren der sssd.conf-Generierung)
# Typ: Str
sssd_config_type: config

# Standard SSSD-Konfigurationsoptionen
# Typ: Dict
sssd_config:
  "domain/example.com":
    access_provider: permit
    auth_provider: local
    id_provider: local
  sssd:
    config_file_version: 2
    services: nss, pam
    domains: example.com

# Standard SSSD-Konfiguration aus Datei
# Typ: Str
sssd_config_src_file: sssd.example.conf

# SSSD aus Quellen:

# Installieren Sie SSSD aus Quellen:
# Typ: Bool
sssd_from_sources: false

# Versionsdefinition (nur relevant, wenn `sssd_from_sources` wahr ist):
# Typ: Str
sssd_version: 2.0.0

# Patches

# In diesem Abschnitt können Sie benutzerdefinierte Patches auf SSSD anwenden.
# Ein Beispiel finden Sie in der README.md und im Tests-Verzeichnis.
# Typ: Dict
sssd_patches:
  fix-makefile:
    dest_file: Makefile.am
    patch_file: "files/patches/{{ sssd_version }}/fix-makefile.diff"
    state: present

# Build-Optionen

# Die Standard-Build-Optionen werden in `vars/{{ ansible_os_family }}.yml` gespeichert
# Typ: List
sssd_build_options: "{{ sssd_default_build_options }}"

Beispiele

Um das Dokument schlank zu halten, sind die Kompilierungsoptionen gekürzt. Sie finden die SSSD-Build-Optionen in diesem Dokument.

1) Konfigurieren Sie SSSD gemäß Ihren Bedürfnissen

- hosts: all
  vars:
    sssd_config:
      "domain/example.com":
        access_provider: permit
        auth_provider: local
        id_provider: local
      sssd:
        config_file_version: 2
        domains: example.com
        services: nss, pam
  roles:
    - timorunge.sssd

2) Beispiel SSSD-Konfiguration für FreeIPA

- hosts: all
  vars:
    sssd_config:
      "domain/example.com":
        access_provider: ipa
        auth_provider: ipa
        cache_credentials: true
        chpass_provider: ipa
        id_provider: ipa
        ipa_domain: example.com
        ipa_hostname: debian-eeBahPh3.example.com
        ipa_server: ipa-srv1.example.com
        krb5_store_password_if_offline: true
        ldap_tls_cacert: /etc/ipa/ca.crt
      sssd:
        config_file_version: 2
        domains: example.com
        services: ifp, nss, pam, ssh, sudo
      nss:
        homedir_substring: /home
        memcache_timeout: 600
  roles:
    - timorunge.sssd

3) Bauen und konfigurieren Sie SSSD gemäß Ihren Bedürfnissen

Neben der Standardinstallation über Pakete ist es auch möglich, SSSD aus Quellen zu bauen (in diesem Beispiel für Debian-basierte Systeme).

- hosts: all
  vars:
    sssd_from_sources: true
    sssd_version: 2.0.0
    sssd_default_build_options:
      - "--datadir=/usr/share"
      - "--disable-rpath"
      - "--disable-silent-rules"
      - "--disable-static"
      - "--enable-krb5-locator-plugin"
      - "--enable-nsslibdir=/lib/{{ sssd_dpkg_architecture }}"
      - "--enable-pac-responder"
      - "--enable-pammoddir=/lib/{{ sssd_dpkg_architecture }}/security"
      - "--enable-systemtap"
      - "--includedir=/usr/include"
      - "--infodir=/usr/local/share/info"
      - "--libdir=/usr/lib/{{ sssd_dpkg_architecture }}"
      - "--libexecdir=/usr/lib/{{ sssd_dpkg_architecture }}"
      - "--localstatedir=/var"
      - "--mandir=/usr/local/share/man"
      - "--prefix=/usr"
      - "--sysconfdir=/etc"
      - "--with-autofs"
      - "--with-environment-file={{ sssd_environment_file }}"
      - "--with-initscript=systemd"
      - "--with-krb5-conf=/etc/krb5.conf"
      - "--with-krb5-plugin-path=/usr/lib/{{ sssd_dpkg_architecture }}/krb5/plugins/libkrb5"
      - "--with-ldb-lib-dir=/usr/lib/{{ sssd_dpkg_architecture }}/ldb/modules/ldb"
      - "--with-log-path=/var/log/sssd"
      - "--with-pid-path=/var/run"
      - "--with-plugin-path=/usr/lib/{{ sssd_dpkg_architecture }}/sssd"
      - "--with-samba"
      - "--with-secrets-db-path=/var/lib/sss/secrets"
      - "--with-secrets"
      - "--with-ssh"
      - "--with-sudo-lib-path=/usr/lib/{{ sssd_dpkg_architecture }}"
      - "--with-sudo"
      - "--with-systemdunitdir=/lib/systemd/system"
    sssd_config:
      "domain/example.com":
        access_provider: permit
        auth_provider: local
        id_provider: local
      sssd:
        config_file_version: 2
        domains: example.com
        services: nss, pam
  roles:
    - timorunge.sssd

4) Keine Konfiguration generieren

Nützlich, wenn Sie diese Rolle in Kombination mit dem FreeIPA-Server oder dem FreeIPA-Client verwenden.

- hosts: all
  vars:
    sssd_config_type: none
    sssd_from_sources: true
    sssd_version: 2.0.0
  roles:
    - timorunge.sssd

5) Patches auf den Quellcode anwenden

- hosts: all
  vars:
    sssd_from_sources: true
    sssd_version: 2.0.0
    sssd_patches:
      fix-makefile:
        dest_file: Makefile.am
        patch_file: "files/patches/{{ sssd_version }}/fix-makefile.diff"
        state: present
    sssd_build_options: "{{ sssd_default_build_options }}"
    sssd_config:
      "domain/example.com":
        access_provider: permit
        auth_provider: local
        id_provider: local
      sssd:
        config_file_version: 2
        domains: example.com
        services: nss, pam
  roles:
    - timorunge.sssd

6) Override init.d und systemd Templates

- hosts: all
  vars:
    sssd_init_template: roles/sssd/templates/sssd.service.j2
    sssd_service_template: roles/sssd/templates/sssd.init.j2
    sssd_config:
      "domain/example.com":
        access_provider: permit
        auth_provider: local
        id_provider: local
      sssd:
        config_file_version: 2
        domains: example.com
        services: nss, pam
  roles:
    - timorunge.sssd

SSSD-Konfigurationsoptionen

# Format:
# option: type, subtype, mandatory[, default]
sssd_config:
  service:
    # Optionen, die für alle Dienste verfügbar sind
    timeout: int, None, false
    debug: int, None, false
    debug_level: int, None, false
    debug_timestamps: bool, None, false
    debug_microseconds: bool, None, false
    debug_to_files: bool, None, false
    command: str, None, false
    reconnection_retries: int, None, false
    fd_limit: int, None, false
    client_idle_timeout: int, None, false
    responder_idle_timeout: int, None, false
    cache_first: int, None, false
    description: str, None, false

  sssd:
    # Überwachungsdienst
    config_file_version: int, None, false
    services: list, str, true, nss, pam
    domains: list, str, true
    sbus_timeout: int, None, false
    re_expression: str, None, false
    full_name_format: str, None, false
    krb5_rcache_dir: str, None, false
    user: str, None, false
    default_domain_suffix: str, None, false
    certificate_verification: str, None, false
    override_space: str, None, false
    disable_netlink: bool, None, false
    enable_files_domain: str, None, false
    domain_resolution_order: list, str, false
    try_inotify: bool, None, false

  nss:
    # Name Service
    enum_cache_timeout: int, None, false
    entry_cache_nowait_percentage: int, None, false
    entry_negative_timeout: int, None, false
    local_negative_timeout: int, None, false
    filter_users: list, str, false
    filter_groups: list, str, false
    filter_users_in_groups: bool, None, false
    pwfield: str, None, false
    override_homedir: str, None, false
    fallback_homedir: str, None, false
    homedir_substring: str, None, false, /home
    override_shell: str, None, false
    allowed_shells: list, str, false
    vetoed_shells: list, str, false
    shell_fallback: str, None, false
    default_shell: str, None, false
    get_domains_timeout: int, None, false
    memcache_timeout: int, None, false
    user_attributes: str, None, false

  pam:
    # Authentifizierungsdienst
    offline_credentials_expiration: int, None, false
    offline_failed_login_attempts: int, None, false
    offline_failed_login_delay: int, None, false
    pam_verbosity: int, None, false
    pam_response_filter: str, None, false
    pam_id_timeout: int, None, false
    pam_pwd_expiration_warning: int, None, false
    get_domains_timeout: int, None, false
    pam_trusted_users: str, None, false
    pam_public_domains: str, None, false
    pam_account_expired_message: str, None, false
    pam_account_locked_message: str, None, false
    pam_cert_auth: bool, None, false
    pam_cert_db_path: str, None, false
    p11_child_timeout: int, None, false
    pam_app_services: str, None, false
    pam_p11_allowed_services: str, None, false

  sudo:
    # sudo-Dienst
    sudo_timed: bool, None, false
    sudo_inverse_order: bool, None, false
    sudo_threshold: int, None, false

  autofs:
    # autofs-Dienst
    autofs_negative_timeout: int, None, false

  ssh:
    # ssh-Dienst
    ssh_hash_known_hosts: bool, None, false
    ssh_known_hosts_timeout: int, None, false
    ca_db: str, None, false

  pac:
    # PAC-Responder
    allowed_uids: str, None, false
    pac_lifetime: int, None, false

  ifp:
    # InfoPipe-Responder
    allowed_uids: str, None, false
    user_attributes: str, None, false

  secrets:
    # Geheimdienst
    provider: str, None, false
    containers_nest_level: int, None, false
    max_secrets: int, None, false
    max_uid_secrets: int, None, false
    max_payload_size: int, None, false

  session_recording:
    # Sitzungsaufzeichnungsdienst
    scope: str, None, false
    users: list, str, false
    groups: list, str, false

  provider:
    # Verfügbare Anbietertypen
    id_provider: str, None, true
    auth_provider: str, None, false
    access_provider: str, None, false
    chpass_provider: str, None, false
    sudo_provider: str, None, false
    autofs_provider: str, None, false
    hostid_provider: str, None, false
    subdomains_provider: str, None, false
    selinux_provider: str, None, false
    session_provider: str, None, false

  domain:
    # Optionen, die für alle Domains verfügbar sind
    description: str, None, false
    domain_type: str, None, false
    debug: int, None, false
    debug_level: int, None, false
    debug_timestamps: bool, None, false
    command: str, None, false
    min_id: int, None, false
    max_id: int, None, false
    timeout: int, None, false
    enumerate: bool, None, false
    offline_timeout: int, None, false
    cache_credentials: bool, None, false
    cache_credentials_minimal_first_factor_length: int, None, false
    use_fully_qualified_names: bool, None, false
    ignore_group_members: bool, None, false
    entry_cache_timeout: int, None, false
    lookup_family_order: str, None, false
    account_cache_expiration: int, None, false
    pwd_expiration_warning: int, None, false
    filter_users: list, str, false
    filter_groups: list, str, false
    dns_resolver_timeout: int, None, false
    dns_discovery_domain: str, None, false
    override_gid: int, None, false
    case_sensitive: str, None, false
    override_homedir: str, None, false
    fallback_homedir: str, None, false
    homedir_substring: str, None, false
    override_shell: str, None, false
    default_shell: str, None, false
    description: str, None, false
    realmd_tags: str, None, false
    subdomain_refresh_interval: int, None, false
    subdomain_inherit: str, None, false
    subdomain_homedir: str, None, false
    cached_auth_timeout: int, None, false
    full_name_format: str, None, false
    re_expression: str, None, false
    auto_private_groups: str, None, false

    # Cache-Timeouts für Einträge
    entry_cache_user_timeout: int, None, false
    entry_cache_group_timeout: int, None, false
    entry_cache_netgroup_timeout: int, None, false
    entry_cache_service_timeout: int, None, false
    entry_cache_autofs_timeout: int, None, false
    entry_cache_sudo_timeout: int, None, false
    entry_cache_ssh_host_timeout: int, None, false
    refresh_expired_interval: int, None, false

    # Dynamische DNS-Updates
    dyndns_update: bool, None, false
    dyndns_ttl: int, None, false
    dyndns_iface: str, None, false
    dyndns_refresh_interval: int, None, false
    dyndns_update_ptr: bool, None, false
    dyndns_force_tcp: bool, None, false
    dyndns_auth: str, None, false
    dyndns_server: str, None, false

  # Besondere Anbieter
  provider/permit:

  provider/permit/access:

  provider/deny:

  provider/deny/access:

SSSD-Build-Optionen

Eine Übersicht über die Build-Optionen für SSSD (2.0.0).

`configure' konfiguriert sssd 2.0.0, um sich vielen Arten von Systemen anzupassen.

Verwendung: ./configure [OPTION]... [VAR=VALUE]...

Um Umgebungsvariablen (z.B. CC, CFLAGS...) zuzuweisen, geben Sie sie als VAR=VALUE an.  Unten sind Beschreibungen einiger nützlicher Variablen aufgeführt.

Defaults für die Optionen sind in Klammern angegeben.

Konfiguration:
  -h, --help              diese Hilfe anzeigen und beenden
      --help=short        spezifische Optionen für dieses Paket anzeigen
      --help=recursive    die kurze Hilfe aller enthaltenen Pakete anzeigen
  -V, --version           Versionsinformationen anzeigen und beenden
  -q, --quiet, --silent   keine `prüfen ...'-Nachrichten drucken
      --cache-file=FILE   Testresultate in der Datei FILE zwischenspeichern [deaktiviert]
  -C, --config-cache      Alias für `--cache-file=config.cache'
  -n, --no-create         keine Ausgabedateien erstellen
      --srcdir=DIR        die Quellen im DIR suchen [Konfigurationsverzeichnis oder `..']

Installationsverzeichnisse:
  --prefix=PREFIX         Architekturunabhängige Dateien in PREFIX installieren
                          [/usr/local]
  --exec-prefix=EPREFIX   architekturspezifische Dateien in EPREFIX installieren
                          [PREFIX]

Standardmäßig installiert `make install` alle Dateien in
`/usr/local/bin`, `/usr/local/lib` usw. Sie können ein anderes Installationspräfix als `/usr/local` mit `--prefix` angeben,
zum Beispiel `--prefix=$HOME`.

Für bessere Kontrolle verwenden Sie die folgenden Optionen.

Feineinstellung der Installationsverzeichnisse:
  --bindir=DIR            Benutzerprogramme [EPREFIX/bin]
  --sbindir=DIR           Systemadministratorprogramme [EPREFIX/sbin]
  --libexecdir=DIR        Programmexecutable [EPREFIX/libexec]
  --sysconfdir=DIR        schreibgeschützte Daten für einzelne Maschinen [PREFIX/etc]
  --sharedstatedir=DIR    veränderbare, architekturunabhängige Daten [PREFIX/com]
  --localstatedir=DIR     veränderbare Daten für einzelne Maschinen [PREFIX/var]
  --libdir=DIR            Objektbibliotheken [EPREFIX/lib]
  --includedir=DIR        C-Header-Dateien [PREFIX/include]
  --oldincludedir=DIR     C-Header-Dateien für non-gcc [/usr/include]
  --datarootdir=DIR       schreibgeschützte, architekturunabhängige Datenwurzel [PREFIX/share]
  --datadir=DIR           schreibgeschützte, architekturunabhängige Daten [DATAROOTDIR]
  --infodir=DIR           Informationsdokumentation [DATAROOTDIR/info]
  --localedir=DIR         lokalisierungsabhängige Daten [DATAROOTDIR/locale]
  --mandir=DIR            Man-Dokumentation [DATAROOTDIR/man]
  --docdir=DIR            Dokumentationswurzel [DATAROOTDIR/doc/sssd]
  --htmldir=DIR           HTML-Dokumentation [DOCDIR]
  --dvidir=DIR            DVI-Dokumentation [DOCDIR]
  --pdfdir=DIR            PDF-Dokumentation [DOCDIR]
  --psdir=DIR             PS-Dokumentation [DOCDIR]

Programmnamen:
  --program-prefix=PREFIX            PREFIX zu installierten Programmnamen voranstellen
  --program-suffix=SUFFIX            SUFFIX zu installierten Programmnamen anhängen
  --program-transform-name=PROGRAM   sed PROGRAM auf installierte Programmnamen anwenden

Systemtypen:
  --build=BUILD     für den Bau auf BUILD konfigurieren [erraten]
  --host=HOST       Quellkompilierung für den Bau von Programmen, die auf HOST [BUILD] ausgeführt werden

Optionale Funktionen:
  --disable-option-checking  nicht erkannte --enable/--with Optionen ignorieren
  --disable-FEATURE       das Einfügen von FEATURE ausschließen (dasselbe wie --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  das Einfügen von FEATURE [ARG=yes] 
  --enable-dependency-tracking
                          nicht langsame Abhängigkeits-Extraktoren ablehnen
  --disable-dependency-tracking
                          beschleunigt einmalige Builds
  --enable-silent-rules   weniger ausführliche Bauausgaben (rückgängig machen: "make V=1")
  --disable-silent-rules  ausführliche Bauausgaben (rückgängig machen: "make V=0")
  --enable-static[=PKGS]  statische Bibliotheken erstellen [Standard=no]
  --enable-shared[=PKGS]  Shared-Bibliotheken erstellen [Standard=yes]
  --enable-fast-install[=PKGS]
                          für schnelle Installation optimieren [Standard=yes]
  --disable-libtool-lock  das Sperren vermeiden (kann Parallel-Bauten unterbrechen)
  --disable-nls           Keine Unterstützung für die Landessprache verwenden
  --disable-rpath         Laufzeitbibliothekspfad nicht fest kodieren
  --enable-nsslibdir      Wo nss-Bibliotheken installiert werden ($libdir)
  --enable-pammoddir      Wo pam-Module installiert werden ($libdir/security)
  --enable-nfsidmaplibdir Wo libnfsidmap-Bibliotheken installiert werden
                          ($libdir/libnfsidmap)
  --enable-all-experimental-features
                          alle experimentellen Funktionen erstellen
  --enable-sss-default-nss-plugin
                          Diese Option ändert das Standardverhalten des sss-nss-Plugins. Wenn diese Option aktiviert ist, verhält sich das sss-nss-Plugin so, als wäre sssd nicht aktiv. [Standard=no]
  --enable-files-domain   Wenn dieses Feature aktiviert ist, aktiviert SSSD immer eine Domäne mit id_provider=files, auch wenn die Domäne nicht in der Konfigurationsdatei angegeben ist [Standard=no]
  --enable-local-provider Wenn dieses Feature aktiviert ist, wird der lokale Anbieter standardmäßig erstellt. [Standard=no]
  --enable-ldb-version-check
                          mit ldb zur Laufzeit Versionsüberprüfung kompilieren [Standard=no]
  --disable-krb5-locator-plugin
                          Kerberos-Locator-Plugin nicht erstellen
  --enable-pac-responder  pac-responder erstellen
  --disable-cifs-idmap-plugin
                          CIFS-IDMAP-Plugin nicht erstellen
  --enable-systemtap      Systemtap-Trace-Unterstützung einschließen
  --enable-intgcheck-reqs Integrationstestanforderungen überprüfen
                          [Standard=no]
  --enable-polkit-rules-path=PATH
                          Pfad zum Speichern von Polkit-Regeln. Verwenden Sie --disable, um die Regeln überhaupt nicht zu installieren.
                          [/usr/share/polkit-1/rules.d]

Optionale Pakete:
  --with-PACKAGE[=ARG]    verwenden Sie PAKET [ARG=yes]
  --without-PACKAGE       verwenden Sie PAKET nicht (dasselbe wie --with-PACKAGE=no)
  --with-pic[=PKGS]       versuchen, nur PIC/NON-PIC-Objekte zu verwenden [Standard: beide verwenden]
  --with-gnu-ld           davon ausgehen, dass der C-Compiler GNU ld verwendet [Standard=no]
  --with-sysroot=DIR Durchsuchen nach abhängigen Bibliotheken innerhalb von DIR
                        (oder das Standardverzeichnis des Compilers, wenn nicht angegeben).
  --with-gnu-ld           davon ausgehen, dass der C-Compiler GNU ld verwendet [Standard=no]
  --with-libiconv-prefix[=DIR]  suchen Sie nach libiconv in DIR/include und DIR/lib
  --without-libiconv-prefix     nicht nach libiconv in includedir und libdir suchen
  --with-libintl-prefix[=DIR]  suchen Sie nach libintl in DIR/include und DIR/lib
  --without-libintl-prefix     nicht nach libintl in includedir und libdir suchen
  --with-shared-build-dir=DIR
                          temporäres Build-Verzeichnis, in dem Bibliotheken installiert werden [$srcdir/sharedbuild]
  --with-os=OS_TYPE       Art Ihres Betriebssystems
                          (fedora|redhat|suse|gentoo)

  --with-db-path=PATH     Pfad zu den SSSD-Datenbanken [/var/lib/sss/db]

  --with-plugin-path=PATH Pfad zu den SSSD-Datenanbieter-Plugins
                          [/usr/lib/sssd]

  --with-pid-path=PATH    Speicherort für PID-Dateien für die SSSD [/var/run]

  --with-log-path=PATH    Speicherort für Protokolldateien für die SSSD
                          [/var/log/sssd]

  --with-pubconf-path=PATH
                          Speicherort für PubConf-Dateien für die SSSD
                          [/var/lib/sss/pubconf]

  --with-pipe-path=PATH   Speicherort für Pipe-Dateien für die SSSD-Verbindungen
                          [/var/lib/sss/pipes]

  --with-mcache-path=PATH Speicherort für mmap-Cache-Dateien für die SSSD
                          Verbindungen [/var/lib/sss/mc]

  --with-default-ccache-dir=CCACHEDIR
                          Der Standardwert von krb5_ccachedir [/tmp]

  --with-default-ccname-template=CCACHE
                          Der Standardfallwert von krb5_ccname_template
                          [DATEI:%d/krb5cc_%U_XXXXXX]

  --with-environment-file=PATH
                          Pfad zur Umgebungsdatei [/etc/sysconfig/sssd]

  --with-init-dir=DIR     Speicherort für das Init-Skript für sssd
                          [/etc/rc.d/init.d]

  --with-test-dir=PATH    Verzeichnis, das für temporäre Dateien verwendet wird
                          [$builddir]

  --with-manpages         Ob die Man-Seiten aus DocBook-Quellen neu generiert werden sollen
                          [ja]

  --with-xml-catalog-path=PATH
                          Wo nach XML-Katalogen gesucht werden soll [/etc/xml/catalog]

  --with-krb5-plugin-path=PATH
                          Pfad zum Kerberos-Plugin-Speicher
                          [/usr/lib/krb5/plugins/libkrb5]

  --with-krb5-rcache-dir=PATH
                          Pfad zum Speichern von Kerberos-Wiederholungs-Caches
                          [__LIBKRB5_DEFAULTS__]

  --with-krb5authdata-plugin-path=PATH
                          Pfad zum Kerberos-Autorisierungsdaten-Plugin-Speicher
                          [/usr/lib/krb5/plugins/authdata]

  --with-krb5-conf=PATH   Pfad zur krb5.conf-Datei [/etc/krb5.conf]

  --with-python2-bindings Ob Python2-Bindings erstellt werden sollen [ja]

  --with-python3-bindings Ob Python3-Bindings erstellt werden sollen [ja]

  --with-cifs-plugin-path=PATH
                          Pfad zum cifs-utils-Plugin-Speicher
                          [/usr/lib/cifs-utils]

  --with-winbind-plugin-path=PATH
                          Pfad zum Winbind-IDMAP-Plugin-Speicher
                          [/usr/lib/samba/idmap]

  --with-selinux          Ob mit SELinux-Unterstützung erstellt werden soll [ja]

  --with-nscd=PATH        Pfad zur nscd-Binärdatei, um den nscd-Cache zu leeren
                          nach lokalen Domainvorgängen [/usr/sbin/nscd]

  --with-ipa-getkeytab=PATH
                          Pfad zur ipa_getkeytab-Binärdatei zum Abrufen von Keytabs
                          vom FreeIPA-Server [/usr/sbin/ipa-getkeytab]

  --with-semanage         Ob mit SELinux-Benutzermanagement 
                          Unterstützung erstellt werden soll [ja]

  --with-ad-gpo-default=enforcing|permissive
                          Standard Durchsetzungsgrad für AD GPO Zugriffskontrolle
                          (durchsetzungsfähig)

  --with-gpo-cache-path=PATH
                          Speicherort für GPO-Richtliniendateien
                          [/var/lib/sss/gpo_cache]

  --with-nologin-shell=PATH
                          Die Shell, die verwendet wird, um den Benutzern den Zugriff zu verwehren
                          [/sbin/nologin]

  --with-session-recording-shell=PATH
                          Die Shell, die zur Aufzeichnung von Benutzersitzungen verwendet wird
                          [/usr/bin/tlog-rec-session]

  --with-app-libs=<path>  Pfad zu den 3rd-Party-Anwendungsplugins
                          [/usr/lib/sssd/modules]

  --with-sudo             Ob mit Sudo-Unterstützung erstellt werden soll [ja]

  --with-sudo-lib-path=<path>
                          Pfad zur Sudo-Bibliothek [/usr/lib/]

  --with-autofs           Ob mit AutoFS-Unterstützung erstellt werden soll [ja]

  --with-ssh              Ob mit SSH-Unterstützung erstellt werden soll [ja]

  --with-infopipe         Ob mit InfoPipe-Unterstützung erstellt werden soll [ja]

  --with-crypto=CRYPTO_LIB
                          Die zu verwendende Kryptographiebibliothek (nss|libcrypto).
                          Der Standard ist nss.

  --with-syslog=SYSLOG_TYPE
                          Typ Ihres Systemprotokollers (syslog|journald).
                          [syslog]

  --with-samba            Ob mit Samba4-Bibliotheken erstellt werden soll [ja]

  --with-nfsv4-idmapd-plugin
                          Ob mit NFSv4 IDMAP-Unterstützung erstellt werden soll [ja]

  --with-nfs-lib-path=<path>
                          Pfad zur NFS-Bibliothek [${libdir}]

  --with-libwbclient      Ob die SSSD-Implementierung von libwbclient erstellt werden soll
                          [ja]

  --with-sssd-user=<user> Benutzer für die Ausführung von SSSD (root)

  --with-secrets          Ob mit Geheimnisse-Unterstützung erstellt werden soll [nein]

  --with-secrets-db-path=PATH
                          Pfad zu den SSSD-Datenbanken [/var/lib/sss/secrets]

  --with-kcm              Ob mit KCM-Server-Unterstützung erstellt werden soll [ja]

  --with-ldb-lib-dir=PATH Pfad zum Speichern von ldb-Modulen [${libdir}/ldb]

  --with-smb-idmap-interface-version=5|6
                          IDMAP-Schnittstellenversion von installiertem Samba

  --with-unicode-lib=<library>
                          Welche Bibliothek für die Unicode-Verarbeitung verwendet werden soll
                          (libunistring, glib2) [glib2]

  --with-libnl            Ob mit libnetlink-Unterstützung (libnl3, libnl1, nein) 
                          [Auto] erstellt werden soll

  --with-nscd-conf=PATH   Pfad zur nscd.conf-Datei [/etc/nscd.conf]

  --with-initscript=INITSCRIPT_TYPE
                          Typ des Init-Skripts (sysv|systemd) [sysv]

   --with-systemdunitdir=DIR
                          Verzeichnis für systemd-Dienstdateien [Auto],

   --with-systemdconfdir=DIR
                          Verzeichnis für Überschreibungen von systemd-Dienstdateien [Auto],

  --with-tapset-install-dir
                          Der absolute Pfad, in dem das Tapset-Verzeichnis installiert wird

Einige einflussreiche Umgebungsvariablen:
  CC          Befehl des C-Compilers
  CFLAGS      C-Compiler-Flags
  LDFLAGS     Linkerflags, z.B. -L<lib dir>, wenn Sie Bibliotheken in einem nicht standardmäßigen Verzeichnis <lib dir> haben
  LIBS        Bibliotheken, die an den Linker übergeben werden sollen, z.B. -l<library>
  CPPFLAGS    (Objective) C/C++-Präprozessor-Flags, z.B. -I<include dir>, wenn Sie Header in einem nicht standardmäßigen Verzeichnis <include dir> haben
  CPP         C-Präprozessor
  PKG_CONFIG  Pfad zum pkg-config-Dienstprogramm
  POPT_CFLAGS C-Compiler-Flags für POPT, die pkg-config überschreiben
  POPT_LIBS   Linkerflags für POPT, die pkg-config überschreiben
  TALLOC_CFLAGS
              C-Compiler-Flags für TALLOC, die pkg-config überschreiben
  TALLOC_LIBS Linkerflags für TALLOC, die pkg-config überschreiben
  TDB_CFLAGS  C-Compiler-Flags für TDB, die pkg-config überschreiben
  TDB_LIBS    Linkerflags für TDB, die pkg-config überschreiben
  TEVENT_CFLAGS
              C-Compiler-Flags für TEVENT, die pkg-config überschreiben
  TEVENT_LIBS Linkerflags für TEVENT, die pkg-config überschreiben
  LDB_CFLAGS  C-Compiler-Flags für LDB, die pkg-config überschreiben
  LDB_LIBS    Linkerflags für LDB, die pkg-config überschreiben
  DHASH_CFLAGS
              C-Compiler-Flags für DHASH, die pkg-config überschreiben
  DHASH_LIBS  Linkerflags für DHASH, die pkg-config überschreiben
  COLLECTION_CFLAGS
              C-Compiler-Flags für COLLECTION, die pkg-config überschreiben
  COLLECTION_LIBS
              Linkerflags für COLLECTION, die pkg-config überschreiben
  INI_CONFIG_V0_CFLAGS
              C-Compiler-Flags für INI_CONFIG_V0, die pkg-config überschreiben
  INI_CONFIG_V0_LIBS
              Linkerflags для INI_CONFIG_V0, что переопределяет pkg-config
  INI_CONFIG_V1_CFLAGS
              C-Compiler-Flags für INI_CONFIG_V1, die pkg-config überschreiben
  INI_CONFIG_V1_LIBS
              Linkerflags für INI_CONFIG_V1, die pkg-config überschreiben
  INI_CONFIG_V1_1_CFLAGS
              C-Compiler-Flags für INI_CONFIG_V1_1, die pkg-config überschreiben
  INI_CONFIG_V1_1_LIBS
              Linkerflags für INI_CONFIG_V1_1, die pkg-config überschreiben
  INI_CONFIG_V1_3_CFLAGS
              C-Compiler-Flags für INI_CONFIG_V1_3, die pkg-config überschreiben
  INI_CONFIG_V1_3_LIBS
              Linkerflags для INI_CONFIG_V1_3, что переопределяет pkg-config
  GDM_PAM_EXTENSIONS_CFLAGS
              C-Compiler-Flags для GDM_PAM_EXTENSIONS, что переопределяет pkg-config
  GDM_PAM_EXTENSIONS_LIBS
              Linkerflags для GDM_PAM_EXTENSIONS, что переопределяет pkg-config
  PCRE_CFLAGS C-Compiler-Flags для PCRE, что переопределяет pkg-config
  PCRE_LIBS   Linkerflags для PCRE, что переопределяет pkg-config
  KRB5_CFLAGS C-Compiler-Flags для kerberos, что переопределяет krb5-config
  KRB5_LIBS   Linkerflags для kerberos, что переопределяет krb5-config
  CARES_CFLAGS
              C-Compiler-Flags для CARES, что переопределяет pkg-config
  CARES_LIBS  Linkerflags для CARES, что переопределяет pkg-config
  SYSTEMD_LOGIN_CFLAGS
              C-Compiler-Flags для SYSTEMD_LOGIN, что переопределяет pkg-config
  SYSTEMD_LOGIN_LIBS
              Linkerflags для SYSTEMD_LOGIN, что переопределяет pkg-config
  SYSTEMD_DAEMON_CFLAGS
              C-Compiler-Flags для SYSTEMD_DAEMON, что переопределяет pkg-config
  SYSTEMD_DAEMON_LIBS
              Linkerflags для SYSTEMD_DAEMON, что переопределяет pkg-config
  NDR_NBT_CFLAGS
              C-Compiler-Flags для NDR_NBT, что переопределяет pkg-config
  NDR_NBT_LIBS
              Linkerflags для NDR_NBT, что переопределяет pkg-config
  NDR_KRB5PAC_CFLAGS
              C-Compiler-Flags для NDR_KRB5PAC, что переопределяет pkg-config
  NDR_KRB5PAC_LIBS
              Linkerflags для NDR_KRB5PAC, что переопределяет pkg-config
  SMBCLIENT_CFLAGS
              C-Compiler-Flags для SMBCLIENT, что переопределяет pkg-config
  SMBCLIENT_LIBS
              Linkerflags для SMBCLIENT, что переопределяет pkg-config
  SASL_CFLAGS C-Compiler-Flags для SASL, что переопределяет pkg-config
  SASL_LIBS   Linkerflags для SASL, что переопределяет pkg-config
  NFSIDMAP_CFLAGS
              C-Compiler-Flags для NFSIDMAP, что переопределяет pkg-config
  NFSIDMAP_LIBS
              Linkerflags для NFSIDMAP, что переопределяет pkg-config
  HTTP_PARSER_CFLAGS
              C-Compiler-Flags для HTTP_PARSER, что переопределяет pkg-config
  HTTP_PARSER_LIBS
              Linkerflags для HTTP_PARSER, что переопределяет pkg-config
  CURL_CFLAGS C-Compiler-Flags для CURL, что переопределяет pkg-config
  CURL_LIBS   Linkerflags для CURL, что переопределяет pkg-config
  UUID_CFLAGS C-Compiler-Flags для UUID, что переопределяет pkg-config
  UUID_LIBS   Linkerflags для UUID, что переопределяет pkg-config
  JANSSON_CFLAGS
              C-Compiler-Flags для JANSSON, что переопределяет pkg-config
  JANSSON_LIBS
              Linkerflags для JANSSON, что переопределяет pkg-config
  GLIB2_CFLAGS
              C-Compiler-Flags для GLIB2, что переопределяет pkg-config
  GLIB2_LIBS  Linkerflags для GLIB2, что переопределяет pkg-config
  LIBNL3_CFLAGS
              C-Compiler-Flags для LIBNL3, что переопределяет pkg-config
  LIBNL3_LIBS Linkerflags для LIBNL3, что переопределяет pkg-config
  LIBNL1_CFLAGS
              C-Compiler-Flags для LIBNL1, что переопределяет pkg-config
  LIBNL1_LIBS Linkerflags для LIBNL1, что переопределяет pkg-config
  DBUS_CFLAGS C-Compiler-Flags для DBUS, что переопределяет pkg-config
  DBUS_LIBS   Linkerflags для DBUS, что переопределяет pkg-config
  PYTHON      der Python-Interpreter
  JOURNALD_CFLAGS
              C-Compiler-Flags для JOURNALD, что переопределяет pkg-config
  JOURNALD_LIBS
              Linkerflags для JOURNALD, что переопределяет pkg-config
  NSS_CFLAGS  C-Compiler-Flags для NSS, что переопределяет pkg-config
  NSS_LIBS    Linkerflags для NSS, что переопределяет pkg-config
  CRYPTO_CFLAGS
              C-Compiler-Flags для CRYPTO, что переопределяет pkg-config
  CRYPTO_LIBS Linkerflags для CRYPTO, что переопределяет pkg-config
  SSL_CFLAGS  C-Compiler-Flags для SSL, что переопределяет pkg-config
  SSL_LIBS    Linkerflags для SSL, что переoprederse pkg-config
  P11_KIT_CFLAGS
              C-Compiler-Flags для P11_KIT, что переопределяет pkg-config
  P11_KIT_LIBS
              Linkerflags для P11_KIT, что переопределяет pkg-config
  CHECK_CFLAGS
              C-Compiler-Flags для CHECK, что переопределяет pkg-config
  CHECK_LIBS  Linkerflags для CHECK, что переопределяет pkg-config
  CMOCKA_CFLAGS
              C-Compiler-Flags для CMOCKA, что переопределяет pkg-config
  CMOCKA_LIBS Linkerflags для CMOCKA, что переопределяет pkg-config

Verwenden Sie diese Variablen, um die Entscheidungen von `configure` zu ändern oder um
dazu beizutragen, dass es Bibliotheken und Programme mit nicht standardmäßigen Namen/Standorten findet.

Melden Sie Fehler an <[email protected]>.

Testen

Build-Status

Tests werden mit Docker und docker_test_runner durchgeführt, die folgende Container mit verschiedenen Umgebungsbedingungen bereitstellt:

  • CentOS 7
  • Debian 9.4 (Stretch)
  • Debian 10 (Buster)
  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 18.04 (Bionic Beaver)
  • Ubuntu 18.10 (Cosmic Cuttlefish)

Ansible 2.7.9 ist in allen Containern installiert und ein Test-Playbook wird angewendet.

Für weitere Details und zusätzliche Prüfungen werfen Sie einen Blick in die Konfiguration des docker_test_runner und den Docker-Einstiegspunkt.

# Lokal testen:
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml

Da die Build-Zeit bei Travis für öffentliche Repositories begrenzt ist, sind die automatisierten Tests auf SSSD 2.0.0 auf diesen beschränkt:

  • CentOS 7
  • Debian 9.4 (Stretch)
  • Ubuntu 18.04 (Bionic Beaver)

Abhängigkeiten

Ubuntu 16.04

Auf Ubuntu 16.04 müssen Sie sicherstellen, dass pyopenssl aktualisiert ist, bevor Sie SSSD installieren.

pip install --upgrade pyopenssl

Lizenz

BSD 3-Klausel "Neu" oder "Überarbeitet" Lizenz

Autoreninformationen

  • Timo Runge
Über das Projekt

Custom SSSD installation and configuration including patch management for the SSSD source.

Installieren
ansible-galaxy install timorunge.sssd
Lizenz
bsd-3-clause
Downloads
383.1k
Besitzer