Ce manuel décrit la configuration des domaines LDAP pour sssd(8). Se référer à la section "FILE FORMAT" du manuel sssd.conf(5) pour des informations sur la syntaxe détaillée.
Il est possible de configurer SSSD pour utiliser plus d'un domaine LDAP.
Le moteur de traitement LDAP prend en charge les fournisseurs id, auth, access et chpass. Si vous voulez vous authentifier sur un serveur LDAP, il vous faut utiliser TLS/SSL ou LDAPS. sssd ne prend pas en charge l'authentification sur un canal non chiffré. Si le serveur LDAP est utilisé seulement comme fournisseur d'identité, un canal crypté n'est pas nécessaire. Se référer aux options de configurations "ldap_access_filter" pour plus d'information sur l'utilisation en tant que fournisseur d'accès.
All of the common configuration options that apply to SSSD domains also apply to LDAP domains. Refer to the "DOMAIN SECTIONS" section of the sssd.conf(5) manual page for full details. Note that SSSD LDAP mapping attributes are described in the sssd-ldap-attributes(5) manual page.
ldap_uri, ldap_backup_uri (string)
Le format de l'URI doit correspondre au format définit dans la RFC 2732 :
ldap[s]://<host>[:port]
Pour les adresses explicitement en IPv6, le composant <host> doit être entre crochets []
exemple : ldap://[fc00::126:25]:389
ldap_chpass_uri, ldap_chpass_backup_uri (string)
Pour activer la découverte de services, ldap_chpass_dns_service_name doit être défini.
Par défaut : vide, ldap_uri est donc utilisé.
ldap_search_base (chaîne)
À partir de SSSD 1.7.0, SSSD prend en charge plusieurs bases de recherche à l'aide de la syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ».
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Exemples :
ldap_search_base = dc=example,dc=com (ce qui équivaut à) ldap_search_base = dc=example,dc=com?subtree?
ldap_search_base = cn=host_specific,dc=example,dc=com?subtree?(host=thishost)?dc=example.com?subtree?
Remarque : Il est n'est pas possible d'avoir plusieurs bases de recherche qui référencent des objets portant le même nom (par exemple, les groupes portant le même nom dans deux bases de recherche différents). Cela conduira à un comportement imprévisible sur les ordinateurs clients.
Par défaut : si non définie, les valeurs des attributs defaultNamingContext ou namingContexts du RootDSE du serveur LDAP sont utilisées. Si defaultNamingContext n'existe pas ou a une valeur vide, namingContexts est utilisé. Les attributs namingContexts doivent avoir une seule valeur avec un DN de base de recherche pour le serveur LDAP pour que cela fonctionne. Des valeurs multiples ne sont pas permises.
ldap_schema (chaîne)
Quatre types de schéma sont actuellement pris en charge :
La principale différence entre ces types de schéma est la façon dont les appartenances aux groupes sont enregistrés dans le serveur. Avec rfc2307, les membres du groupe sont répertoriées par nom dans l'attribut memberUid. Avec rfc2307bis et IPA, les membres du groupe sont répertoriés par DN et stockées dans l'attribut de member. Le type de schéma AD définit les attributs correspondant aux valeurs d'Active Directory 2008r2.
Par défaut : rfc2307
ldap_pwmodify_mode (string)
Two modes are currently supported:
Note: First, a new connection is established to verify current password by binding as the user that requested password change. If successful, this connection is used to change the password therefore the user must have write access to userPassword attribute.
Default: exop
ldap_default_bind_dn (chaîne)
ldap_default_authtok_type (chaîne)
Les deux mécanismes actuellement pris en charge sont :
password
obfuscated_password
Par défaut : password
See the sss_obfuscate(8) manual page for more information.
ldap_default_authtok (chaîne)
ldap_force_upper_case_realm (booléen)
Par défaut : false
ldap_enumeration_refresh_timeout (entier)
Par défaut : 300
ldap_purge_cache_timeout (entier)
Setting this option to zero will disable the cache cleanup operation. Please note that if enumeration is enabled, the cleanup task is required in order to detect entries removed from the server and can't be disabled. By default, the cleanup task will run every 3 hours with enumeration enabled.
Par défaut : 0 (désactivé)
ldap_group_nesting_level (entier)
Note: This option specifies the guaranteed level of nested groups to be processed for any lookup. However, nested groups beyond this limit may be returned if previous lookups already resolved the deeper nesting levels. Also, subsequent lookups for other groups may enlarge the result set for original lookup if re-queried.
If ldap_group_nesting_level is set to 0 then no nested groups are processed at all. However, when connected to Active-Directory Server 2008 and later using "id_provider=ad" it is furthermore required to disable usage of Token-Groups by setting ldap_use_tokengroups to false in order to restrict group nesting.
Par défaut : 2
ldap_use_tokengroups
Default: True for AD and IPA otherwise False.
ldap_host_search_base (string)
Cf. "ldap_search_base" pour plus d'informations sur la configuration des bases de recherche multiples.
Par défaut : la valeur de ldap_search_base
ldap_service_search_base (string)
syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ». Les fonctions de portée sont spécifiées dans la section 4.5.1.2 de http://tools.ietf.org/html/rfc4511
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Pour obtenir des exemples de cette syntaxe, reportez-vous à la section d'exemples "ldap_search_base".
Par défaut : la valeur de ldap_search_base
Noter que la spécification de portée ou de filtre n'est pas prise en charge pour les recherches sur un serveur Active Directory qui serait susceptible de produire un grand nombre de résultats et de déclencher l'extension Range Retrieval dans sa réponse.
ldap_iphost_search_base (string)
syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ». Les fonctions de portée sont spécifiées dans la section 4.5.1.2 de http://tools.ietf.org/html/rfc4511
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Pour obtenir des exemples de cette syntaxe, reportez-vous à la section d'exemples "ldap_search_base".
Par défaut : la valeur de ldap_search_base
Noter que la spécification de portée ou de filtre n'est pas prise en charge pour les recherches sur un serveur Active Directory qui serait susceptible de produire un grand nombre de résultats et de déclencher l'extension Range Retrieval dans sa réponse.
ldap_ipnetwork_search_base (string)
syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ». Les fonctions de portée sont spécifiées dans la section 4.5.1.2 de http://tools.ietf.org/html/rfc4511
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Pour obtenir des exemples de cette syntaxe, reportez-vous à la section d'exemples "ldap_search_base".
Par défaut : la valeur de ldap_search_base
Noter que la spécification de portée ou de filtre n'est pas prise en charge pour les recherches sur un serveur Active Directory qui serait susceptible de produire un grand nombre de résultats et de déclencher l'extension Range Retrieval dans sa réponse.
ldap_search_timeout (entier)
Note : cette option est susceptible de changer dans les prochaines version de SSSD. Elle sera sûrement remplacée par une série de délais d'attente pour différents types de recherches.
Par défaut : 6
ldap_enumeration_search_timeout (entier)
Par défaut : 60
ldap_network_timeout (entier)
Par défaut : 6
ldap_opt_timeout (entier)
Par défaut : 8
ldap_connection_expire_timeout (entier)
This timeout can be extended of a random value specified by ldap_connection_expire_offset
Par défaut : 900 (15 minutes)
ldap_connection_expire_offset (integer)
Par défaut : 0
ldap_page_size (entier)
Par défaut : 1000
ldap_disable_paging (boolean)
Exemple : le serveurs OpenLDAP avec le module de contrôle de pagination installé sur le serveur mais non activé le signaleront dans RootDSE mais il sera impossible de l'utiliser.
Exemple : 389 DS a un bogue où il ne peut que soutenir qu'un seul contrôle de pagination à la fois sur une connexion donnée. Sur les clients chargés, cela peut entraîner l'échec de certaines demandes.
Par défaut : False
ldap_disable_range_retrieval (booléen)
Active Directory limite le nombre de membres à récupérer par recherche à l'aide de la stratégie MaxValRange (qui prend la valeur par défaut de 1500 membres). Si un groupe contient plus de membres, la réponse inclura une extension de plage spécifique à Active Directory. Cette option désactive l'analyse de cette extension de plage, les groupes de grande taille apparaissant ainsi sans aucun membre.
Par défaut : False
ldap_sasl_minssf (integer)
Par défaut : Utiliser la valeur par défaut du système (généralement spécifié par ldap.conf)
ldap_sasl_maxssf (integer)
Par défaut : Utiliser la valeur par défaut du système (généralement spécifié par ldap.conf)
ldap_deref_threshold (entier)
You can turn off dereference lookups completely by setting the value to 0. Please note that there are some codepaths in SSSD, like the IPA HBAC provider, that are only implemented using the dereference call, so even with dereference explicitly disabled, those parts will still use dereference if the server supports it and advertises the dereference control in the rootDSE object.
Une recherche de déréférencement est un moyen pour récupérer tous les membres d'un groupe avec un seul appel LDAP. Plusieurs serveurs LDAP peuvent avoir différentes méthodes de déréférencement. Les serveurs actuellement acceptés sont 389/RHDS, OpenLDAP et Active Directory.
Remarque : Si l'une des bases de recherche spécifie un filtre de recherche, alors l'amélioration de la performance de recherche de déréférencement est désactivée indépendamment de ce paramètre.
Par défaut : 10
ldap_tls_reqcert (chaîne)
never : le client ne demandera ni ne vérifiera un quelconque certificat du serveur.
allow : le certificat serveur est demandé. Si aucun certificat n'est fournit, la session continue normalement. Si un mauvais certificat est fourni, il est ignoré et la session continue normalement.
try : le certificat serveur est demandé. Si aucun certificat n'est fourni, la session continue normalement. Si un mauvais certificat est fourni, la session se termine immédiatement.
demand : le certificat serveur est demandé. Si aucun certificat ou un mauvais certificat est fourni, la session se termine immédiatement.
hard : identique à "demand"
Par défaut : hard
ldap_tls_cacert (chaîne)
Par défaut : utilise les paramètres par défaut de OpenLDAP, en général dans /etc/openldap/ldap.conf
ldap_tls_cacertdir (chaîne)
Par défaut : utilise les paramètres par défaut de OpenLDAP, en général dans /etc/openldap/ldap.conf
ldap_tls_cert (chaîne)
Par défaut : non défini
ldap_tls_key (chaîne)
Par défaut : non défini
ldap_tls_cipher_suite (chaîne)
Par défaut : utilise les paramètres par défaut de OpenLDAP, en général dans /etc/openldap/ldap.conf
ldap_id_use_start_tls (booléen)
Par défaut : false
ldap_id_mapping (boolean)
Cette fonctionnalité ne prend actuellement en charge que la correspondance par objectSID avec Active Directory.
Par défaut : false
ldap_min_id, ldap_max_id (integer)
Par défaut : non indiqué (les deux options sont à 0)
ldap_sasl_mech (chaîne)
If the backend supports sub-domains the value of ldap_sasl_mech is automatically inherited to the sub-domains. If a different value is needed for a sub-domain it can be overwritten by setting ldap_sasl_mech for this sub-domain explicitly. Please see TRUSTED DOMAIN SECTION in sssd.conf(5) for details.
Par défaut : non défini
ldap_sasl_authid (chaîne)
hostname@REALM netbiosname$@REALM host/hostname@REALM *$@REALM host/*@REALM host/*
If none of them are found, the first principal in keytab is returned.
Par défaut : host/hostname@REALM
ldap_sasl_realm (chaîne)
Par défaut : la valeur de krb5_realm.
ldap_sasl_canonicalize (booléen)
Défaut : false;
ldap_krb5_keytab (chaîne)
Par défaut : le fichier keytab du système, normalement /etc/krb5.keytab
ldap_krb5_init_creds (booléen)
Par défaut : true
ldap_krb5_ticket_lifetime (entier)
Par défaut : 86400 (24 heures)
krb5_server, krb5_backup_server (string)
Lors de l'utilisation de découverte de services pour le KDC ou les serveurs kpasswd, SSSD recherche en premier les entrées DNS qui définissent _udp comme protocole, et passe sur _tcp si aucune entrée n'est trouvée.
Cette option s'appelait "krb5_kdcip" dans les versions précédentes de SSSD. Bien que ce nom soit toujours reconnu à l'heure actuelle, il est conseillé de migrer les fichiers de configuration vers l'utilisation de "krb5_server".
krb5_realm (chaîne)
Par défaut : valeur par défaut du système, voir /etc/krb5.conf
krb5_canonicalize (booléen)
Par défaut : false
krb5_use_kdcinfo (booléen)
Consulter la page de manuel de sssd_krb5_locator_plugin(8) pour plus d'informations sur le greffon de localisation.
Par défaut : true
ldap_pwd_policy (chaîne)
none : aucun évaluation du côté client. Cette option ne peut pas désactiver la politique sur les mots de passe du côté serveur.
shadow - Utiliser les attributs de style shadow(5) pour évaluer si le mot de passe a expiré.
mit_kerberos : utilise les attributs utilisés par MIT Kerberos pour déterminer si le mot de passe a expiré. Utiliser chpass_provider=krb5 afin de modifier ces attributs lorsque le mot de passe est changé.
Par défaut : aucun
Note : si une politique de mots de passe est configurée côté serveur, elle prend le pas sur la politique indiquée avec cette option.
ldap_referrals (booléen)
Veuillez noter que sssd ne supporte que le déréférencement que lorsqu'il est compilé avec OpenLDAP version 2.4.13 ou supérieur.
Chasing referrals may incur a performance penalty in environments that use them heavily, a notable example is Microsoft Active Directory. If your setup does not in fact require the use of referrals, setting this option to false might bring a noticeable performance improvement. Setting this option to false is therefore recommended in case the SSSD LDAP provider is used together with Microsoft Active Directory as a backend. Even if SSSD would be able to follow the referral to a different AD DC no additional data would be available.
Par défaut : true
ldap_dns_service_name (chaîne)
Par défaut : ldap
ldap_chpass_dns_service_name (chaîne)
Par défaut : non défini, c'est-à-dire que le service de découverte est désactivé.
ldap_chpass_update_last_change (bool)
Par défaut : False
ldap_access_filter (chaîne)
Exemple :
access_provider = ldap ldap_access_filter = (employeeType=admin)
Cet exemple signifie que l'accès à cet hôte est restreint aux utilisateurs dont l'attribut employeeType est « admin ».
Offline caching for this feature is limited to determining whether the user's last online login was granted access permission. If they were granted access during their last login, they will continue to be granted access while offline and vice versa.
Par défaut : vide
ldap_account_expire_policy (chaîne)
Veuillez noter qu'il est toujours recommandé d'utiliser un contrôle d'accès du côté serveur, c'est-à-dire que le serveur LDAP doit refuser une requête de connexion avec un code erreur approprié même si le mot de passe est correct.
Les valeurs suivantes sont autorisées :
shadow : utiliser la valeur de ldap_user_shadow_expire pour déterminer si le compte a expiré.
ad : utilise la valeur du champ 32 bits ldap_user_ad_user_account_control et autorise l'accès si le deuxième bit n'est pas défini. Si l'attribut est manquant, l'accès est autorisé. La date d'expiration du compte est aussi vérifiée.
rhds, ipa, 389ds : utilise la valeur de ldap_ns_account_lock afin de vérifier si l'accès est autorisé ou non.
nds : les valeurs de ldap_user_nds_login_allowed_time_map, ldap_user_nds_login_disabled et ldap_user_nds_login_expiration_time sont utilisées pour vérifier si l'accès est autorisé. Si les deux attributs sont manquants, l'accès est autorisé. This is an experimental feature, please use https://github.com/SSSD/sssd/ to report any issues.
Noter que l'option de configuration ldap_access_order doit inclure "expire" de façon à permettre à l'option ldap_account_expire_policy de fonctionner.
Par défaut : vide
ldap_access_order (chaîne)
filter : utiliser ldap_access_filter
lockout: use account locking. If set, this option denies access in case that ldap attribute 'pwdAccountLockedTime' is present and has value of '000001010000Z'. Please see the option ldap_pwdlockout_dn. Please note that 'access_provider = ldap' must be set for this feature to work.
Please note that this option is superseded by the "ppolicy" option and might be removed in a future release.
ppolicy: use account locking. If set, this option denies access in case that ldap attribute 'pwdAccountLockedTime' is present and has value of '000001010000Z' or represents any time in the past. The value of the 'pwdAccountLockedTime' attribute must end with 'Z', which denotes the UTC time zone. Other time zones are not currently supported and will result in "access-denied" when users attempt to log in. Please see the option ldap_pwdlockout_dn. Please note that 'access_provider = ldap' must be set for this feature to work.
expire: utiliser ldap_account_expire_policy
pwd_expire_policy_reject, pwd_expire_policy_warn, pwd_expire_policy_renew: These options are useful if users are interested in being warned that password is about to expire and authentication is based on using a different method than passwords - for example SSH keys.
The difference between these options is the action taken if user password is expired: pwd_expire_policy_reject - user is denied to log in, pwd_expire_policy_warn - user is still able to log in, pwd_expire_policy_renew - user is prompted to change his password immediately.
Note If user password is expired no explicit message is prompted by SSSD.
Please note that 'access_provider = ldap' must be set for this feature to work. Also 'ldap_pwd_policy' must be set to an appropriate password policy.
authorized_service : utiliser l'attribut authorizedService pour déterminer l'accès
host : utilise l'attribut host pour déterminer l'accès
rhost: use the rhost attribute to determine whether remote host can access
Please note, rhost field in pam is set by application, it is better to check what the application sends to pam, before enabling this access control option
Par défaut : filter
Veuillez noter qu'une valeur utilisée plusieurs fois résulte en une erreur de configuration.
ldap_pwdlockout_dn (chaîne)
Exemple : cn=ppolicy,ou=policies,dc=example,dc=com
Default: cn=ppolicy,ou=policies,$ldap_search_base
ldap_deref (chaînes)
never : les alias ne sont jamais déréférencés.
searching : Les alias sont déréférencés comme des subordonnés de l'objet de base, mais pas en localisant l'objet de base de la recherche.
finding : les alias sont seulement déréférencés lors de la localisation de l'objet de base de la recherche.
always : les alias sont déréférencés à la fois pour la recherche et et la localisation de l'objet de base de la recherche.
Par défaut : vide (ceci est traité comme never par les bibliothèques clientes LDAP)
ldap_rfc2307_fallback_to_local_users (booléen)
Dans certains environnements où le schéma RFC2307 est utilisé, les utilisateurs locaux deviennent membres du groupes LDAP en ajoutant leurs noms à l'attribut memberUid. La cohérence du domaine est compromise quand cela est fait, SSSD supprimerait normalement les utilisateurs « disparus » des appartenances aux groupes mises en cache dès que nsswitch essaie de récupérer des informations sur l'utilisateur via des appels à getpw*() ou initgoups().
Cette option vérifie en dernier recours si les utilisateurs locaux sont référencés et les met en cache afin que des appels ultérieurs à initgoups() ajoutent les utilisateurs locaux aux groupes LDAP.
Par défaut : false
wildcard_limit (integer)
At the moment, only the InfoPipe responder supports wildcard lookups.
Default: 1000 (often the size of one page)
ldap_library_debug_level (integer)
OpenLDAP uses a bitmap to enable debugging for specific components, -1 will enable full debug output.
Default: 0 (libldap debugging disabled)
The detailed instructions for configuration of sudo_provider are in the manual page sssd-sudo(5).
ldap_sudo_full_refresh_interval (integer)
La valeur doit être supérieure à ldap_sudo_smart_refresh_interval
Par défaut : 21600 (6 heures)
ldap_sudo_smart_refresh_interval (integer)
Si les attributs USN ne sont pas pris en charge par le serveur, l'attribut modifyTimestamp est utilisé à la place.
Note: the highest USN value can be updated by three tasks: 1) By sudo full and smart refresh (if updated rules are found), 2) by enumeration of users and groups (if enabled and updated users or groups are found) and 3) by reconnecting to the server (by default every 15 minutes, see ldap_connection_expire_timeout).
Par défaut : 900 (15 minutes)
ldap_sudo_use_host_filter (boolean)
Par défaut : true
ldap_sudo_hostnames (string)
Si cette option est vide, SSSD va essayer de découvrir automatiquement le nom de système et le nom de domaine pleinement qualifié.
Si ldap_sudo_use_host_filter est false, alors cette option n'a aucun effet.
Par défaut : non spécifié
ldap_sudo_ip (string)
Si cette option est vide, SSSD va essayer de découvrir les adresses automatiquement.
Si ldap_sudo_use_host_filter est false, alors cette option n'a aucun effet.
Par défaut : non spécifié
ldap_sudo_include_netgroups (boolean)
Si ldap_sudo_use_host_filter est false, alors cette option n'a aucun effet.
Par défaut : true
ldap_sudo_include_regexp (boolean)
Si ldap_sudo_use_host_filter est false, alors cette option n'a aucun effet.
Cette page de manuel décrit uniquement le mappage de noms d'attribut. Pour une explication détaillée des sémantiques d'attributs relatives à sudo, cf. sudoers.ldap(5)
Some of the defaults for the parameters below are dependent on the LDAP schema.
ldap_autofs_map_master_name (chaîne)
Par défaut : auto.master
ldap_autofs_map_object_class (string)
Default: nisMap (rfc2307, autofs_provider=ad), otherwise automountMap
ldap_autofs_map_name (string)
Default: nisMapName (rfc2307, autofs_provider=ad), otherwise automountMapName
ldap_autofs_entry_object_class (string)
Default: nisObject (rfc2307, autofs_provider=ad), otherwise automount
ldap_autofs_entry_key (string)
Default: cn (rfc2307, autofs_provider=ad), otherwise automountKey
ldap_autofs_entry_value (string)
Default: nisMapEntry (rfc2307, autofs_provider=ad), otherwise automountInformation
Veuillez noter que l'automounter ne lit que la carte maîtresse au démarrage. Ainsi, si des modifications liées à autofs sont apportées à sssd.conf, vous devrez généralement redémarrer le démon automounter après le redémarrage de SSSD
These options are supported by LDAP domains, but they should be used with caution. Please include them in your configuration only if you know what you are doing.
ldap_netgroup_search_base (chaînes)
syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ». Les fonctions de portée sont spécifiées dans la section 4.5.1.2 de http://tools.ietf.org/html/rfc4511
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Pour obtenir des exemples de cette syntaxe, reportez-vous à la section d'exemples "ldap_search_base".
Par défaut : la valeur de ldap_search_base
Noter que la spécification de portée ou de filtre n'est pas prise en charge pour les recherches sur un serveur Active Directory qui serait susceptible de produire un grand nombre de résultats et de déclencher l'extension Range Retrieval dans sa réponse.
ldap_user_search_base (chaînes)
syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ». Les fonctions de portée sont spécifiées dans la section 4.5.1.2 de http://tools.ietf.org/html/rfc4511
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Pour obtenir des exemples de cette syntaxe, reportez-vous à la section d'exemples "ldap_search_base".
Par défaut : la valeur de ldap_search_base
Noter que la spécification de portée ou de filtre n'est pas prise en charge pour les recherches sur un serveur Active Directory qui serait susceptible de produire un grand nombre de résultats et de déclencher l'extension Range Retrieval dans sa réponse.
ldap_group_search_base (chaînes)
syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ». Les fonctions de portée sont spécifiées dans la section 4.5.1.2 de http://tools.ietf.org/html/rfc4511
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Pour obtenir des exemples de cette syntaxe, reportez-vous à la section d'exemples "ldap_search_base".
Par défaut : la valeur de ldap_search_base
Noter que la spécification de portée ou de filtre n'est pas prise en charge pour les recherches sur un serveur Active Directory qui serait susceptible de produire un grand nombre de résultats et de déclencher l'extension Range Retrieval dans sa réponse.
If the option "ldap_use_tokengroups" is enabled, the searches against Active Directory will not be restricted and return all groups memberships, even with no GID mapping. It is recommended to disable this feature, if group names are not being displayed correctly.
ldap_sudo_search_base (string)
syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ». Les fonctions de portée sont spécifiées dans la section 4.5.1.2 de http://tools.ietf.org/html/rfc4511
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Pour obtenir des exemples de cette syntaxe, reportez-vous à la section d'exemples "ldap_search_base".
Par défaut : la valeur de ldap_search_base
Noter que la spécification de portée ou de filtre n'est pas prise en charge pour les recherches sur un serveur Active Directory qui serait susceptible de produire un grand nombre de résultats et de déclencher l'extension Range Retrieval dans sa réponse.
ldap_autofs_search_base (string)
syntaxe :
search_base[?scope?[filter][?search_base?scope?[filter]]*]
La portée peut être l'une des « base », « onelevel » ou « subtree ». Les fonctions de portée sont spécifiées dans la section 4.5.1.2 de http://tools.ietf.org/html/rfc4511
Le filtre doit être un filtre de recherche LDAP valide tel que spécifié par http://www.ietf.org/rfc/rfc2254.txt
Pour obtenir des exemples de cette syntaxe, reportez-vous à la section d'exemples "ldap_search_base".
Par défaut : la valeur de ldap_search_base
Noter que la spécification de portée ou de filtre n'est pas prise en charge pour les recherches sur un serveur Active Directory qui serait susceptible de produire un grand nombre de résultats et de déclencher l'extension Range Retrieval dans sa réponse.
La fonctionnalité de bascule autorise le moteur à basculer automatiquement sur un serveur différent si le serveur actuel est défaillant.
La liste des serveurs est donnée sous forme de liste séparée par des virgules ; un nombre quelconque d'espaces est autorisé autour de la virgule. Les serveurs sont répertoriés par ordre de préférence. La liste peut contenir un nombre quelconque de serveurs.
Pour chaque option de configuration alors que la bascule est activée, il existe deux variantes : primary et backup. L'idée est que les serveurs dans la liste principale sont préférés et les serveurs de secours sont interrogés uniquement si aucun serveur primaire ne peut être atteint. Si un serveur de secours est sélectionné, un délai d'attente de 31 secondes est défini. Après ce délai d'attente, SSSD tentera périodiquement de se reconnecter à un des serveurs primaires. S'il réussit, il remplacera l'actuel serveur (de secours) actif.
Le mécanisme de bascule fait la distinction entre une machine et d'un service. Le moteur tente d'abord de résoudre le nom d'hôte d'un ordinateur donné ; en cas d'échec de cette tentative de résolution, la machine est considérée comme hors ligne. Aucune autre tentative n'est faite pour se connecter à cette machine pour tout autre service. Si la tentative de résolution réussit, le serveur principal tente de se connecter à un service sur cette machine. Si la tentative de connexion de service échoue, alors ce seul service est considéré comme hors ligne et le moteur passe automatiquement au service suivant. La machine est toujours considérée en ligne et peut toujours être considérée pour une tentative d'accès à un autre service.
Les tentatives de connexion ultérieures sont faites vers des machines ou des services marqués comme hors connexion après un délai spécifié ; ce délai est actuellement spécifié en dur à 30 secondes.
S'il n'y a plus aucune machine à essayer, le moteur dans son ensemble bascule dans le mode hors connexion et tente ensuite de se reconnecter toutes les 30 secondes.
Resolving a server to connect to can be as simple as running a single DNS query or can involve several steps, such as finding the correct site or trying out multiple host names in case some of the configured servers are not reachable. The more complex scenarios can take some time and SSSD needs to balance between providing enough time to finish the resolution process but on the other hand, not trying for too long before falling back to offline mode. If the SSSD debug logs show that the server resolution is timing out before a live server is contacted, you can consider changing the time outs.
This section lists the available tunables. Please refer to their description in the sssd.conf(5), manual page.
dns_resolver_server_timeout
Par défaut : 1000
dns_resolver_op_timeout
Par défaut : 3
dns_resolver_timeout
Par défaut : 6
For LDAP-based providers, the resolve operation is performed as part of an LDAP connection operation. Therefore, also the "ldap_opt_timeout" timeout should be set to a larger value than "dns_resolver_timeout" which in turn should be set to a larger value than "dns_resolver_op_timeout" which should be larger than "dns_resolver_server_timeout".
La fonctionnalité de découverte de services permet aux moteurs de trouver automatiquement les serveurs appropriés auxquels se connecter à l'aide d'une requête DNS spéciale. Cette fonctionnalité n'est pas pris en charge pour sur les serveurs secondaires.
Si aucun serveur n'est spécifié, le moteur utilise automatiquement la découverte de services pour tenter de trouver un serveur. L'utilisateur peut aussi choisir d'utiliser des adresses de serveur et de découverte de services fixes en insérant un mot-clé spécial, "_srv_", dans la liste des serveurs. L'ordre de préférence est maintenu. Cette fonctionnalité est utile si, par exemple, l'utilisateur préfère utiliser la découverte de services chaque fois que possible et se replier vers un serveur spécifique lorsqu'aucun serveur ne peut être découvert à l'aide du DNS.
Se reporter au paramètre "dns_discovery_domain" dans la page de manuel sssd.conf(5) pour plus de détails.
Les requêtes spécifient généralement _tcp comme protocole. Les exceptions sont documentées dans les descriptions respectives des options.
Pour plus d'informations sur le mécanisme de découverte de services, se reporter à la RFC 2782.
La fonctionnalité de correspondance d'ID permet à SSSD d'agir comme un client de Active Directory sans demander aux administrateurs d'étendre les attributs utilisateur pour prendre en charge les attributs POSIX pour les identifiants d'utilisateur et de groupe.
Remarque : Lorsque la mise en correspondance des ID est activée, les attributs uidNumber et gidNumber sont ignorés. Ceci afin d'éviter les risques de conflit entre les valeurs attribuées automatiquement et assignées manuellement. Si vous avez besoin d'utiliser des valeurs attribuées manuellement, TOUTES les valeurs doivent être assignées manuellement.
Please note that changing the ID mapping related configuration options will cause user and group IDs to change. At the moment, SSSD does not support changing IDs, so the SSSD database must be removed. Because cached passwords are also stored in the database, removing the database should only be performed while the authentication servers are reachable, otherwise users might get locked out. In order to cache the password, an authentication must be performed. It is not sufficient to use sss_cache(8) to remove the database, rather the process consists of:
Moreover, as the change of IDs might necessitate the adjustment of other system properties such as file and directory ownership, it's advisable to plan ahead and test the ID mapping configuration thoroughly.
Active Directory fournit un objectSID pour chaque objet d'utilisateur et de groupe dans l'annuaire. Cet objectSID peut être divisé en composants qui représentent l'identité de domaine Active Directory et l'identificateur relatif (RID) de l'objet utilisateur ou groupe.
L'algorithme de mise en correspondance des ID de SSSD tient un éventail d'uid disponibles et le divise en sections de même taille, appelées « tranches ». Chaque tranche représente l'espace disponible dans un domaine Active Directory.
Lorsqu'une entrée d'utilisateur ou de groupe pour un domaine particulier est rencontrée pour la première fois, SSSD alloue une des plages disponibles pour ce domaine. Afin de rendre cette affectation de plage reproductible sur les ordinateurs clients différents, l'algorithme de sélection de plage suivant est utilisé :
La chaîne du SID est passée par l'intermédiaire de l'algorithme murmurhash3 pour le convertir en une valeur de hachage de 32 bits. Nous prenons ensuite le modulo de cette valeur avec le nombre total des tranches disponibles pour prendre la tranche.
Remarque : Il est possible de rencontrer les collisions dans le hachage et le modulo en découlant. Dans ces situations, la tranche suivante disponible sera sélectionnée, mais il n'est pas possible de reproduire le même jeu exact des tranches sur d'autres machines (puisque l'ordre dans lequel elles sont rencontrées déterminera leur tranche). Dans ce cas, il est recommandé de passer à l'utilisation des attributs POSIX explicites dans Active Directory (en désactivant la correspondance d'ID) ou configurer un domaine par défaut afin de garantir qu'au moins un est toujours cohérent. Pour plus d'informations, voir "Configuration".
Configuration minimale (dans la section "[domain/DOMAINNAME]") :
ldap_id_mapping = True ldap_schema = ad
The default configuration results in configuring 10,000 slices, each capable of holding up to 200,000 IDs, starting from 200,000 and going up to 2,000,200,000. This should be sufficient for most deployments.
ldap_idmap_range_min (integer)
NOTE : Cette option est différente de
"min_id"
en ce sens que
"min_id"
agit comme filtre sur le résultat des requêtes vers ce domaine, alors que cette option contrôle les plages de correspondance d'ID. Il s'agit d'une distinction subtile, mais les bonnes pratiques conseillent d'avoir
"min_id"
inférieur ou égal à
"ldap_idmap_range_min"
Par défaut : 200000
ldap_idmap_range_max (integer)
NOTE : Cette option est différente de
"max_id"
en ce sens que
"max_id"
agit comme filtre sur le résultat des requêtes vers ce domaine, alors que cette option contrôle les plages de correspondance d'ID. Il s'agit d'une distinction subtile, mais les bonnes pratiques conseillent d'avoir
"max_id"
supérieur ou égal à
"ldap_idmap_range_max"
Par défaut : 2000200000
ldap_idmap_range_size (integer)
NOTE: The value of this option must be at least as large as the highest user RID planned for use on the Active Directory server. User lookups and login will fail for any user whose RID is greater than this value.
For example, if your most recently-added Active Directory user has objectSid=S-1-5-21-2153326666-2176343378-3404031434-1107,
"ldap_idmap_range_size"
must be at least 1108 as range size is equal to maximal SID minus minimal SID plus one (e.g. 1108 = 1107 - 0 + 1).
It is important to plan ahead for future expansion, as changing this value will result in changing all of the ID mappings on the system, leading to users with different local IDs than they previously had.
Par défaut : 200000
ldap_idmap_default_domain_sid (chaîne)
Par défaut : non défini
ldap_idmap_default_domain (chaîne)
Par défaut : non défini
ldap_idmap_autorid_compat (boolean)
Lorsque cette option est configurée, les domaines seront alloués en commençant par la tranche zéro et augmentant de manière monotone pour chaque domaine supplémentaire.
Remarque : Cet algorithme n'est pas déterministe (il dépend de l'ordre dans lequel utilisateurs et groupes sont invités). Si ce mode est nécessaire pour assurer la compatibilité avec les ordinateurs qui utilisent winbind, il est recommandé d'utiliser également l'option
"ldap_idmap_default_domain_sid"
pour garantir qu'au moins un domaine est systématiquement alloué à la tranche zéro.
Par défaut : False
ldap_idmap_helper_table_size (integer)
Note: Additional secondary slices might be generated when SID is being mapped to UNIX id and RID part of SID is out of range for secondary slices generated so far. If value of ldap_idmap_helper_table_size is equal to 0 then no additional secondary slices are generated.
Par défaut : 10
Configuration avancée
SSSD supports to look up the names of Well-Known SIDs, i.e. SIDs with a special hardcoded meaning. Since the generic users and groups related to those Well-Known SIDs have no equivalent in a Linux/UNIX environment no POSIX IDs are available for those objects.
The SID name space is organized in authorities which can be seen as different domains. The authorities for the Well-Known SIDs are
The capitalized version of these names are used as domain names when returning the fully qualified name of a Well-Known SID.
Since some utilities allow to modify SID based access control information with the help of a name instead of using the SID directly SSSD supports to look up the SID by the name as well. To avoid collisions only the fully qualified names can be used to look up Well-Known SIDs. As a result the domain names "NULL AUTHORITY", "WORLD AUTHORITY", " LOCAL AUTHORITY", "CREATOR AUTHORITY", "NT AUTHORITY" and "BUILTIN" should not be used as domain names in sssd.conf.
L'exemple suivant suppose que SSSD est correctement configuré et que LDAP pointe sur un des domaines de la section [domains].
[domain/LDAP] id_provider = ldap auth_provider = ldap ldap_uri = ldap://ldap.mydomain.org ldap_search_base = dc=mydomain,dc=org ldap_tls_reqcert = demand cache_credentials = true
The following example assumes that SSSD is correctly configured and to use the ldap_access_order=lockout.
[domain/LDAP] id_provider = ldap auth_provider = ldap access_provider = ldap ldap_access_order = lockout ldap_pwdlockout_dn = cn=ppolicy,ou=policies,dc=mydomain,dc=org ldap_uri = ldap://ldap.mydomain.org ldap_search_base = dc=mydomain,dc=org ldap_tls_reqcert = demand cache_credentials = true
Les descriptions de quelques unes des options de configuration des pages de manuel sont basées sur le manuel de ldap.conf(5) de la distribution de OpenLDAP 2.4.
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) sssd-systemtap(5)
The SSSD upstream - https://github.com/SSSD/sssd/