Manpages

NAZWA

shadow − procedury zakodowanego pliku haseł

SKŁADNIA

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

OPIS

shadow operuje na zawartości dodatkowego pliku haseł (shadow) /etc/shadow. Plik #include opisuje strukturę

struct spwd {

char

*sp_namp; /* nazwa użytkownika (login) */

char

*sp_pwdp; /* zakodowane hasło */

long

sp_lstchg; /* ostatnia zmiana hasła */

int

sp_min; /* dni do dozwolonej zmiany */

int

sp_max; /* dni przed wymaganą zmianą */

int

sp_warn; /* dni ostrzeżenia o wygaśnięciu */

int

sp_inact; /* dni przed wyłączeniem konta */

int

sp_expire; /* data ważności konta */

int

sp_flag; /* zarezerwowane do przyszłego użytku */

}

Znaczenie poszczególnych pól:

sp_namp − wskaźnik do zakończonej przez nul nazwy użytkownika.
sp_pwdp − wskaźnik do zakończonego nul hasła.
sp_lstchg − dni od 1 stycznia 1970; data ostatniej zmiany hasła.
sp_min − dni, przed upływem których hasło nie może być zmienione.
sp_max − dni, po których hasło musi być zmienione.
sp_warn − dni przed datą upływu ważności hasła, od których użytkownik jest ostrzegany od nadchodzącym terminie ważności.
sp_inact − dni po upłynięciu ważności konta, po których konto jest uważane za nieaktywne i wyłączane.
sp_expire − dni od 1 stycznia 1970, data gdy konto zostanie wyłączone.
sp_flag − zarezerwowane do przyszłego użytku.

OPIS

getspent, getspname, fgetspent i sgetspent zwracają wskaźnik do struct spwd. getspent zwraca następną pozycję w pliku, zaś fgetspent następną pozycję z podanego strumienia. Zakłada się, że strumień ten jest plikiem o poprawnym formacie. sgetspent zwraca wskaźnik do struct spwd używając jako wejścia dostarczonego łańcucha. getspnam wyszukuje od bieżącej pozycji w pliku pozycji pasującej do name.

setspent i endspent mogą zostać użyte do odpowiednio, rozpoczęcia i zakończenia dostępu do chronionego pliku haseł (shadow).

Do zapewnienia wyłącznego dostępu do pliku /etc/shadow powinny być używane procedury lckpwdf i ulckpwdf. lckpwdf przez 15 sekund usiłuje uzyskać blokadę przy pomocy pw_lock. Kontynuuje próbę uzyskania drugiej blokady przy pomocy spw_lock przez czas pozostały z początkowych 15 sekund. Jeżeli po upływie 15 sekund którakolwiek z tych prób zawiedzie, to lckpwdf zwraca −1. Jeżeli uzyskano obie blokady, to zwracane jest 0.

DIAGNOSTYKA

Jeżeli nie ma dalszych pozycji lub podczas przetwarzania pojawi się błąd, to procedury zwracają NULL. Procedury zwracające wartość typu int zwracają 0 w przypadku powodzenia a −1 dla porażki.

PRZESTROGI

Procedury te mogą być używane wyłącznie przez superużytkownika, gdyż dostęp do dodatkowego, chronionego pliku haseł jest ograniczony.

PLIKI

/etc/shadow - zakodowane hasła użytkowników

ZOBACZ TAKŻE

getpwent(3), shadow(5)

AUTOR

Julianne Frances Haugh (jockgrrl [AT] ix.com)

INFORMACJE O TŁUMACZENIU

Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika.