timorunge.sssd
sssd
Ce rôle sert à installer et configurer le service SSSD.
Il permet également d’installer et de patcher une version personnalisée de SSSD (à partir des sources) selon vos besoins.
Exigences
Ce rôle nécessite Ansible 2.6.0 ou une version supérieure pour appliquer des patchs.
Vous pouvez facilement utiliser pip pour installer (et définir) une version stable :
pip install ansible==2.7.9
Tous les besoins matériels sont listés dans le fichier de métadonnées.
Installation
- Utilisez la version 0.4.2 pour SSSD >= 1.6.0
- Utilisez la version >= 0.5.0 pour SSSD >= 2.0.0
Recommandation
Restez avec SSSD 1.6.x. La version 2.0.0 fonctionne mais j'ai dû ajouter quelques patchs pour qu'elle fonctionne correctement. Les patchs sont en fait des commits après la version initiale. La version master est compatible avec la version 1.6.13. La 2.0.0 a simplement plus de dépendances sur les systèmes basés sur Debian (gir1.2-glib-2.0, libgirepository-1.0-1 & python-gi
, pip : pyasn1, pyasn1-modules
).
ansible-galaxy install timorunge.sssd[,version]
Note pour RedHat
Certains des paquets que ce rôle installe ne sont disponibles que dans les dépôts rhel-6-server-optional-rpms
ou rhel-7-server-optional-rpms
. Vous devrez peut-être activer ces dépôts si vous obtenez une erreur comme "Aucun paquet correspondant à 'sssd-dbus' trouvé disponible, installé ou mis à jour".
Activez ce dépôt optionnel pour RHEL 6 :
subscription-manager repos --enable rhel-6-server-optional-rpms
Et pour RHEL 7 :
subscription-manager repos --enable rhel-7-server-optional-rpms
Variables de rôle
Ce rôle construit essentiellement un fichier de configuration de fonctionnement pour le service SSSD à partir d'une hiérarchie YAML.
Voici les variables qui peuvent être passées à ce rôle. Pour une description détaillée, consultez les options de configuration de SSSD.
# Activer / désactiver SSSD en tant que service
# Type : Bool
sssd_service_enabled: yes
# Activer la recherche DNS dans la configuration sshd
# Type : Bool
sssd_manage_sshd_dns_service_lookup: false
# Choisissez le type de configuration : config (`sssd_config`), fichier (`sssd_config_src_file`) ou aucun (désactiver la génération de sssd.conf)
# Type : Str
sssd_config_type: config
# Options de configuration SSSD par défaut
# Type : 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
# Configuration SSSD par défaut à partir d'un fichier
# Type : Str
sssd_config_src_file: sssd.example.conf
# SSSD à partir des sources :
# Installer SSSD à partir des sources :
# Type : Bool
sssd_from_sources: false
# Définition de la version (pertinent uniquement si `sssd_from_sources` est vrai) :
# Type : Str
sssd_version: 2.0.0
# Patches
# Dans cette section, vous pouvez appliquer des patchs personnalisés à SSSD.
# Vous pouvez trouver un exemple dans le README.md et dans le répertoire tests.
# Type : Dict
sssd_patches:
fix-makefile:
dest_file: Makefile.am
patch_file: "files/patches/{{ sssd_version }}/fix-makefile.diff"
state: present
# Options de construction
# Les options de construction par défaut sont stockées dans `vars/{{ ansible_os_family }}.yml`
# Type : List
sssd_build_options: "{{ sssd_default_build_options }}"
Exemples
Pour garder le document concis, les options de compilation sont simplifiées. Vous pouvez trouver les options de compilation SSSD dans ce document.
1) Configurer SSSD selon vos besoins
- 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) Exemple de configuration SSSD pour 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) Construire et configurer SSSD selon vos besoins
En plus de l'installation standard via des paquets, il est également possible de construire SSSD à partir des sources (dans cet exemple pour des systèmes basés sur Debian).
- 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) Ne pas générer de configuration
Utile si vous utilisez ce rôle en combinaison avec par exemple le serveur FreeIPA ou le client FreeIPA.
- hosts: all
vars:
sssd_config_type: none
sssd_from_sources: true
sssd_version: 2.0.0
roles:
- timorunge.sssd
5) Appliquer des patchs aux sources
- 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) Remplacer les modèles init.d et systemd
- 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
Options de configuration SSSD
# Format :
# option : type, sous-type, obligatoire[, par défaut]
sssd_config:
service:
# Options disponibles pour tous les services
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:
# Service de surveillance
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:
# Service de nom
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:
# Service d'authentification
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:
# Service sudo
sudo_timed: bool, None, false
sudo_inverse_order: bool, None, false
sudo_threshold: int, None, false
autofs:
# Service autofs
autofs_negative_timeout: int, None, false
ssh:
# Service SSH
ssh_hash_known_hosts: bool, None, false
ssh_known_hosts_timeout: int, None, false
ca_db: str, None, false
pac:
# Répondeur PAC
allowed_uids: str, None, false
pac_lifetime: int, None, false
ifp:
# Répondeur InfoPipe
allowed_uids: str, None, false
user_attributes: str, None, false
secrets:
# Service secrets
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
# Service secrets - proxy
proxy_url: str, None, false
auth_type: str, None, false
auth_header_name: str, None, false
auth_header_value: str, None, false
forward_headers: list, None, false
username: str, None, false
password: str, None, false
verify_peer: bool, None, false
verify_host: bool, None, false
capath: str, None, false
cacert: str, None, false
cert: str, None, false
key: str, None, false
session_recording:
# Service d'enregistrement de session
scope: str, None, false
users: list, str, false
groups: list, str, false
provider:
# Types de fournisseurs disponibles
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:
# Options disponibles pour tous les domaines
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
subdomain_enumerate: str, 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
# Délais d'expiration de cache d'entrée
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
# Mises à jour DNS dynamiques
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
# Fournisseurs spéciaux
provider/permit:
provider/permit/access:
provider/deny:
provider/deny/access:
Options de construction SSSD
Un aperçu des options de construction pour SSSD (2.0.0).
`configure' configure sssd 2.0.0 pour s'adapter à de nombreux types de systèmes.
Utilisation : ./configure [OPTION]... [VAR=VALUE]...
Pour assigner des variables d'environnement (par exemple, CC, CFLAGS...), spécifiez-les comme
VAR=VALUE. Voir ci-dessous pour des descriptions de certaines des variables utiles.
Les valeurs par défaut des options sont spécifiées entre crochets.
Configuration :
-h, --help afficher cette aide et quitter
--help=short afficher les options spécifiques à ce paquet
--help=recursive afficher l'aide courte de tous les paquets inclus
-V, --version afficher les informations de version et quitter
-q, --quiet, --silent ne pas imprimer de messages "checking ..."
--cache-file=FILE mettre en cache les résultats des tests dans un FICHIER [désactivé]
-C, --config-cache alias pour `--cache-file=config.cache'
-n, --no-create ne pas créer de fichiers de sortie
--srcdir=DIR trouver les sources dans DIR [répertoire de configuration ou `..']
Répertoires d'installation :
--prefix=PREFIX installer des fichiers indépendants de l'architecture dans PREFIX
[/usr/local]
--exec-prefix=EPREFIX installer des fichiers dépendants de l'architecture dans EPREFIX
[PREFIX]
Par défaut, `make install' installera tous les fichiers dans
`/usr/local/bin', `/usr/local/lib', etc. Vous pouvez spécifier
un préfixe d'installation autre que `/usr/local' en utilisant `--prefix',
par exemple `--prefix=$HOME'.
Pour un meilleur contrôle, utilisez les options ci-dessous.
Affinage des répertoires d'installation :
--bindir=DIR exécutables utilisateur [EPREFIX/bin]
--sbindir=DIR exécutables administratifs système [EPREFIX/sbin]
--libexecdir=DIR exécutables de programme [EPREFIX/libexec]
--sysconfdir=DIR données en lecture seule pour une machine unique [PREFIX/etc]
--sharedstatedir=DIR données indépendantes de l'architecture modifiables [PREFIX/com]
--localstatedir=DIR données modifiables pour une machine unique [PREFIX/var]
--libdir=DIR bibliothèques de code objet [EPREFIX/lib]
--includedir=DIR fichiers d'en-tête C [PREFIX/include]
--oldincludedir=DIR fichiers d'en-tête C pour non-gcc [/usr/include]
--datarootdir=DIR racine de données en lecture seule indépendantes de l'architecture [PREFIX/share]
--datadir=DIR données en lecture seule indépendantes de l'architecture [DATAROOTDIR]
--infodir=DIR documentation info [DATAROOTDIR/info]
--localedir=DIR données dépendantes de la locale [DATAROOTDIR/locale]
--mandir=DIR documentation man [DATAROOTDIR/man]
--docdir=DIR racine de documentation [DATAROOTDIR/doc/sssd]
--htmldir=DIR documentation html [DOCDIR]
--dvidir=DIR documentation dvi [DOCDIR]
--pdfdir=DIR documentation pdf [DOCDIR]
--psdir=DIR documentation ps [DOCDIR]
Noms de programme :
--program-prefix=PREFIX ajouter PREFIX aux noms de programmes installés
--program-suffix=SUFFIX ajouter SUFFIX aux noms de programmes installés
--program-transform-name=PROGRAM exécuter sed PROGRAM sur les noms de programmes installés
Types de systèmes :
--build=BUILD configurer pour construire sur BUILD [deviné]
--host=HOST compiler croisé pour construire des programmes à exécuter sur HOST [BUILD]
Fonctionnalités optionnelles :
--disable-option-checking ignorer les options non reconnues --enable/--with
--disable-FEATURE ne pas inclure FEATURE (même que --enable-FEATURE=no)
--enable-FEATURE[=ARG] inclure FEATURE [ARG=yes]
--enable-dependency-tracking
ne pas rejeter les extracteurs de dépendance lents
--disable-dependency-tracking
accélère la construction unique
--enable-silent-rules sortie de construction moins verbeuse (annuler : "make V=1")
--disable-silent-rules sortie de construction verbeuse (annuler : "make V=0")
--enable-static[=PKGS] construire des bibliothèques statiques [par défaut=no]
--enable-shared[=PKGS] construire des bibliothèques partagées [par défaut=yes]
--enable-fast-install[=PKGS]
optimiser pour une installation rapide [par défaut=yes]
--disable-libtool-lock éviter le verrouillage (peut casser les constructions parallèles)
--disable-nls ne pas utiliser le support de langue natif
--disable-rpath ne pas coder en dur les chemins des bibliothèques d'exécution
--enable-nsslibdir Où installer les bibliothèques nss ($libdir)
--enable-pammoddir Où installer les modules pam ($libdir/security)
--enable-nfsidmaplibdir Où installer les bibliothèques libnfsidmap
($libdir/libnfsidmap)
--enable-all-experimental-features
construire toutes les fonctionnalités expérimentales
--enable-sss-default-nss-plugin
Cette option change le comportement standard du plugin nss de sss. Si cette option est activée, le plugin nss de sss se comportera comme s'il n'était pas dans nsswitch.conf lorsque sssd n'est pas en cours d'exécution. [par défaut=no]
--enable-files-domain Si cette fonctionnalité est activée, alors SSSD active toujours un domaine avec id_provider=files même si le domaine n'est pas spécifié dans le fichier de configuration [par défaut=no]
--enable-local-provider Si cette fonctionnalité est activée, alors le fournisseur local sera construit par défaut. [par défaut=no]
--enable-ldb-version-check
compiler avec vérification de la version d'exécution ldb [par défaut=no]
--disable-krb5-locator-plugin
ne pas construire le plugin de localisation Kerberos
--enable-pac-responder construire un répondeur pac
--disable-cifs-idmap-plugin
ne pas construire le plugin de carte d'identité CIFS
--enable-systemtap Activer l'inclusion du support de trace systemtap
--enable-intgcheck-reqs activer la vérification des exigences de test d'intégration
[par défaut=no]
--enable-polkit-rules-path=PATH
Chemin pour stocker les règles polkit. Utiliser --disable pour ne pas
installer les règles du tout.
[/usr/share/polkit-1/rules.d]
Packages optionnels :
--with-PACKAGE[=ARG] utiliser PACKAGE [ARG=yes]
--without-PACKAGE ne pas utiliser PACKAGE (même que --with-PACKAGE=no)
--with-pic[=PKGS] essayer d'utiliser uniquement des objets PIC/non-PIC [par défaut=utiliser
les deux]
--with-gnu-ld supposer que le compilateur C utilise GNU ld [par défaut=no]
--with-sysroot=DIR Rechercher les bibliothèques dépendantes dans DIR
(ou le sysroot du compilateur si non spécifié).
--with-gnu-ld supposer que le compilateur C utilise GNU ld par défaut=no
--with-libiconv-prefix[=DIR] rechercher libiconv dans DIR/include et DIR/lib
--without-libiconv-prefix ne pas rechercher libiconv dans includedir et libdir
--with-libintl-prefix[=DIR] rechercher libintl dans DIR/include et DIR/lib
--without-libintl-prefix ne pas rechercher libintl dans includedir et libdir
--with-shared-build-dir=DIR
répertoire de construction temporaire où les bibliothèques sont
installées [$srcdir/sharedbuild]
--with-os=OS_TYPE Type de votre système d'exploitation
(fedora|redhat|suse|gentoo)
--with-db-path=PATH Chemin vers les bases de données SSSD [/var/lib/sss/db]
--with-plugin-path=PATH Chemin vers les plugins de fournisseur de données SSSD
[/usr/lib/sssd]
--with-pid-path=PATH Où stocker les fichiers pid pour le SSSD [/var/run]
--with-log-path=PATH Où stocker les fichiers journaux pour le SSSD
[/var/log/sssd]
--with-pubconf-path=PATH
Où stocker les fichiers pubconf pour le SSSD
[/var/lib/sss/pubconf]
--with-pipe-path=PATH Où stocker les fichiers pipe pour les interconnexions SSSD
[/var/lib/sss/pipes]
--with-mcache-path=PATH Où stocker les fichiers cache mmap pour les interconnexions SSSD
[/var/lib/sss/mc]
--with-default-ccache-dir=CCACHEDIR
La valeur par défaut de krb5_ccachedir [/tmp]
--with-default-ccname-template=CCACHE
La valeur par défaut de repli pour krb5_ccname_template
[FILE:%d/krb5cc_%U_XXXXXX]
--with-environment-file=PATH
Chemin vers le fichier d'environnement [/etc/sysconfig/sssd]
--with-init-dir=DIR Où stocker le script d'initialisation pour sssd
[/etc/rc.d/init.d]
--with-test-dir=PATH Répertoire utilisé pour les fichiers temporaires make check
[$builddir]
--with-manpages Que faire pour régénérer les pages de manuel à partir des sources DocBook
[oui]
--with-xml-catalog-path=PATH
Où chercher le catalogue XML [/etc/xml/catalog]
--with-krb5-plugin-path=PATH
Chemin vers le magasin de plugins Kerberos
[/usr/lib/krb5/plugins/libkrb5]
--with-krb5-rcache-dir=PATH
Chemin pour stocker les caches de reprise Kerberos
[__LIBKRB5_DEFAULTS__]
--with-krb5authdata-plugin-path=PATH
Chemin vers le magasin de plugins d'authentification Kerberos
[/usr/lib/krb5/plugins/authdata]
--with-krb5-conf=PATH Chemin vers le fichier krb5.conf [/etc/krb5.conf]
--with-python2-bindings Voulez-vous construire des liaisons python2 [oui]
--with-python3-bindings Voulez-vous construire des liaisons python3 [oui]
--with-cifs-plugin-path=PATH
Chemin vers le magasin de plugins cifs-utils
[/usr/lib/cifs-utils]
--with-winbind-plugin-path=PATH
Chemin vers le magasin de plugins d'identification winbind
[/usr/lib/samba/idmap]
--with-selinux Voulez-vous construire avec le support SELinux [oui]
--with-nscd=PATH Chemin vers le binaire nscd pour tenter de vider le cache nscd
après les opérations de domaine local [/usr/sbin/nscd]
--with-ipa-getkeytab=PATH
Chemin vers le binaire ipa_getkeytab pour récupérer les keytabs
du serveur FreeIPA [/usr/sbin/ipa-getkeytab]
--with-semanage Voulez-vous construire avec le support de gestion des utilisateurs SELinux [oui]
--with-ad-gpo-default=enforcing|permissive
Niveau d'application par défaut pour le contrôle d'accès GPO AD
(appliqué)
--with-gpo-cache-path=PATH
Où stocker les fichiers de stratégie GPO
[/var/lib/sss/gpo_cache]
--with-nologin-shell=PATH
Le shell utilisé pour refuser l'accès aux utilisateurs
[/sbin/nologin]
--with-session-recording-shell=PATH
Le shell utilisé pour enregistrer les sessions utilisateur
[/usr/bin/tlog-rec-session]
--with-app-libs=<path> Chemin vers les plugins d'applications tierces
[/usr/lib/sssd/modules]
--with-sudo Voulez-vous construire avec le support sudo [oui]
--with-sudo-lib-path=<path>
Chemin vers la bibliothèque sudo [/usr/lib/]
--with-autofs Voulez-vous construire avec le support autofs [oui]
--with-ssh Voulez-vous construire avec le support SSH [oui]
--with-infopipe Voulez-vous construire avec le support InfoPipe [oui]
--with-crypto=CRYPTO_LIB
La bibliothèque cryptographique à utiliser (nss|libcrypto).
La valeur par défaut est nss.
--with-syslog=SYSLOG_TYPE
Type de votre journal système (syslog|journald).
[syslog]
--with-samba Voulez-vous construire avec les bibliothèques samba4 [oui]
--with-nfsv4-idmapd-plugin
Voulez-vous construire avec le support NFSv4 IDMAP [oui]
--with-nfs-lib-path=<path>
Chemin vers la bibliothèque NFS [${libdir}]
--with-libwbclient Voulez-vous construire l'implémentation SSSD de libwbclient [oui]
--with-sssd-user=<user> Utilisateur pour exécuter SSSD (root)
--with-secrets Voulez-vous construire avec le support des secrets [non]
--with-secrets-db-path=PATH
Chemin vers les bases de données SSSD [/var/lib/sss/secrets]
--with-kcm Voulez-vous construire avec le support du serveur KCM [oui]
--with-ldb-lib-dir=PATH Chemin pour stocker les modules ldb [${libdir}/ldb]
--with-smb-idmap-interface-version=5|6
Version de l'interface de carte d'identité des installations Samba
--with-unicode-lib=<library>
Quelle bibliothèque utiliser pour le traitement Unicode
(libunistring, glib2) [glib2]
--with-libnl Voulez-vous construire avec le support libnetlink (libnl3,
libnl1, non) [auto]
--with-nscd-conf=PATH Chemin vers le fichier nscd.conf [/etc/nscd.conf]
--with-initscript=INITSCRIPT_TYPE
Type de votre script d'initialisation (sysv|systemd). [sysv]
--with-systemdunitdir=DIR
Répertoire pour les fichiers de service systemd [Auto],
--with-systemdconfdir=DIR
Répertoire pour les overrides de fichiers de service systemd [Auto],
--with-tapset-install-dir
Le chemin absolu où le répertoire tapset sera installé
Certaines variables d'environnement influentes :
CC Commande du compilateur C
CFLAGS Drapeaux du compilateur C
LDFLAGS Drapeaux de l'éditeur de liens, par exemple -L<répertoire lib> si vous avez des bibliothèques dans un
répertoire non standard <répertoire lib>
LIBS bibliothèques à passer à l'éditeur de liens, par exemple -l<bibliothèque>
CPPFLAGS (Objectif) Drapeaux du préprocesseur C/C++, par exemple -I<répertoire des header> si
vous avez des en-têtes dans un répertoire non standard <répertoire des header>
CPP Préprocesseur C
PKG_CONFIG chemin vers l'utilitaire pkg-config
POPT_CFLAGS Drapeaux du compilateur C pour POPT, remplaçant pkg-config
POPT_LIBS Drapeaux de l'éditeur de liens pour POPT, remplaçant pkg-config
TALLOC_CFLAGS
Drapeaux du compilateur C pour TALLOC, remplaçant pkg-config
TALLOC_LIBS Drapeaux de l'éditeur de liens pour TALLOC, remplaçant pkg-config
TDB_CFLAGS Drapeaux du compilateur C pour TDB, remplaçant pkg-config
TDB_LIBS Drapeaux de l'éditeur de liens pour TDB, remplaçant pkg-config
TEVENT_CFLAGS
Drapeaux du compilateur C pour TEVENT, remplaçant pkg-config
TEVENT_LIBS Drapeaux de l'éditeur de liens pour TEVENT, remplaçant pkg-config
LDB_CFLAGS Drapeaux du compilateur C pour LDB, remplaçant pkg-config
LDB_LIBS Drapeaux de l'éditeur de liens pour LDB, remplaçant pkg-config
DHASH_CFLAGS
Drapeaux du compilateur C pour DHASH, remplaçant pkg-config
DHASH_LIBS Drapeaux de l'éditeur de liens pour DHASH, remplaçant pkg-config
COLLECTION_CFLAGS
Drapeaux du compilateur C pour COLLECTION, remplaçant pkg-config
COLLECTION_LIBS
Drapeaux de l'éditeur de liens pour COLLECTION, remplaçant pkg-config
INI_CONFIG_V0_CFLAGS
Drapeaux du compilateur C pour INI_CONFIG_V0, remplaçant pkg-config
INI_CONFIG_V0_LIBS
Drapeaux de l'éditeur de liens pour INI_CONFIG_V0, remplaçant pkg-config
INI_CONFIG_V1_CFLAGS
Drapeaux du compilateur C pour INI_CONFIG_V1, remplaçant pkg-config
INI_CONFIG_V1_LIBS
Drapeaux de l'éditeur de liens pour INI_CONFIG_V1, remplaçant pkg-config
INI_CONFIG_V1_1_CFLAGS
Drapeaux du compilateur C pour INI_CONFIG_V1_1, remplaçant pkg-config
INI_CONFIG_V1_1_LIBS
Drapeaux de l'éditeur de liens pour INI_CONFIG_V1_1, remplaçant pkg-config
INI_CONFIG_V1_3_CFLAGS
Drapeaux du compilateur C pour INI_CONFIG_V1_3, remplaçant pkg-config
INI_CONFIG_V1_3_LIBS
Drapeaux de l'éditeur de liens pour INI_CONFIG_V1_3, remplaçant pkg-config
GDM_PAM_EXTENSIONS_CFLAGS
Drapeaux du compilateur C pour GDM_PAM_EXTENSIONS, remplaçant pkg-config
GDM_PAM_EXTENSIONS_LIBS
Drapeaux de l'éditeur de liens pour GDM_PAM_EXTENSIONS, remplaçant pkg-config
PCRE_CFLAGS Drapeaux du compilateur C pour PCRE, remplaçant pkg-config
PCRE_LIBS Drapeaux de l'éditeur de liens pour PCRE, remplaçant pkg-config
KRB5_CFLAGS Drapeaux du compilateur C pour kerberos, remplaçant krb5-config
KRB5_LIBS Drapeaux de l'éditeur de liens pour kerberos, remplaçant krb5-config
CARES_CFLAGS
Drapeaux du compilateur C pour CARES, remplaçant pkg-config
CARES_LIBS Drapeaux de l'éditeur de liens pour CARES, remplaçant pkg-config
SYSTEMD_LOGIN_CFLAGS
Drapeaux du compilateur C pour SYSTEMD_LOGIN, remplaçant pkg-config
SYSTEMD_LOGIN_LIBS
Drapeaux de l'éditeur de liens pour SYSTEMD_LOGIN, remplaçant pkg-config
SYSTEMD_DAEMON_CFLAGS
Drapeaux du compilateur C pour SYSTEMD_DAEMON, remplaçant pkg-config
SYSTEMD_DAEMON_LIBS
Drapeaux de l'éditeur de liens pour SYSTEMD_DAEMON, remplaçant pkg-config
NDR_NBT_CFLAGS
Drapeaux du compilateur C pour NDR_NBT, remplaçant pkg-config
NDR_NBT_LIBS
Drapeaux de l'éditeur de liens pour NDR_NBT, remplaçant pkg-config
NDR_KRB5PAC_CFLAGS
Drapeaux du compilateur C pour NDR_KRB5PAC, remplaçant pkg-config
NDR_KRB5PAC_LIBS
Drapeaux de l'éditeur de liens pour NDR_KRB5PAC, remplaçant pkg-config
SMBCLIENT_CFLAGS
Drapeaux du compilateur C pour SMBCLIENT, remplaçant pkg-config
SMBCLIENT_LIBS
Drapeaux de l'éditeur de liens pour SMBCLIENT, remplaçant pkg-config
SASL_CFLAGS Drapeaux du compilateur C pour SASL, remplaçant pkg-config
SASL_LIBS Drapeaux de l'éditeur de liens pour SASL, remplaçant pkg-config
NFSIDMAP_CFLAGS
Drapeaux du compilateur C pour NFSIDMAP, remplaçant pkg-config
NFSIDMAP_LIBS
Drapeaux de l'éditeur de liens pour NFSIDMAP, remplaçant pkg-config
HTTP_PARSER_CFLAGS
Drapeaux du compilateur C pour HTTP_PARSER, remplaçant pkg-config
HTTP_PARSER_LIBS
Drapeaux de l'éditeur de liens pour HTTP_PARSER, remplaçant pkg-config
CURL_CFLAGS Drapeaux du compilateur C pour CURL, remplaçant pkg-config
CURL_LIBS Drapeaux de l'éditeur de liens pour CURL, remplaçant pkg-config
UUID_CFLAGS Drapeaux du compilateur C pour UUID, remplaçant pkg-config
UUID_LIBS Drapeaux de l'éditeur de liens pour UUID, remplaçant pkg-config
JANSSON_CFLAGS
Drapeaux du compilateur C pour JANSSON, remplaçant pkg-config
JANSSON_LIBS
Drapeaux de l'éditeur de liens pour JANSSON, remplaçant pkg-config
GLIB2_CFLAGS
Drapeaux du compilateur C pour GLIB2, remplaçant pkg-config
GLIB2_LIBS Drapeaux de l'éditeur de liens pour GLIB2, remplaçant pkg-config
LIBNL3_CFLAGS
Drapeaux du compilateur C pour LIBNL3, remplaçant pkg-config
LIBNL3_LIBS Drapeaux de l'éditeur de liens pour LIBNL3, remplaçant pkg-config
LIBNL1_CFLAGS
Drapeaux du compilateur C pour LIBNL1, remplaçant pkg-config
LIBNL1_LIBS Drapeaux de l'éditeur de liens pour LIBNL1, remplaçant pkg-config
DBUS_CFLAGS Drapeaux du compilateur C pour DBUS, remplaçant pkg-config
DBUS_LIBS Drapeaux de l'éditeur de liens pour DBUS, remplaçant pkg-config
PYTHON l'interpréteur Python
JOURNALD_CFLAGS
Drapeaux du compilateur C pour JOURNALD, remplaçant pkg-config
JOURNALD_LIBS
Drapeaux de l'éditeur de liens pour JOURNALD, remplaçant pkg-config
NSS_CFLAGS Drapeaux du compilateur C pour NSS, remplaçant pkg-config
NSS_LIBS Drapeaux de l'éditeur de liens pour NSS, remplaçant pkg-config
CRYPTO_CFLAGS
Drapeaux du compilateur C pour CRYPTO, remplaçant pkg-config
CRYPTO_LIBS Drapeaux de l'éditeur de liens pour CRYPTO, remplaçant pkg-config
SSL_CFLAGS Drapeaux du compilateur C pour SSL, remplaçant pkg-config
SSL_LIBS Drapeaux de l'éditeur de liens pour SSL, remplaçant pkg-config
P11_KIT_CFLAGS
Drapeaux du compilateur C pour P11_KIT, remplaçant pkg-config
P11_KIT_LIBS
Drapeaux de l'éditeur de liens pour P11_KIT, remplaçant pkg-config
CHECK_CFLAGS
Drapeaux du compilateur C pour CHECK, remplaçant pkg-config
CHECK_LIBS Drapeaux de l'éditeur de liens pour CHECK, remplaçant pkg-config
CMOCKA_CFLAGS
Drapeaux du compilateur C pour CMOCKA, remplaçant pkg-config
CMOCKA_LIBS Drapeaux de l'éditeur de liens pour CMOCKA, remplaçant pkg-config
Utilisez ces variables pour remplacer les choix faits par `configure` ou pour l'aider à trouver des bibliothèques et des programmes avec des noms/emplacements non standards.
Signalez des bogues à <[email protected]>.
Tests
Les tests sont effectués avec Docker et docker_test_runner qui met en place les conteneurs suivants avec différents paramètres d'environnement :
- 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 est installé sur tous les conteneurs et un playbook de test est appliqué.
Pour plus de détails et des vérifications supplémentaires, consultez la configuration du docker_test_runner et le point d'entrée Docker.
# Test localement :
curl https://raw.githubusercontent.com/timorunge/docker-test-runner/master/install.sh | sh
./docker_test_runner.py -f tests/docker_test_runner.yml
Étant donné que le temps de construction sur Travis est limité pour les dépôts publics, les tests automatisés sont limités à SSSD 2.0.0 sur :
- CentOS 7
- Debian 9.4 (Stretch)
- Ubuntu 18.04 (Bionic Beaver)
Dépendances
Ubuntu 16.04
Sur Ubuntu 16.04, vous devez vous assurer que pyopenssl
est à jour avant l'installation de SSSD.
pip install --upgrade pyopenssl
Licence
Licence BSD 3-Clause "Nouvelle" ou "Révisée"
Informations sur l'auteur
- Timo Runge
Custom SSSD installation and configuration including patch management for the SSSD source.
ansible-galaxy install timorunge.sssd