.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl) and .\" Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getspnam 3 "20 juillet 2023" "Pages du manuel de Linux 6.05.01" .SH 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 .SH BIBLIOTHÈQUE Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP) .SH SYNOPSIS .nf /* API globale du fichier des mots de passe cachés */ \fB#include \fP .PP \fBstruct spwd *getspnam(const char *\fP\fInom\fP\fB);\fP \fBstruct spwd *getspent(void);\fP .PP \fBvoid setspent(void);\fP \fBvoid endspent(void);\fP .PP \fBstruct spwd *fgetspent(FILE *\fP\fIflux\fP\fB);\fP \fBstruct spwd *sgetspent(const char *\fP\fIs\fP\fB);\fP .PP \fBint putspent(const struct spwd *\fP\fIp\fP\fB, FILE *\fP\fIflux\fP\fB);\fP .PP \fBint lckpwdf(void);\fP \fBint ulckpwdf(void);\fP .PP /* Extension GNU */ \fB#include \fP .PP \fBint getspent_r(struct spwd *\fP\fIspbuf\fP\fB,\fP \fB char \fP\fItampon\fP\fB[.\fP\fItaille_tampon\fP\fB], size_t \fP\fItaille_tampon\fP\fB, struct spwd **\fP\fIspbufp\fP\fB);\fP \fBint getspnam_r(const char *\fP\fInom\fP\fB, struct spwd *\fP\fIspbuf\fP\fB,\fP \fB char \fP\fItampon\fP\fB[.\fP\fItaille_tampon\fP\fB], size_t \fP\fItaille_tampon\fP\fB, struct spwd **\fP\fIspbufp\fP\fB);\fP .PP \fBint fgetspent_r(FILE *\fP\fIflux\fP\fB, struct spwd *\fP\fIspbuf\fP\fB,\fP \fB char \fP\fItampon\fP\fB[.\fP\fItaille_tampon\fP\fB], size_t \fP\fItaille_tampon\fP\fB, struct spwd **\fP\fIspbufp\fP\fB);\fP \fBint sgetspent_r(const char *\fP\fIs\fP\fB, struct spwd *\fP\fIspbuf\fP\fB,\fP \fB char \fP\fItampon\fP\fB[.\fP\fItaille_tampon\fP\fB], size_t \fP\fItaille_tampon\fP\fB, struct spwd **\fP\fIspbufp\fP\fB);\fP .fi .PP .RS -4 Exigences de macros de test de fonctionnalités pour la glibc (consulter \fBfeature_test_macros\fP(7))\ : .RE .PP \fBgetspent_r\fP(), \fBgetspnam_r\fP(), \fBfgetspent_r\fP(), \fBsgetspent_r\fP(): .nf Depuis la glibc 2.19 : _DEFAULT_SOURCE glibc 2.19 et antérieures : _BSD_SOURCE || _SVID_SOURCE .fi .SH 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 \fI/etc/shadow\fP, NIS ou LDAP), lisible seulement par le superutilisateur. .PP .\" FIXME . I've commented out the following for the .\" moment. The relationship between PAM and nsswitch.conf needs .\" to be clearly documented in one place, which is pointed to by .\" the pages for the user, group, and shadow password functions. .\" (Jul 2005, mtk) .\" .\" This shadow password setup has been superseded by PAM .\" (pluggable authentication modules), and the file .\" .I /etc/nsswitch.conf .\" now describes the sources to be used. Les fonctions décrites ci\-dessous ressemblent aux fonctions traditionnelles de la base de données des mots de passe (par exemple, consultez \fBgetpwnam\fP(3) et \fBgetpwent\fP(3)). .PP La fonction \fBgetspnam\fP() 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 \fInom\fP de l'utilisateur. .PP .\" some systems require a call of setspent() before the first getspent() .\" glibc does not La fonction \fBgetspent\fP() 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 \fBsetspent\fP(). Lorsque la lecture est finie, le programme devrait appeler \fBendspent\fP() pour désallouer les ressources. .PP La fonction \fBfgetspent\fP() est similaire à \fBgetspent\fP(), mais utilise le flux spécifié plutôt que celui implicitement ouvert par \fBsetspent\fP(). .PP La fonction \fBsgetspent\fP() analyse la chaîne \fIs\fP fournie dans la structure \fIspwd\fP. .PP La fonction \fBputspent\fP() écrit le contenu de la structure \fIspwd\fP \fI*p\fP fournie sous forme d'une ligne de texte au format du fichier des mots de passe cachés dans le \fIflux\fP. Les entrées chaînes de valeur \fBNULL\fP et les entrées numériques de valeur \fB\-1\fP sont écrites comme des chaînes vides. .PP La fonction \fBlckpwdf\fP() 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 \fB0\fP si elle y arrive ou \fB\-1\fP si elle échoue (le verrou n'a pas pu être obtenu dans les 15\ secondes). La fonction \fBulckpwdf\fP() 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 \fBlckpwdf\fP() remarqueront le verrou. .PP .\" Also in libc5 .\" SUN doesn't have sgetspent() C'étaient les routines qui composaient l'API originale «\ shadow\ ». Elles sont largement disponibles. .SS "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 \fBgetspnam_r\fP() est équivalente à la fonction \fBgetspnam\fP(), mais enregistre la structure des mots de passe cachés trouvée dans l'espace pointé par \fIspbuf\fP. Cette structure des mots de passe cachés contient des pointeurs vers des chaînes qui sont stockées dans le \fItampon\fP de taille \fItaille_tampon\fP. Un pointeur vers le résultat (en cas de réussite) ou \fBNULL\fP (si aucune entrée n'a été trouvée ou si une erreur est survenue) est stocké dans \fI*spbufp\fP. .PP Les fonctions \fBgetspent_r\fP(), \fBfgetspent_r\fP() et \fBsgetspent_r\fP() sont analogues à leurs homologues non réentrantes. .PP .\" SUN doesn't have sgetspent_r() Certains systèmes non glibc ont également des fonctions portant ces noms, souvent avec des prototypes différents. .SS Structure La structure des mots de passe cachés est définie dans \fI\fP de la manière suivante\ : .PP .in +4n .EX 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é */ }; .EE .in .SH "VALEUR RENVOYÉE" Les routines qui renvoient un pointeur renvoient \fBNULL\fP s'il n'y a plus d'entrée disponible ou si une erreur est survenue pendant le traitement. Les routines qui ont un \fIint\fP comme valeur de retour renvoient \fB0\fP en cas de réussite. En cas d'erreur,\ \fB\-1\fP est renvoyé et \fIerrno\fP est définie pour préciser l'erreur. .PP 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. .PP Les fonctions réentrantes renvoient zéro si elles réussissent. Si elles échouent, une valeur d'erreur est renvoyée. .SH ERREURS .TP \fBEACCES\fP L'appelant n'a pas le droit d'accéder au fichier de mots de passe cachés. .TP \fBERANGE\fP Le tampon fourni est trop petit. .SH FICHIERS .TP \fI/etc/shadow\fP fichier base de données des mots de passe cachés .TP \fI/etc/.pwd.lock\fP fichier verrou .PP Le fichier d'inclusion \fI\fP définit la constante \fB_PATH_SHADOW\fP comme étant le chemin du fichier des mots de passe cachés. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Interface Attribut Valeur T{ .na .nh \fBgetspnam\fP() T} Sécurité des threads T{ .na .nh MT\-Unsafe race:getspnam locale T} T{ .na .nh \fBgetspent\fP() T} Sécurité des threads T{ .na .nh MT\-Unsafe race:getspent race:spentbuf locale T} T{ .na .nh \fBsetspent\fP(), \fBendspent\fP(), \fBgetspent_r\fP() T} Sécurité des threads T{ .na .nh MT\-Unsafe race:getspent locale T} T{ .na .nh \fBfgetspent\fP() T} Sécurité des threads T{ .na .nh MT\-Unsafe race:fgetspent T} T{ .na .nh \fBsgetspent\fP() T} Sécurité des threads T{ .na .nh MT\-Unsafe race:sgetspent T} T{ .na .nh \fBputspent\fP(), \fBgetspnam_r\fP(), \fBsgetspent_r\fP() T} Sécurité des threads T{ .na .nh MT\-Safe locale T} T{ .na .nh \fBlckpwdf\fP(), \fBulckpwdf\fP(), \fBfgetspent_r\fP() T} Sécurité des threads T{ .na .nh MT\-Safe T} .TE .sp 1 Dans le tableau ci\-dessus, \fIgetspent\fP dans \fIrace:getspent\fP signifie que si des fonctions parmi \fBsetspent\fP(), \fBgetspent\fP(), \fBgetspent_r\fP() ou \fBendspent\fP() sont utilisées en parallèle dans différents threads d'un programme, des situations de compétition entre données pourraient apparaître. .SH VERSIONS Beaucoup de systèmes fournissent une API similaire. .SH STANDARDS Aucun. .SH "VOIR AUSSI" \fBgetgrnam\fP(3), \fBgetpwnam\fP(3), \fBgetpwnam_r\fP(3), \fBshadow\fP(5) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Lucien Gentis . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .