Man page - endspent(3)

Packages contains this manual

Available languages:

en fr ja ru

Manual

getspnam

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
Versions réentrantes
Structure
VALEUR RENVOYÉE
ERREURS
FICHIERS
ATTRIBUTS
VERSIONS
STANDARDS
VOIR AUSSI
TRADUCTION

NOM

getspnam, getspnam_r, getspent, getspent_r, setspent, endspent, fgetspent, fgetspent_r, sgetspent, sgetspent_r, putspent, lckpwdf, ulckpwdf - Obtenir une entrée du fichier des mots de passe cachés

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

/* API globale du fichier des mots de passe cachés */
#include <shadow.h>

struct spwd *getspnam(const char * nom );
struct spwd *getspent(void);

void setspent(void);
void endspent(void);

struct spwd *fgetspent(FILE * flux );
struct spwd *sgetspent(const char *
s );

int putspent(const struct spwd * p , FILE * flux );

int lckpwdf(void);
int ulckpwdf(void);

/* Extension GNU */
#include <shadow.h>

int getspent_r(struct spwd * spbuf ,
char
tampon [. taille_tampon ], size_t taille_tampon , struct spwd ** spbufp );
int getspnam_r(const char *
nom , struct spwd * spbuf ,
char
tampon [. taille_tampon ], size_t taille_tampon , struct spwd ** spbufp );

int fgetspent_r(FILE * flux , struct spwd * spbuf ,
char
tampon [. taille_tampon ], size_t taille_tampon , struct spwd ** spbufp );
int sgetspent_r(const char *
s , struct spwd * spbuf ,
char
tampon [. taille_tampon ], size_t taille_tampon , struct spwd ** spbufp );

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros (7)) :

getspent_r (), getspnam_r (), fgetspent_r (), sgetspent_r ():
Depuis la glibc 2.19 :
_DEFAULT_SOURCE
glibc 2.19 et antérieures :
_BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

Il a longtemps Ă©tĂ© considĂ©rĂ© comme sĂ»r d’avoir des mots de passe chiffrĂ©s ouvertement visibles dans le fichier des mots de passe. Lorsque les ordinateurs sont devenus plus rapides et que les gens sont devenus plus conscients des problĂšmes de sĂ©curitĂ©, cela n’était plus acceptable. Julianne Frances Haugh a implĂ©mentĂ© la suite d’utilitaires « shadow » qui conserve les mots de passe chiffrĂ©s dans la base de donnĂ©es des mots de passe cachĂ©s « shadow » (par exemple, le fichier local des mots de passe cachĂ©s /etc/shadow , NIS ou LDAP), lisible seulement par le superutilisateur.

Les fonctions décrites ci-dessous ressemblent aux fonctions traditionnelles de la base de données des mots de passe (par exemple, consultez getpwnam (3) et getpwent (3)).

La fonction getspnam () renvoie un pointeur vers une structure contenant les champs d’un enregistrement extrait de la base de donnĂ©es « shadow » de l’entrĂ©e correspondant au nom de l’utilisateur.

La fonction getspent () renvoie un pointeur sur l’entrĂ©e suivante de la base de donnĂ©es « shadow ». La position dans le flux d’entrĂ©e est initialisĂ©e par setspent (). Lorsque la lecture est finie, le programme devrait appeler endspent () pour dĂ©sallouer les ressources.

La fonction fgetspent () est similaire à getspent (), mais utilise le flux spécifié plutÎt que celui implicitement ouvert par setspent ().

La fonction sgetspent () analyse la chaĂźne s fournie dans la structure spwd .

La fonction putspent () Ă©crit le contenu de la structure spwd *p fournie sous forme d’une ligne de texte au format du fichier des mots de passe cachĂ©s dans le flux . Les entrĂ©es chaĂźnes de valeur NULL et les entrĂ©es numĂ©riques de valeur -1 sont Ă©crites comme des chaĂźnes vides.

La fonction lckpwdf () a pour but de protĂ©ger la base de donnĂ©es des mots de passe cachĂ©s contre des accĂšs simultanĂ©s. Elle tente d’obtenir un verrou, renvoie 0 si elle y arrive ou -1 si elle Ă©choue (le verrou n’a pas pu ĂȘtre obtenu dans les 15 secondes). La fonction ulckpwdf () libĂšre le verrou. Veuillez noter qu’il n’y a pas de protection contre l’accĂšs direct au fichier des mots de passe cachĂ©s. Seuls les programmes qui utilisent lckpwdf () remarqueront le verrou.

C’étaient les routines qui composaient l’API originale « shadow ». Elles sont largement disponibles.

Versions réentrantes

De maniĂšre analogue aux routines rĂ©entrantes pour la base de donnĂ©es des mots de passe, la glibc possĂšde aussi des versions rĂ©entrantes pour la base de donnĂ©es des mots de passe cachĂ©s. La fonction getspnam_r () est Ă©quivalente Ă  la fonction getspnam (), mais enregistre la structure des mots de passe cachĂ©s trouvĂ©e dans l’espace pointĂ© par spbuf . Cette structure des mots de passe cachĂ©s contient des pointeurs vers des chaĂźnes qui sont stockĂ©es dans le tampon de taille taille_tampon . Un pointeur vers le rĂ©sultat (en cas de rĂ©ussite) ou NULL (si aucune entrĂ©e n’a Ă©tĂ© trouvĂ©e ou si une erreur est survenue) est stockĂ© dans *spbufp .

Les fonctions getspent_r (), fgetspent_r () et sgetspent_r () sont analogues à leurs homologues non réentrantes.

Certains systÚmes non glibc ont également des fonctions portant ces noms, souvent avec des prototypes différents.

Structure

La structure des mots de passe cachés est définie dans <shadow.h> de la maniÚre suivante :

struct spwd {
char *sp_namp; /* Identifiant de connexion */
char *sp_pwdp; /* Mot de passe chiffré */
long sp_lstchg; /* Date de derniĂšre modification
(mesurĂ©e en jours depuis l’époque,
1er janvier 1970 Ă  00:00:00 (UTC)) */
long sp_min; /* Nombre de jours minimum entre
deux modifications */
long sp_max; /* Nombre de jours maximum entre
deux modifications */
long sp_warn; /* Nombre de jours avant l’expiration
du mot de passe pour avertir
l’utilisateur de le modifier */
long sp_inact; /* Nombre de jours aprùs l’expiration
du mot de passe pour la désactivation
du compte */
long sp_expire; /* Date Ă  laquelle le compte expirera,
(mesurĂ©e en jours depuis l’époque,
1er janvier 1970 à 00:00:00 (UTC)) */
unsigned long sp_flag; /* Réservé */
};

VALEUR RENVOYÉE

Les routines qui renvoient un pointeur renvoient NULL s’il n’y a plus d’entrĂ©e disponible ou si une erreur est survenue pendant le traitement. Les routines qui ont un int comme valeur de retour renvoient 0 en cas de rĂ©ussite. En cas d’erreur, -1 est renvoyĂ© et errno est dĂ©finie pour prĂ©ciser l’erreur.

Pour les fonctions non rĂ©entrantes, la valeur de retour peut pointer sur une zone statique et peut ĂȘtre Ă©crasĂ©e par des appels ultĂ©rieurs de ces fonctions.

Les fonctions rĂ©entrantes renvoient zĂ©ro si elles rĂ©ussissent. Si elles Ă©chouent, une valeur d’erreur est renvoyĂ©e.

ERREURS

EACCES

L’appelant n’a pas le droit d’accĂ©der au fichier de mots de passe cachĂ©s.

ERANGE

Le tampon fourni est trop petit.

FICHIERS

/etc/shadow

fichier base de données des mots de passe cachés

/etc/.pwd.lock

fichier verrou

Le fichier d’inclusion <paths.h> dĂ©finit la constante _PATH_SHADOW comme Ă©tant le chemin du fichier des mots de passe cachĂ©s.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3865178-1.png

Dans le tableau ci-dessus, getspent dans race:getspent signifie que si des fonctions parmi setspent (), getspent (), getspent_r () ou endspent () sont utilisĂ©es en parallĂšle dans diffĂ©rents threads d’un programme, des situations de compĂ©tition entre donnĂ©es pourraient apparaĂźtre.

VERSIONS

Beaucoup de systĂšmes fournissent une API similaire.

STANDARDS

Aucun.

VOIR AUSSI

getgrnam (3), getpwnam (3), getpwnam_r (3), shadow (5)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Lucien Gentis <lucien.gentis@waika9.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .