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
- Usa tag 0.4.2 para SSSD >= 1.6.0
- Usa tag >= 0.5.0 para SSSD >= 2.0.0
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
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
Custom SSSD installation and configuration including patch management for the SSSD source.
ansible-galaxy install timorunge.sssd