SHADOW(3) Library Calls SHADOW(3)

shadow, getspnam - routines d'utilisation des mots de passe cachés

#include <shadow.h>

struct spwd *getspent();

struct spwd *getspnam(char *name);

void setspent();

void endspent();

struct spwd *fgetspent(FILE *fp);

struct spwd *sgetspent(char *cp);

int putspent(struct spwd *p, FILE *fp);

int lckpwdf();

int ulckpwdf();

shadow manipulates the contents of the shadow password file, /etc/shadow. The structure in the #include file is:

struct spwd {
      char		*sp_namp; /* user login name */
      char		*sp_pwdp; /* encrypted password */
      long int		sp_lstchg; /* last password change */
      long int		sp_min; /* days until change allowed. */
      long int		sp_max; /* days before change required */
      long int		sp_warn; /* days warning for expiration */
      long int		sp_inact; /* days before account inactive */
      long int		sp_expire; /* date when account expires */
      unsigned long int	sp_flag; /* reserved for future use */
}

La signification de chaque champ est la suivante :

•sp_namp - pointeur vers le nom d'utilisateur terminé par un zéro binaire (« null-terminated »)
•sp_pwdp - pointeur vers le mot de passe terminé par un zéro binaire (« null-terminated »)
•sp_lstchg - nombre de jours, comptés à partir du 1er janvier 1970, depuis la dernière modification du mot de passe
•sp_min - nombre de jours pendant lesquels le mot de passe ne peut pas être changé
•sp_max - nombre maximal de jours avant que le mot de passe doive être changé
•sp_warn - nombre de jours avant que le mot de passe n'arrive en fin de validité pendant lesquels l'utilisateur est averti de la fin prochaine de la validité de son mot de passe
•sp_inact - nombre de jours après la fin de validité du mot de passe avant de considérer que le compte est inactif et soit désactivé
•sp_expire - nombre de jours, comptés à partir du 1er janvier 1970, après lesquels le compte sera désactivé
•sp_flag - réservé pour une utilisation future

getspent, getspname, fgetspent, and sgetspent each return a pointer to a struct spwd. getspent returns the next entry from the file, and fgetspent returns the next entry from the given stream, which is assumed to be a file of the proper format. sgetspent returns a pointer to a struct spwd using the provided string as input. getspnam searches from the current position in the file for an entry matching name.

setspent and endspent may be used to begin and end, respectively, access to the shadow password file.

The lckpwdf and ulckpwdf routines should be used to insure exclusive access to the /etc/shadow file. lckpwdf attempts to acquire a lock using pw_lock for up to 15 seconds. It continues by attempting to acquire a second lock using spw_lock for the remainder of the initial 15 seconds. Should either attempt fail after a total of 15 seconds, lckpwdf returns -1. When both locks are acquired 0 is returned.

Routines return NULL if no more entries are available or if an error occurs during processing. Routines which have int as the return value return 0 for success and -1 for failure.

Ces fonctions peuvent n'être utilisées que par le superutilisateur car l'accès au fichier de mots de passe cachés est restreint.

/etc/shadow

Informations sécurisées sur les comptes utilisateurs.

getpwent(3), shadow(5).

02/07/2024 shadow-utils 4.16.0