timorunge.sssd

sssd

Este rol instalación y configuración del servicio SSSD.

También ofrece la posibilidad de instalar y actualizar una versión personalizada de SSSD (desde fuentes) según tus necesidades.

Requisitos

Este rol requiere Ansible 2.6.0 o superior para aplicar parches.

Puedes usar pip para instalar (y definir) una versión estable:

pip install ansible==2.7.9

Todos los requisitos de la plataforma están listados en el archivo de metadata.

Instalación

Recomendación

Quedarse con SSSD 1.6.x. La versión 2.0.0 está funcionando, pero tuve que añadir algunos parches para hacerla funcionar. Los parches son básicamente compromisos después del lanzamiento inicial. El master es compatible con la versión 1.6.13. La 2.0.0 tiene más dependencias en sistemas basados en Debian (gir1.2-glib-2.0, libgirepository-1.0-1 & python-gi, pip: pyasn1, pyasn1-modules).

ansible-galaxy install timorunge.sssd[,version]

Nota para RedHat

Algunos de los paquetes que instala este rol están disponibles solo en los repositorios rhel-6-server-optional-rpms o rhel-7-server-optional-rpms, puede que necesites habilitar estos repositorios si recibes un error como "No se encontró ningún paquete que coincida con 'sssd-dbus' disponible, instalado o actualizado".

Habilita este repositorio opcional para RHEL 6:

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

Y para RHEL 7:

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

Variables del rol

Este rol se basa en una jerarquía YAML para construir un archivo de configuración funcional para el servicio SSSD.

Las variables que se pueden pasar a este rol. Puedes encontrar una breve descripción en este párrafo. Para todas las variables, consulta las opciones de configuración de SSSD.

# Habilitar / deshabilitar SSSD como servicio
# Tipo: Bool
sssd_service_enabled: yes

# Habilitar búsqueda DNS en la configuración de sshd
# Tipo: Bool
sssd_manage_sshd_dns_service_lookup: false

# Elegir el tipo de configuración: config (`sssd_config`), file (`sssd_config_src_file`)
# o none (deshabilitar la generación de sssd.conf)
# Tipo: Str
sssd_config_type: config

# Opciones de configuración predeterminadas de SSSD
# Tipo: 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

# Configuración predeterminada de SSSD desde archivo
# Tipo: Str
sssd_config_src_file: sssd.example.conf

# SSSD desde fuente:

# Instalar SSSD desde fuentes:
# Tipo: Bool
sssd_from_sources: false

# Definición de versión (solo relevante si `sssd_from_sources` es true):
# Tipo: Str
sssd_version: 2.0.0

# Parches

# En esta sección puedes aplicar parches personalizados a SSSD.
# Encuentra un ejemplo en el README.md y en el directorio de pruebas.
# Tipo: Dict
sssd_patches:
  fix-makefile:
    dest_file: Makefile.am
    patch_file: "files/patches/{{ sssd_version }}/fix-makefile.diff"
    state: present

# Opciones de construcción

# Las opciones de construcción predeterminadas se guardan en `vars/{{ ansible_os_family }}.yml`
# Tipo: List
sssd_build_options: "{{ sssd_default_build_options }}"

Ejemplos

Para mantener el documento ligero, se han eliminado las opciones de compilación. Puedes encontrar las opciones de compilación de SSSD en este documento.

1) Configurar SSSD según tus necesidades

- 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) Ejemplo de configuración de SSSD para 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) Construir y configurar SSSD según tus necesidades

Aparte de la instalación estándar mediante paquetes, también es posible construir SSSD desde fuentes (en este ejemplo para sistemas basados en 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) No generar ninguna configuración

Útil si utilizas este rol en combinación con, por ejemplo, el servidor FreeIPA o el cliente FreeIPA.

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

5) Aplicar parches al fuente

- 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) Sobrescribir plantillas init.d y 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

Opciones de configuración de SSSD

# Formato:
# opción: tipo, subtipo, obligatorio[, predeterminado]
sssd_config:
  service:
    # Opciones disponibles para todos los servicios
    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:
    # Servicio de monitoreo
    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:
    # Servicio de nombres
    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:
    # Servicio de autenticación
    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:
    # Servicio sudo
    sudo_timed: bool, None, false
    sudo_inverse_order: bool, None, false
    sudo_threshold: int, None, false

  autofs:
    # Servicio autofs
    autofs_negative_timeout: int, None, false

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

  pac:
    # Respondedor PAC
    allowed_uids: str, None, false
    pac_lifetime: int, None, false

  ifp:
    # Respondedor InfoPipe
    allowed_uids: str, None, false
    user_attributes: str, None, false

  secrets:
    # Servicio de secretos
    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
    # Servicio de secretos - 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:
    # Servicio de grabación de sesiones
    scope: str, None, false
    users: list, str, false
    groups: list, str, false

  provider:
    # Tipos de proveedor 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:
    # Opciones disponibles para todos los dominios
    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

    # Tiempos de espera del caché de entradas
    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

    # Actualizaciones dinámicas de DNS
    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

  # Proveedores especiales
  provider/permit:

  provider/permit/access:

  provider/deny:

  provider/deny/access:

Opciones de compilación de SSSD

Una visión general de las opciones de compilación para SSSD (2.0.0).

`configure' configura sssd 2.0.0 para adaptarse a muchos tipos de sistemas.

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

Para asignar variables de entorno (por ejemplo, CC, CFLAGS...), especifícalas como VAR=VALUE. Consulta a continuación para descripciones de algunas de las variables útiles.

Los valores predeterminados para las opciones se especifican entre corchetes.

Configuración:
  -h, --help              mostrar esta ayuda y salir
      --help=short        mostrar opciones específicas de este paquete
      --help=recursive    mostrar la ayuda corta de todos los paquetes incluidos
  -V, --version           mostrar información de la versión y salir
  -q, --quiet, --silent   no imprimir mensajes de `checking ...`
      --cache-file=FILE   almacenar resultados de prueba en el ARCHIVO [deshabilitado]
  -C, --config-cache      alias para `--cache-file=config.cache'
  -n, --no-create         no crear archivos de salida
      --srcdir=DIR        buscar los fuentes en DIR [directorio de configuración o `..']

Directorios de instalación:
  --prefix=PREFIX         instalar archivos de arquitectura independiente en PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   instalar archivos dependientes de la arquitectura en EPREFIX
                          [PREFIX]

Por defecto, `make install' instalará todos los archivos en `/usr/local/bin', `/usr/local/lib', etc. Puedes especificar un prefijo de instalación diferente a `/usr/local' usando `--prefix', por ejemplo `--prefix=$HOME'.

Para un mejor control, utiliza las opciones a continuación.

Ajuste fino de los directorios de instalación:
  --bindir=DIR            ejecutables de usuario [EPREFIX/bin]
  --sbindir=DIR           ejecutables de administrador del sistema [EPREFIX/sbin]
  --libexecdir=DIR        ejecutables del programa [EPREFIX/libexec]
  --sysconfdir=DIR        datos de solo lectura de una sola máquina [PREFIX/etc]
  --sharedstatedir=DIR    datos modifiables independientes de arquitectura [PREFIX/com]
  --localstatedir=DIR     datos modificables de una sola máquina [PREFIX/var]
  --libdir=DIR            bibliotecas de código objeto [EPREFIX/lib]
  --includedir=DIR        archivos de encabezado de C [PREFIX/include]
  --oldincludedir=DIR     archivos de encabezado de C para no-gcc [/usr/include]
  --datarootdir=DIR       raíz de datos independiente de arquitectura de solo lectura [PREFIX/share]
  --datadir=DIR           datos independientes de arquitectura de solo lectura [DATAROOTDIR]
  --infodir=DIR           documentación de información [DATAROOTDIR/info]
  --localedir=DIR         datos dependientes de localidad [DATAROOTDIR/locale]
  --mandir=DIR            documentación man [DATAROOTDIR/man]
  --docdir=DIR            raíz de documentación [DATAROOTDIR/doc/sssd]
  --htmldir=DIR           documentación html [DOCDIR]
  --dvidir=DIR            documentación dvi [DOCDIR]
  --pdfdir=DIR            documentación pdf [DOCDIR]
  --psdir=DIR             documentación ps [DOCDIR]

Nombres de programas:
  --program-prefix=PREFIX            anteponer PREFIX a los nombres de programas instalados
  --program-suffix=SUFFIX            añadir SUFFIX a los nombres de programas instalados
  --program-transform-name=PROGRAM   ejecutar sed PROGRAM en los nombres de programas instalados

Tipos de sistema:
  --build=BUILD     configurar para construir en BUILD [adivinado]
  --host=HOST       compilación cruzada para construir programas para ejecutar en HOST [BUILD]

Funciones opcionales:
  --disable-option-checking  ignorar opciones --enable/--with no reconocidas
  --disable-FEATURE       no incluir FEATURE (igual que --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  incluir FEATURE [ARG=yes]
  --enable-dependency-tracking
                          no rechazar extractores de dependencia lentos
  --disable-dependency-tracking
                          acelera la construcción única
  --enable-silent-rules   salida de construcción menos detallada (deshacer: "make V=1")
  --disable-silent-rules  salida de construcción detallada (deshacer: "make V=0")
  --enable-static[=PKGS]  construir bibliotecas estáticas [por defecto=no]
  --enable-shared[=PKGS]  construir bibliotecas compartidas [por defecto=si]
  --enable-fast-install[=PKGS]
                          optimizar para una instalación rápida [por defecto=si]
  --disable-libtool-lock  evitar bloqueo (puede romper construcciones paralelas)
  --disable-nls           no usar soporte de idioma nativo
  --disable-rpath         no codificar en rutas de bibliotecas en tiempo de ejecución
  --enable-nsslibdir      Dónde instalar bibliotecas nss ($libdir)
  --enable-pammoddir      Dónde instalar módulos pam ($libdir/security)
  --enable-nfsidmaplibdir Dónde instalar bibliotecas libnfsidmap
                          ($libdir/libnfsidmap)
  --enable-all-experimental-features
                          construir todas las funciones experimentales
  --enable-sss-default-nss-plugin
                          Esta opción cambia el comportamiento estándar de sss nss
                          plugin. Si esta opción está habilitada, el plugin nss de sss
                          se comportará como si no estuviera en nsswitch.conf cuando sssd
                          no se está ejecutando. [por defecto=no]
  --enable-files-domain   Si esta función está habilitada, SSSD siempre habilita
                          un dominio con id_provider=files incluso si el dominio
                          no está especificado en el archivo de configuración [por defecto=no]
  --enable-local-provider Si esta función está habilitada, entonces el proveedor local se
                          construirá por defecto. [por defecto=no]
  --enable-ldb-version-check
                          compilar con verificación de versión en tiempo de ejecución de ldb [por defecto=no]
  --disable-krb5-locator-plugin
                          no construir plugin de localizador de Kerberos
  --enable-pac-responder  construir respondedor pac
  --disable-cifs-idmap-plugin
                          no construir plugin de idmap de CIFS
  --enable-systemtap      Habilitar inclusión de soporte de trazado systemtap
  --enable-intgcheck-reqs habilitar verificación de requisitos de prueba de integración
                          [por defecto=no]
  --enable-polkit-rules-path=PATH
                          Ruta para almacenar reglas polkit. Usa --disable para no
                          instalar las reglas. [por defecto=/usr/share/polkit-1/rules.d]

Paquetes opcionales:
  --with-PACKAGE[=ARG]    usar PACKAGE [ARG=yes]
  --without-PACKAGE       no utilizar PACKAGE (igual que --with-PACKAGE=no)
  --with-pic[=PKGS]       intentar usar solo objetos PIC/non-PIC [por defecto=usar
                          ambos]
  --with-gnu-ld           asumir que el compilador de C usa GNU ld [por defecto=no]
  --with-sysroot=DIR Buscar bibliotecas dependientes dentro de DIR
                        (o el sysroot del compilador si no se especifica).
  --with-gnu-ld           asumir que el compilador de C usa GNU ld por defecto=no
  --with-libiconv-prefix[=DIR]  buscar libiconv en DIR/include y DIR/lib
  --without-libiconv-prefix     no buscar libiconv en includedir y libdir
  --with-libintl-prefix[=DIR]  buscar libintl en DIR/include y DIR/lib
  --without-libintl-prefix     no buscar libintl en includedir y libdir
  --with-shared-build-dir=DIR
                          directorio de construcción temporal donde se instalan las bibliotecas [$srcdir/sharedbuild]
  --with-os=OS_TYPE       Tipo de sistema operativo
                          (fedora|redhat|suse|gentoo)

  --with-db-path=PATH     Ruta a las bases de datos de SSSD [/var/lib/sss/db]

  --with-plugin-path=PATH Ruta a los plugins de proveedor de datos de SSSD
                          [/usr/lib/sssd]

  --with-pid-path=PATH    Dónde almacenar archivos pid para el SSSD [/var/run]

  --with-log-path=PATH    Dónde almacenar archivos de registro para el SSSD
                          [/var/log/sssd]

  --with-pubconf-path=PATH
                          Dónde almacenar archivos pubconf para el SSSD
                          [/var/lib/sss/pubconf]

  --with-pipe-path=PATH   Dónde almacenar archivos pipe para las interconexiones de SSSD
                          [/var/lib/sss/pipes]

  --with-mcache-path=PATH Dónde almacenar archivos de caché mmap para el SSSD
                          interconexiones [/var/lib/sss/mc]

  --with-default-ccache-dir=CCACHEDIR
                          El valor predeterminado de krb5_ccachedir [/tmp]

  --with-default-ccname-template=CCACHE
                          El valor predeterminado de reserva de krb5_ccname_template
                          [FILE:%d/krb5cc_%U_XXXXXX]

  --with-environment-file=PATH
                          Ruta al archivo de entorno [/etc/sysconfig/sssd]

  --with-init-dir=DIR     Dónde almacenar el script de inicio para sssd
                          [/etc/rc.d/init.d]

  --with-test-dir=PATH    Directorio utilizado para archivos temporales de verificación
                          [$builddir]

  --with-manpages         Si regenerar las páginas man desde fuentes DocBook
                          [sí]

  --with-xml-catalog-path=PATH
                          Dónde buscar el catálogo XML [/etc/xml/catalog]

  --with-krb5-plugin-path=PATH
                          Ruta al almacén de plugins de Kerberos
                          [/usr/lib/krb5/plugins/libkrb5]

  --with-krb5-rcache-dir=PATH
                          Ruta para almacenar caches de repetición de Kerberos
                          [__LIBKRB5_DEFAULTS__]

  --with-krb5authdata-plugin-path=PATH
                          Ruta al almacén de plugin de authdata de Kerberos
                          [/usr/lib/krb5/plugins/authdata]

  --with-krb5-conf=PATH   Ruta al archivo krb5.conf [/etc/krb5.conf]

  --with-python2-bindings Si construir bindings para python2 [sí]

  --with-python3-bindings Si construir bindings para python3 [sí]

  --with-cifs-plugin-path=PATH
                          Ruta al almacén de plugins de cifs-utils
                          [/usr/lib/cifs-utils]

  --with-winbind-plugin-path=PATH
                          Ruta al almacén de plugins de mapeo id de winbind
                          [/usr/lib/samba/idmap]

  --with-selinux          Si construir con soporte SELinux [sí]

  --with-nscd=PATH        Ruta al binario nscd para intentar vaciar la caché nscd
                          después de operaciones de dominio local [/usr/sbin/nscd]

  --with-ipa-getkeytab=PATH
                          Ruta al binario ipa_getkeytab para recuperar keytabs
                          del servidor FreeIPA [/usr/sbin/ipa-getkeytab]

  --with-semanage         Si construir con soporte de gestión de usuarios SELinux
                          [sí]

  --with-ad-gpo-default=enforcing|permissive
                          Nivel de aplicación predeterminado para el control de acceso GPO de AD
                          (aplicación)

  --with-gpo-cache-path=PATH
                          Dónde almacenar archivos de políticas GPO
                          [/var/lib/sss/gpo_cache]

  --with-nologin-shell=PATH
                          La shell utilizada para denegar acceso a los usuarios
                          [/sbin/nologin]

  --with-session-recording-shell=PATH
                          La shell usada para grabar sesiones de usuario
                          [/usr/bin/tlog-rec-session]

  --with-app-libs=<path>  Ruta a los plugins de aplicación de terceros
                          [/usr/lib/sssd/modules]

  --with-sudo             Si construir con soporte sudo [sí]

  --with-sudo-lib-path=<path>
                          Ruta a la biblioteca sudo [/usr/lib/]

  --with-autofs           Si construir con soporte autofs [sí]

  --with-ssh              Si construir con soporte SSH [sí]

  --with-infopipe         Si construir con soporte InfoPipe [sí]

  --with-crypto=CRYPTO_LIB
                          La biblioteca criptográfica a usar (nss|libcrypto).
                          El valor predeterminado es nss.

  --with-syslog=SYSLOG_TYPE
                          Tipo de tu registrador de sistema (syslog|journald).
                          [syslog]

  --with-samba            Si construir con bibliotecas samba4 [sí]

  --with-nfsv4-idmapd-plugin
                          Si construir con soporte NFSv4 IDMAP [sí]

  --with-nfs-lib-path=<path>
                          Ruta a la biblioteca NFS [${libdir}]

  --with-libwbclient      Si construir la implementación de SSSD de libwbclient
                          [sí]

  --with-sssd-user=<user> Usuario para ejecutar SSSD (root)

  --with-secrets          Si construir con soporte de secretos [no]

  --with-secrets-db-path=PATH
                          Ruta a las bases de datos de SSSD [/var/lib/sss/secrets]

  --with-kcm              Si construir con soporte de servidor KCM [sí]

  --with-ldb-lib-dir=PATH Ruta para almacenar módulos ldb [${libdir}/ldb]

  --with-smb-idmap-interface-version=5|6
                          Versión de la interfaz de idmap de Samba instalada

  --with-unicode-lib=<library>
                          Qué biblioteca usar para el procesamiento de Unicode
                          (libunistring, glib2) [glib2]

  --with-libnl            Si construir con soporte de libnetlink (libnl3,
                          libnl1, no) [automático]

  --with-nscd-conf=PATH   Ruta al archivo nscd.conf [/etc/nscd.conf]

  --with-initscript=INITSCRIPT_TYPE
                          Tipo de tu script de inicio (sysv|systemd). [sysv]

   --with-systemdunitdir=DIR
                          Directorio para archivos de servicio systemd [Auto],

   --with-systemdconfdir=DIR
                          Directorio para sobrescrituras de archivos de servicio systemd [Auto],

  --with-tapset-install-dir
                          La ruta absoluta donde se instalará el directorio de tapset

Algunas variables ambientales influyentes:
  CC          Comando del compilador C
  CFLAGS      Flags del compilador C
  LDFLAGS     Flags del vinculador, p. ej. -L<dirección de biblioteca> si tienes bibliotecas en un
              directorio no estándar <dirección de biblioteca>
  LIBS        bibliotecas que pasar al vinculador, p. ej. -l<biblioteca>
  CPPFLAGS    (Objetivo) Flags del preprocesador C/C++, p. ej. -I<directorio de inclusión> si
              tienes encabezados en un directorio no estándar <directorio de inclusión>
  CPP         Preprocesador C
  PKG_CONFIG  ruta al utilitario pkg-config
  POPT_CFLAGS Flags del compilador C para POPT, sobrescribiendo pkg-config
  POPT_LIBS   flags del vinculador para POPT, sobrescribiendo pkg-config
  TALLOC_CFLAGS
              Flags del compilador C para TALLOC, sobrescribiendo pkg-config
  TALLOC_LIBS flags del vinculador para TALLOC, sobrescribiendo pkg-config
  TDB_CFLAGS  flags del compilador C para TDB, sobrescribiendo pkg-config
  TDB_LIBS    flags del vinculador para TDB, sobrescribiendo pkg-config
  TEVENT_CFLAGS
              flags del compilador C para TEVENT, sobrescribiendo pkg-config
  TEVENT_LIBS flags del vinculador para TEVENT, sobrescribiendo pkg-config
  LDB_CFLAGS  flags del compilador C para LDB, sobrescribiendo pkg-config
  LDB_LIBS    flags del vinculador para LDB, sobrescribiendo pkg-config
  DHASH_CFLAGS
              flags del compilador C para DHASH, sobrescribiendo pkg-config
  DHASH_LIBS  flags del vinculador para DHASH, sobrescribiendo pkg-config
  COLLECTION_CFLAGS
              flags del compilador C para COLLECTION, sobrescribiendo pkg-config
  COLLECTION_LIBS
              flags del vinculador para COLLECTION, sobrescribiendo pkg-config
  INI_CONFIG_V0_CFLAGS
              flags del compilador C para INI_CONFIG_V0, sobrescribiendo pkg-config
  INI_CONFIG_V0_LIBS
              flags del vinculador para INI_CONFIG_V0, sobrescribiendo pkg-config
  INI_CONFIG_V1_CFLAGS
              flags del compilador C para INI_CONFIG_V1, sobrescribiendo pkg-config
  INI_CONFIG_V1_LIBS
              flags del vinculador para INI_CONFIG_V1, sobrescribiendo pkg-config
  INI_CONFIG_V1_1_CFLAGS
              flags del compilador C para INI_CONFIG_V1_1, sobrescribiendo pkg-config
  INI_CONFIG_V1_1_LIBS
              flags del vinculador para INI_CONFIG_V1_1, sobrescribiendo pkg-config
  INI_CONFIG_V1_3_CFLAGS
              flags del compilador C para INI_CONFIG_V1_3, sobrescribiendo pkg-config
  INI_CONFIG_V1_3_LIBS
              flags del vinculador para INI_CONFIG_V1_3, sobrescribiendo pkg-config
  GDM_PAM_EXTENSIONS_CFLAGS
              flags del compilador C para GDM_PAM_EXTENSIONS, sobrescribiendo pkg-config
  GDM_PAM_EXTENSIONS_LIBS
              flags del vinculador para GDM_PAM_EXTENSIONS, sobrescribiendo pkg-config
  PCRE_CFLAGS flags del compilador C para PCRE, sobrescribiendo pkg-config
  PCRE_LIBS   flags del vinculador para PCRE, sobrescribiendo pkg-config
  KRB5_CFLAGS flags del compilador C para kerberos, sobrescribiendo krb5-config
  KRB5_LIBS   flags del vinculador para kerberos, sobrescribiendo krb5-config
  CARES_CFLAGS
              flags del compilador C para CARES, sobrescribiendo pkg-config
  CARES_LIBS  flags del vinculador para CARES, sobrescribiendo pkg-config
  SYSTEMD_LOGIN_CFLAGS
              flags del compilador C para SYSTEMD_LOGIN, sobrescribiendo pkg-config
  SYSTEMD_LOGIN_LIBS
              flags del vinculador para SYSTEMD_LOGIN, sobrescribiendo pkg-config
  SYSTEMD_DAEMON_CFLAGS
              flags del compilador C para SYSTEMD_DAEMON, sobrescribiendo pkg-config
  SYSTEMD_DAEMON_LIBS
              flags del vinculador para SYSTEMD_DAEMON, sobrescribiendo pkg-config
  NDR_NBT_CFLAGS
              flags del compilador C para NDR_NBT, sobrescribiendo pkg-config
  NDR_NBT_LIBS
              flags del vinculador para NDR_NBT, sobrescribiendo pkg-config
  NDR_KRB5PAC_CFLAGS
              flags del compilador C para NDR_KRB5PAC, sobrescribiendo pkg-config
  NDR_KRB5PAC_LIBS
              flags del vinculador para NDR_KRB5PAC, sobrescribiendo pkg-config
  SMBCLIENT_CFLAGS
              flags del compilador C para SMBCLIENT, sobrescribiendo pkg-config
  SMBCLIENT_LIBS
              flags del vinculador para SMBCLIENT, sobrescribiendo pkg-config
  SASL_CFLAGS flags del compilador C para SASL, sobrescribiendo pkg-config
  SASL_LIBS   flags del vinculador para SASL, sobrescribiendo pkg-config
  NFSIDMAP_CFLAGS
              flags del compilador C para NFSIDMAP, sobrescribiendo pkg-config
  NFSIDMAP_LIBS
              flags del vinculador para NFSIDMAP, sobrescribiendo pkg-config
  HTTP_PARSER_CFLAGS
              flags del compilador C para HTTP_PARSER, sobrescribiendo pkg-config
  HTTP_PARSER_LIBS
              flags del vinculador para HTTP_PARSER, sobrescribiendo pkg-config
  CURL_CFLAGS flags del compilador C para CURL, sobrescribiendo pkg-config
  CURL_LIBS   flags del vinculador para CURL, sobrescribiendo pkg-config
  UUID_CFLAGS flags del compilador C para UUID, sobrescribiendo pkg-config
  UUID_LIBS   flags del vinculador para UUID, sobrescribiendo pkg-config
  JANSSON_CFLAGS
              flags del compilador C para JANSSON, sobrescribiendo pkg-config
  JANSSON_LIBS
              flags del vinculador para JANSSON, sobrescribiendo pkg-config
  GLIB2_CFLAGS
              flags del compilador C para GLIB2, sobrescribiendo pkg-config
  GLIB2_LIBS  flags del vinculador para GLIB2, sobrescribiendo pkg-config
  LIBNL3_CFLAGS
              flags del compilador C para LIBNL3, sobrescribiendo pkg-config
  LIBNL3_LIBS flags del vinculador para LIBNL3, sobrescribiendo pkg-config
  LIBNL1_CFLAGS
              flags del compilador C para LIBNL1, sobrescribiendo pkg-config
  LIBNL1_LIBS flags del vinculador para LIBNL1, sobrescribiendo pkg-config
  DBUS_CFLAGS flags del compilador C para DBUS, sobrescribiendo pkg-config
  DBUS_LIBS   flags del vinculador para DBUS, sobrescribiendo pkg-config
  PYTHON      el intérprete de Python
  JOURNALD_CFLAGS
              flags del compilador C para JOURNALD, sobrescribiendo pkg-config
  JOURNALD_LIBS
              flags del vinculador para JOURNALD, sobrescribiendo pkg-config
  NSS_CFLAGS  flags del compilador C para NSS, sobrescribiendo pkg-config
  NSS_LIBS    flags del vinculador para NSS, sobrescribiendo pkg-config
  CRYPTO_CFLAGS
              flags del compilador C para CRYPTO, sobrescribiendo pkg-config
  CRYPTO_LIBS flags del vinculador para CRYPTO, sobrescribiendo pkg-config
  SSL_CFLAGS  flags del compilador C para SSL, sobrescribiendo pkg-config
  SSL_LIBS    flags del vinculador para SSL, sobrescribiendo pkg-config
  P11_KIT_CFLAGS
              flags del compilador C para P11_KIT, sobrescribiendo pkg-config
  P11_KIT_LIBS
              flags del vinculador para P11_KIT, sobrescribiendo pkg-config
  CHECK_CFLAGS
              flags del compilador C para CHECK, sobrescribiendo pkg-config
  CHECK_LIBS  flags del vinculador para CHECK, sobrescribiendo pkg-config
  CMOCKA_CFLAGS
              flags del compilador C para CMOCKA, sobrescribiendo pkg-config
  CMOCKA_LIBS flags del vinculador para CMOCKA, sobrescribiendo pkg-config

Usa estas variables para sobrescribir las elecciones hechas por `configure' o para ayudarle a encontrar bibliotecas y programas con nombres/ubicaciones no estándar.

Informa de errores a <[email protected]>.

Pruebas

Estado de la construcción

Las pruebas se realizan con Docker y docker_test_runner, que levanta los siguientes contenedores con diferentes configuraciones de entorno:

  • 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á instalado en todos los contenedores y se aplica un playbook de prueba.

Para más detalles y verificaciones adicionales, consulta la configuración de docker_test_runner y el punto de entrada de Docker.

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

Dado que el tiempo de compilación en Travis es limitado para repositorios públicos, las pruebas automatizadas se limitan a SSSD 2.0.0 en:

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

Dependencias

Ubuntu 16.04

En Ubuntu 16.04 debes asegurarte de que pyopenssl esté actualizado antes de la instalación de SSSD.

pip install --upgrade pyopenssl

Licencia

Licencia BSD de 3 cláusulas "Nueva" o "Revisada"

Información del autor

  • Timo Runge
Acerca del proyecto

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

Instalar
ansible-galaxy install timorunge.sssd
Licencia
bsd-3-clause
Descargas
383.1k
Propietario