SHADOW(3)

NOME
shadow, getspnam - routine per file delle password cifrate

SINTASSI

#include <shadow.h>

struct spwd *getspent();

struct spwd *getspnam(char*nome);

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();

DESCRIZIONE

shadow manipola il contenuto del file delle password shadow, /etc/shadow. La struttura nel file #include è la seguente:

    struct spwd {
          char		*sp_namp; /* login dell'utente */
          char		*sp_pwdp; /* password cifrata */
          long int		sp_lstchg; /* ultimo cambio della password */
          long int		sp_min; /* giorni minimi tra i cambi */
          long int		sp_max; /* giorni massimi tra i cambi */
          long int		sp_warn; /* giorni di preavviso */
          long int		sp_inact; /* giorni di inattività */
          long int		sp_expire; /* data di scadenza dell'account */
          unsigned long int	sp_flag; /* riservato per uso futuro */
    }

Ciascun campo significa:

    • sp_namp - puntatore a una stringa null-terminated che contiene il nome utente.

    • sp_pwdp - puntatore a una stringa null-terminated che contiene la password.

    • sp_lstchg - giorni trascorsi dal 1 gennaio 1970 al momento in cui la password è stata cambiata l'ultima volta.

    • sp_min - giorni prima dei quali la password non può essere cambiata.

    • sp_max - giorni dopo i quali la password deve essere cambiata.

    • sp_warn - giorni prima della scadenza della password in cui l'utente viene avvertito.

    • sp_inact - giorni dopo la scadenza della password dopo i quali l'account viene considerato inattivo e disabilitato.

    • sp_expire - giorni a partire dal 1 gennaio 1970 dopo i quali l'account viene disabilitato.

    • sp_flag - riservato per uso futuro.

DESCRIZIONE

getspent, getspname, fgetspent e sgetspent restituiscono tutte un puntatore a uno struct spwd. getspent restituisce la voce successiva nel file, fgetspent la voce successiva nello stream specificato, che si suppone sia un file nel formato corretto. sgetspent restituisce un puntatore a uno struct spwd usando come input la stringa fornita. getspnam cerca una voce che corrisponde a name partendo dalla posizione corrente nel file.

setspent e endspent sono usate rispettivamente per iniziare e terminare l'accesso al file delle password shadow.

Le funzioni lckpwdf e ulckpwdf si usano per garantire l'accesso esclusivo al file /etc/shadow. lckpwdf prova ad acquisire il lock tramite pw_lock per un massimo di 15 secondi, dopodiché tenta di ottenere un secondo lock usando spw_lock per il tempo che rimane dei 15 secondi iniziali. Se anche uno solo dei due tentativi fallisce dopo un totale di 15 secondi, lckpwdf restituisce -1, mentre restituisce 0 se riesce ad acquisire entrambi i lock.

DIAGNOSTICA

Le funzioni restituiscono NULL se non ci sono altre voci disponibili o se si verifica un errore durante l'elaborazione. Le funzioni di tipo int restituiscono 0 in caso di successo e -1 in caso di errore.

AVVISI/CAVEAT

Queste funzioni possono essere usate solo dall'amministratore, perché l'accesso al file delle password shadow è riservato.

FILE

/etc/shadow
    Informazioni sicure sugli account utente.

VEDERE ANCHE

getpwent(3), shadow(5).