setauthdb ou setauthdb_r Sous-routine
Objectif
Définit le domaine d'administration en cours.
Bibliothèque
Bibliothèque C standard (libc.a)
Syntaxe
#include <usersec.h>
int setauthdb (New, Old)
authdb_t *New;
authdb_t *Old;
int setauthdb_r (New, Old)
authdb_t *New;
authdb_t *Old;
Descriptif
Les sous-routines setauthdb et setauthdb_r définissent la valeur du domaine d'administration en cours dans le paramètre New . La sous-routine setauthdb définit la valeur du domaine d'administration à l'échelle du processus en cours. La sous-routine setauthdb_r définit le domaine d'administration de l'unité d'exécution en cours, le cas échéant. Les sous-routines renvoient -1 si aucun domaine d'administration n'est défini. Le domaine d'administration en cours est renvoyé dans le paramètre Old . Le paramètre Old peut être un pointeur null si la valeur du domaine d'administration en cours n'est pas souhaitée.
Le domaine d'administration détermine les bases de données d'informations d'utilisateur et de groupe qui sont interrogées par les fonctions de bibliothèque d'utilisateur et de groupe. Le comportement par défaut consiste à accéder à tous les domaines d'administration définis. La sous-routine setauthdb limite les fonctions de bibliothèque d'utilisateurs et de groupes aux domaines d'administration nommés pour toutes les unités d'exécution du processus en cours. La sous-routine setauthdb_r limite les fonctions de bibliothèque d'utilisateur et de groupe au domaine d'administration nommé pour l'unité d'exécution en cours. Le comportement par défaut peut être restauré à l'aide d'un pointeur null pour la valeur du paramètre New ou d'une chaîne vide pour la valeur du paramètre New .
La chaîne référencée par le paramètre New doit être la chaîne files, compat ou un domaine d'administration défini dans le fichier /usr/lib/security/methods.cfg . Les paramètres New et Old sont de type authdb_t. Le type authdb_t est un tableau de 16 caractères qui contient le nom d'un module d'authentification chargeable.
domainlessgroups est défini sur true dans le fichier /etc/secvars.cfg et si la sous-routine setauthdb définit le domaine d'administration sur LDAP ou files, la sous-routine setauthdb recherche les informations utilisateur dans les deux domaines (LDAP et files) pour le groupe . Ce comportement d'attribut domainlessgroups est limité au domaine LDAP et au domaine files .Paramètres
| Article | Descriptif |
|---|---|
| New | Pointeur vers le nom du nouveau module de base de données. Le paramètre New doit faire référence à un nom de module de valeurs contenu dans le fichier /usr/lib/security/methods.cfg ou à l'une des valeurs prédéfinies (BUILTIN, compatou files). La chaîne vide peut être utilisée pour supprimer la restriction sur les modules utilisés. |
| Old | Pointeur vers l'emplacement de stockage du nom du module en cours. Une valeur NULL peut être utilisée pour le paramètre Old si le nom actuel de la base de données n'est pas souhaité. |
Valeurs renvoyées
| Article | Descriptif |
|---|---|
| 0 | La modification de la restriction de recherche de module a abouti. |
| -1 | La restriction de recherche de module n'est pas modifiée. La variable errno doit être examinée pour déterminer la cause de l'échec. |
Codes d'erreur
| Article | Descriptif |
|---|---|
| EINVAL | La longueur du paramètre new_auth_db est supérieure à la longueur autorisée d'une strophe dans le fichier /usr/lib/security/methods.cfg (15 caractères). |
| ENOENT | new_auth_dbne fait pas référence à une strophe valide dans /usr/lib/security/methods.cfg ou à l'une des valeurs prédéfinies. |