¿Utiliza sssd para autenticación e identificación local contra /etc/passwd?

¿Utiliza sssd para autenticación e identificación local contra /etc/passwd?

Esta pregunta es sobre RedHat Enterprise Linux 7/8/9 y Ubuntu 22.04, pero probablemente sea bastante universal para la mayoría de las distribuciones.

Tengo sssd trabajando para la autenticación tanto en Active Directory como en un servidor LDAP basado en openldap, usando dos dominios.

Los usuarios pueden iniciar sesión exitosamente como[correo electrónico protegido]y autenticarse en Active Directory, o iniciar sesión como[correo electrónico protegido]y autenticarse contra openldap. La información de identidad (UID, Gecos y directorio de inicio) proviene del servidor openldap en ambos casos. Todos los usuarios relevantes existen en ambos sistemas (una larga historia sobre por qué está configurado de esta manera, y no es realmente relevante aquí).

Independientemente de cuál de los dos dominios utilice un usuario, Linux verá ese inicio de sesión como el mismo usuario.

Acabo de recibir un nuevo requisito para agregar un nuevo dominio SSSD (llamado "local") que se autentica contra el /etc/{contraseña,sombra} local y también obtiene la información de identidad sin ningún tráfico de red. /etc/password y /etc/shadow se completarán correctamente (fuera del alcance de esta pregunta).

¿Existe alguna forma de crear un dominio sssd que utilice los archivos locales como fuente de autenticación e identificación?

Probablemente esto no sea relevante, pero aquí están los dos dominios SSSD existentes.

Directorio Activo:

[domain/ad.mydomain.com]
auth_provider = krb5
id_provider = ldap
# We do not allow changing passwords
# chpass_provider = none

krb5_server = <redacted>
krb5_realm = AD.MYDOMAIN.COM

# Regardless of the auth provider, the id information always comes from
# LDAP.
ldap_schema = rfc2307
ldap_uri = ldaps://<redacted>/
ldap_search_base = ou=people,dc=mydomain,dc=com
ldap_group_member = memberuid
ldap_tls_reqcert = demand
ldap_tls_cacert = /etc/openldap/cacerts/<redacted>

ldap_default_bind_dn = <redacted>
ldap_default_authtok_type = password
ldap_default_authtok = <redacted>
ldap_user_ssh_public_key = sshPublicKey

entry_cache_timeout = 600
ldap_network_timeout = 3
cache_credentials = True

override_homedir = /home/%u
fallback_homedir = /home/%u
default_shell = /bin/bash

# Some performance tweaks. Without it, LDAP is painfully slow!
enumerate = false
ignore_group_members = true

abrirldap:

[domain/mydomain.com]
auth_provider = ldap
id_provider = ldap
# We do not allow changing passwords outside of USD_ONE
# chpass_provider = none

# Regardless of the auth provider, the id information always comes from
# LDAP.
ldap_schema = rfc2307
... Remainder is same as for Active Directory

Lo que me gustaría hacer es algo como (esto en realidad no funciona):

[domain/local]
auth_provider = files
id_provider = files # don't use LDAP for this domain
... other parameters

¿Hay alguna manera de hacer que SSSD utilice los archivos locales?

información relacionada