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
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.