SHADOW(3)

NOME
shadow - gestione del file delle password cifrate

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

DESCRIZIONE
shadow manipola il contenuto del file delle shadow password, /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 a partire dal 1 gennaio 1970 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 in cui 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 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 shadow password.

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 shadow password è riservato.

FILE
/etc/shadow    - informazioni sicure sugli account degli utenti

VEDERE ANCHE
getpwent(3), shadow(5)

AUTORE
Julianne Frances Haugh (jockgrrl@ix.netcom.com)

TRADUZIONE
Giuseppe Sacco <eppesuig@debian.org>, 2005
Danilo Piazzalunga <danilopiazza@libero.it>, 2005