147 lines
4.9 KiB
Groff
147 lines
4.9 KiB
Groff
.\" $Id: shadow.3,v 1.3 2001/01/25 10:43:54 kloczek Exp $
|
|
.\" {PTM/WK/1999-09-16}
|
|
.\" Copyright 1989 - 1993, Julianne Frances Haugh
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.TH SHADOW 3
|
|
.SH NAZWA
|
|
shadow \- procedury zakodowanego pliku hase³
|
|
.SH SK£ADNIA
|
|
.B #include <shadow.h>
|
|
.PP
|
|
.B struct spwd *getspent();
|
|
.PP
|
|
.B struct spwd *getspnam(char
|
|
.IB *name );
|
|
.PP
|
|
.B void setspent();
|
|
.PP
|
|
.B void endspent();
|
|
.PP
|
|
.B struct spwd *fgetspent(FILE
|
|
.IB *fp );
|
|
.PP
|
|
.B struct spwd *sgetspent(char
|
|
.IB *cp );
|
|
.PP
|
|
.B int putspent(struct spwd
|
|
.I *p,
|
|
.B FILE
|
|
.IB *fp );
|
|
.PP
|
|
.B int lckpwdf();
|
|
.PP
|
|
.B int ulckpwdf();
|
|
.SH OPIS
|
|
.I shadow
|
|
operuje na zawarto¶ci dodatkowego pliku hase³ (shadow) \fI/etc/shadow\fR.
|
|
Plik \fI#include\fR opisuje strukturê
|
|
.sp
|
|
struct spwd {
|
|
.in +.4i
|
|
.br
|
|
char *sp_namp; /* nazwa u¿ytkownika (login) */
|
|
.br
|
|
char *sp_pwdp; /* zakodowane has³o */
|
|
.br
|
|
long sp_lstchg; /* ostatnia zmiana has³a */
|
|
.br
|
|
int sp_min; /* dni do dozwolonej zmiany */
|
|
.br
|
|
int sp_max; /* dni przed wymagan± zmian± */
|
|
.br
|
|
int sp_warn; /* dni ostrze¿enia o wyga¶niêciu */
|
|
.br
|
|
int sp_inact; /* dni przed wy³±czeniem konta */
|
|
.br
|
|
int sp_expire; /* data wa¿no¶ci konta */
|
|
.br
|
|
int sp_flag; /* zarezerwowane do przysz³ego u¿ytku */
|
|
.br
|
|
.in -.5i
|
|
}
|
|
.PP
|
|
Znaczenie poszczególnych pól:
|
|
.sp
|
|
sp_namp \- wska¼nik do zakoñczonej przez nul nazwy u¿ytkownika.
|
|
.br
|
|
sp_pwdp \- wska¼nik do zakoñczonego nul has³a.
|
|
.br
|
|
sp_lstchg \- dni od 1 stycznia 1970; data ostatniej zmiany has³a.
|
|
.br
|
|
sp_min \- dni, przed up³ywem których has³o nie mo¿e byæ zmienione.
|
|
.br
|
|
sp_max \- dni, po których has³o musi byæ zmienione.
|
|
.br
|
|
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.
|
|
.br
|
|
sp_inact \- dni po up³yniêciu wa¿no¶ci konta, po których konto jest
|
|
uwa¿ane za nieaktywne i wy³±czane.
|
|
.br
|
|
sp_expire \- dni od 1 stycznia 1970, data gdy konto zostanie
|
|
wy³±czone.
|
|
.br
|
|
sp_flag \- zarezerwowane do przysz³ego u¿ytku.
|
|
.SH OPIS
|
|
\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR i \fBsgetspent\fR
|
|
zwracaj± wska¼nik do \fBstruct spwd\fR.
|
|
\fBgetspent\fR zwraca nastêpn± pozycjê w pliku, za¶ \fBfgetspent\fR
|
|
nastêpn± pozycjê z podanego strumienia. Zak³ada siê, ¿e strumieñ
|
|
ten jest plikiem o poprawnym formacie.
|
|
\fBsgetspent\fR zwraca wska¼nik do \fBstruct spwd\fR u¿ywaj±c jako
|
|
wej¶cia dostarczonego ³añcucha.
|
|
\fBgetspnam\fR wyszukuje od bie¿±cej pozycji w pliku pozycji pasuj±cej
|
|
do \fBname\fR.
|
|
.PP
|
|
\fBsetspent\fR i \fBendspent\fR mog± zostaæ u¿yte do odpowiednio,
|
|
rozpoczêcia i zakoñczenia dostêpu do chronionego pliku hase³ (shadow).
|
|
.PP
|
|
Do zapewnienia wy³±cznego dostêpu do pliku \fI/etc/shadow\fR powinny
|
|
byæ u¿ywane procedury \fBlckpwdf\fR i \fBulckpwdf\fR.
|
|
\fBlckpwdf\fR przez 15 sekund usi³uje uzyskaæ blokadê przy pomocy
|
|
\fBpw_lock\fR.
|
|
Kontynuuje próbê uzyskania drugiej blokady przy pomocy \fBspw_lock\fR
|
|
przez czas pozosta³y z pocz±tkowych 15 sekund.
|
|
Je¿eli po up³ywie 15 sekund którakolwiek z tych prób zawiedzie,
|
|
to \fBlckpwdf\fR zwraca -1.
|
|
Je¿eli uzyskano obie blokady, to zwracane jest 0.
|
|
.SH DIAGNOSTYKA
|
|
Je¿eli nie ma dalszych pozycji lub podczas przetwarzania pojawi siê b³±d,
|
|
to procedury zwracaj± NULL.
|
|
Procedury zwracaj±ce warto¶æ typu \fBint\fR zwracaj± 0 w przypadku powodzenia
|
|
a -1 dla pora¿ki.
|
|
.SH PRZESTROGI
|
|
Procedury te mog± byæ u¿ywane wy³±cznie przez superu¿ytkownika, gdy¿ dostêp
|
|
do dodatkowego, chronionego pliku hase³ jest ograniczony.
|
|
.SH PLIKI
|
|
.IR /etc/shadow " - zakodowane has³a u¿ytkowników"
|
|
.SH ZOBACZ TAK¯E
|
|
.BR getpwent (3),
|
|
.BR shadow (5)
|
|
.SH AUTOR
|
|
Julianne Frances Haugh (jockgrrl@ix.netcom.com)
|