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
- Verwenden Sie Tag 0.4.2 für SSSD >= 1.6.0
- Verwenden Sie Tag >= 0.5.0 für SSSD >= 2.0.0
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
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
Custom SSSD installation and configuration including patch management for the SSSD source.
ansible-galaxy install timorunge.sssd