Arch manual pages

SSSD-SUDO(5) Formatos de archivo y convenci SSSD-SUDO(5)

sssd-sudo - Configuración de sudo con el motor de SSSD

Esta página de manual describe como configurar sudo(8) para trabajar con sssd(8) y como SSSD esconde reglas sudo.

Para habilitar SSSD como una fuente de reglas sudo, añada sss a la entrada sudoers en nsswitch.conf(5).

Por ejemplo, para configurar sudo para primero buscar reglas en el fichero sudoers(5) estándar (que contendría reglas para aplicar al usuario local) y después en SSSD, el fichero nsswitch.conf contiene la siguiente línea:

sudoers: files sss

Más información sobre la configuración del orden de búsqueda de sudoers desde el fichero nsswuitch.conf así información sobre el esquema LDAP que se usa para almacenar reglas sudo en el directorio se puede encontrar en sudoers.ldap(5).

Note: in order to use netgroups or IPA hostgroups in sudo rules, you also need to correctly set nisdomainname(1) to your NIS domain name (which equals to IPA domain name when using hostgroups).

All configuration that is needed on SSSD side is to extend the list of services with "sudo" in [sssd] section of sssd.conf(5). To speed up the LDAP lookups, you can also set search base for sudo rules using ldap_sudo_search_base option.

El siguiente ejemplo muestra como configurar SSSD para descargar reglas sudo desde un servidor LDAP.

[sssd]
config_file_version = 2
services = nss, pam, sudo
domains = EXAMPLE
[domain/EXAMPLE]
id_provider = ldap
sudo_provider = ldap
ldap_uri = ldap://example.com
ldap_sudo_search_base = ou=sudoers,dc=example,dc=com

It's important to note that on platforms where systemd is supported there's no need to add the "sudo" provider to the list of services, as it became optional. However, sssd-sudo.socket must be enabled instead.

When SSSD is configured to use IPA as the ID provider, the sudo provider is automatically enabled. The sudo search base is configured to use the IPA native LDAP tree (cn=sudo,$SUFFIX). If any other search base is defined in sssd.conf, this value will be used instead. The compat tree (ou=sudoers,$SUFFIX) is no longer required for IPA sudo functionality.

El mayor desafío, cuando se desarrolla soporte sudo en SSSD, fue asegurar que ejecutando sudo con SSSD como la fuente de datos suministre la misma experiencia de usuario y sea tan rápido como sudo pero se mantenga proporcionando el conjunto más actual de reglas como sea posible. Para satisfacer estos requisitos, SSSD usa tres clases de actualizaciones. A ellas nos referimos como refresco total, refresco inteligente y refresco de reglas.

El refresco inteligente periódicamente descarga reglas que son nuevas o fueron modificadas desde la última actualización. Su objetivo principal es mantener la base de datos creciendo mediante la atracción de pequeños incrementos que no generen grandes cantidades de tráfico de red.

full refresh simplemente refresca todas las reglas sudo almacenadas en el cache y las reemplaza con las reglas que están almacenadas en el servidor. Esto se usa para mantener el cache consistente borrando cada regla que fue borrada del servidor. Sin embargo, un refresco total puede producir gran cantidad de tráfico y por lo tanto debería ser ejecutado sólo ocasionalmente dependiendo del tamaño y de la estabilidad de las reglas sudo.

El refresco de reglas asegura que no concedamos más permisos al usuario que los definidos. Se dispara cada vez que el usuario ejecuta sudo. El refresco de reglas encontrará todas las reglas que se apliquen a ese usuario, comprobará su tiempo de expiración y las recargará si han expirado. En el caso de que alguna de esas reglas estén desaparecidas del servidor, SSSD hará un refresco total fuera de banda puesto que más reglas (que apliquen a otros usuarios) pueden haber sido borradas.

Si está habilitado, SSSD almacenará sólo las reglas que pueden ser aplicadas a esa máquina. Esto indica reglas que contienen uno de los siguientes valores en el atributo sudoHost:

•keyword ALL

•comodines

•netgroup (en la forma "+netgroup")

•nombre de host o nombre de dominio totalmente cualificado de esta máquina

•una de las direcciones IP de esta máquina

•una de las direcciones IP de la red (en la forma "dirección/máscara")

Hay muchas opciones de configuración que pueden ser usadas para ajustar el comportamiento. Por favor vea "ldap_sudo_*" en sssd-ldap(5) y "sudo_*" en sssd.conf(5).

sssd(8), sssd.conf(5), sssd-ldap(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-files(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)

The SSSD upstream - https://pagure.io/SSSD/sssd/
11/04/2019 SSSD