table of contents
SHADOW(3) | Library Functions Manual | SHADOW(3) |
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@ix.netcom.com)