setuserdb ou enduserdb Sous-routine

Objectif

Ouvre et ferme la base de données utilisateur.

Bibliothèque

Bibliothèque de sécurité (libc.a)

Syntaxe

#include <usersec.h>
int setuserdb ( Mode)
int Mode;
int enduserdb ( )

Descriptif

Ces fonctions peuvent être utilisées pour ouvrir et fermer l'accès à la base de données utilisateur. Les programmes qui appellent la sous-routine getuserattr ou getgroupattr doivent appeler la sous-routine setuserdb pour ouvrir la base de données utilisateur et la sous-routine enduserdb pour fermer la base de données utilisateur.

La sous-routine setuserdb ouvre la base de données utilisateur dans le mode spécifié, si elle n'est pas déjà ouverte. Le nombre d'ouvertures est augmenté de 1.

La sous-routine enduserdb réduit le nombre d'ouvertures de 1 et ferme la base de données utilisateur lorsque ce nombre passe à 0. Toutes les données modifiées non validées sont perdues.

Paramètres

Article Descriptif
aff Indique le mode d'ouverture. Ce paramètre peut contenir une ou plusieurs des valeurs suivantes définies dans le fichier usersec.h :
S_READ
Indique l'accès en lecture
S_ECRITURE
Indique le droit de mise à jour.

Valeurs renvoyées

Les sous-routines setuserdb et enduserdb renvoient la valeur 0 pour indiquer que l'opération a abouti. Dans le cas contraire, la valeur -1 est renvoyée et la variable globale errno est définie pour indiquer l'erreur.

Codes d'erreur

La sous-routine setuserdb échoue si la condition suivante est vraie:

Article Descriptif
EACCES Les droits d'accès sont refusés pour la demande de données.

Les deux sous-routines renvoient des erreurs provenant d'autres sous-routines.

Security

Fichiers consultés: le processus appelant doit avoir accès aux données utilisateur. Selon les attributs réels auxquels vous avez accédé, il peut s'agir des éléments suivants:

Article Descriptif
Modes Fichier
Rw /etc/passwd
Rw /etc/group
Rw /etc/security/user
Rw /etc/security/limits
Rw /etc/security/group
Rw /etc/security/environ