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

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

Build Status

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
À propos du projet

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

Installer
ansible-galaxy install timorunge.sssd
Licence
bsd-3-clause
Téléchargements
383.1k
Propriétaire