f93cf255d4
Closes #238 Update all files to list SPDX license shortname. Most files are BSD 3 clause license. The exceptions are: serge@sl ~/src/shadow$ git grep SPDX-License | grep -v BSD-3-Clause contrib/atudel:# SPDX-License-Identifier: BSD-4-Clause lib/tcbfuncs.c: * SPDX-License-Identifier: 0BSD libmisc/salt.c: * SPDX-License-Identifier: Unlicense src/login_nopam.c: * SPDX-License-Identifier: Unlicense src/nologin.c: * SPDX-License-Identifier: BSD-2-Clause src/vipw.c: * SPDX-License-Identifier: GPL-2.0-or-later Signed-off-by: Serge Hallyn <serge@hallyn.com>
130 lines
4.2 KiB
Groff
130 lines
4.2 KiB
Groff
.\" SPDX-FileCopyrightText: 1989 - 1993 Julianne Frances Haugh
|
|
.\" SPDX-FileCopyrightText: 1997 Kazuyoshi Furutaka
|
|
.\" SPDX-License-Identifier: BSD-3-Clause
|
|
.\"
|
|
.\" $Id$
|
|
.\"
|
|
.\" Translated Fri Feb 14 23:06:00 JST 1997
|
|
.\" by Kazuyoshi Furutaka <furutaka@Flux.tokai.jaeri.go.jp>
|
|
.\" updated Tue 17 Sep 2002 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
|
|
.\"
|
|
.TH SHADOW 3
|
|
.SH 名前
|
|
shadow \- 暗号化されたパスワードファイル用ルーチン
|
|
.SH 書式
|
|
.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 説明
|
|
.I shadow
|
|
は shadow パスワードファイル
|
|
\fI/etc/shadow\fR の内容を操作するルーチンである。
|
|
\fI#include\fR ファイルに与えられている構造体は以下の通り。
|
|
.sp
|
|
struct spwd {
|
|
.in +.5i
|
|
.br
|
|
char *sp_namp; /* user login name */
|
|
.br
|
|
char *sp_pwdp; /* encrypted password */
|
|
.br
|
|
long sp_lstchg; /* last password change */
|
|
.br
|
|
int sp_min; /* days until change allowed. */
|
|
.br
|
|
int sp_max; /* days before change required */
|
|
.br
|
|
int sp_warn; /* days warning for expiration */
|
|
.br
|
|
int sp_inact; /* days before account inactive */
|
|
.br
|
|
int sp_expire; /* date when account expires */
|
|
.br
|
|
int sp_flag; /* reserved for future use */
|
|
.br
|
|
.in \-.5i
|
|
}
|
|
.PP
|
|
各フィールドの意味は:
|
|
.sp
|
|
sp_namp \- ヌル終端されたユーザ名文字列へのポインタ
|
|
.br
|
|
sp_pwdp \- ヌル終端されたパスワード文字列へのポインタ
|
|
.br
|
|
sp_lstchg \- 1970年1月1日からパスワード最終変更日時迄の日数
|
|
.br
|
|
sp_min \- パスワード変更が出来るようになるまでの日数
|
|
.br
|
|
sp_max \- パスワードを変更しなくても良い日数
|
|
.br
|
|
sp_warn \- パスワードが期限切れになる前に、
|
|
期限切れが近づいている旨の警告をユーザに出す期間の日数
|
|
.br
|
|
sp_inact \- パスワードが期限切れになってから、
|
|
アカウントが不能となり使用できなくなるまでの日数
|
|
.br
|
|
sp_expire \- 1970年1月1からアカウントが使用不能となる日迄の日数
|
|
.br
|
|
sp_flag \- 将来使うときに向けて予約
|
|
.SH 説明
|
|
\fBgetspent\fR, \fBgetspname\fR, \fBfgetspent\fR, \fBsgetspent\fR
|
|
は、それぞれ \fBstruct spwd\fR へのポインタを返す。
|
|
\fBgetspent\fR はファイルから次のエントリを、
|
|
\fBfgetspent\fR は指定されたストリーム
|
|
(正しい書式のファイルとみなされる)
|
|
から次のエントリを返す。
|
|
\fBsgetspent\fR は入力として与えられた文字列を用いて
|
|
\fBstruct spwd\fR へのポインタを返す。
|
|
\fBgetspnam\fR はファイル中の現在の位置から
|
|
\fBname\fR にマッチするエントリを探す。
|
|
.PP
|
|
\fBsetspent\fR は
|
|
shadow パスワードファイルへのアクセスを開始するために、
|
|
\fBendspent\fR は終了するために用いられる。
|
|
.PP
|
|
\fI/etc/shadow\fR ファイルに対する排他的なアクセスを保証したい場合には、
|
|
\fBlckpwdf\fR ルーチンと \fBulckpwdf\fR ルーチンを用いる。
|
|
\fBlckpwdf\fR は \fBpw_lock\fR を用いて最大 15 秒間ロックを取得しようとする。
|
|
そして最初の 15 秒の残りの間、
|
|
\fBspw_lock\fR によって二度目のロックをしようと試み続ける。
|
|
計 15 秒間の間にいずれかの試みが失敗した場合は、
|
|
\fBlckpwdf\fR は \-1 を返す。
|
|
いずれのロックも成功した場合は 0 が返される。
|
|
.SH 返り値
|
|
これらのルーチンは、エントリが残っていない場合や、
|
|
処理の過程でエラーが発生した場合には NULL を返す。
|
|
返り値が \fBint\fR であるルーチンは、
|
|
成功したら 0 を、失敗したら \-1 を返す。
|
|
.SH 警告
|
|
shadowされたパスワードファイルへのアクセスは制限されているので、
|
|
これらのルーチンはスーパーユーザだけが利用できる。
|
|
.SH ファイル
|
|
\fI/etc/shadow\fR \- 暗号化されたユーザパスワード
|
|
.SH 関連項目
|
|
.BR getpwent (3),
|
|
.BR shadow (5)
|
|
.SH 著者
|
|
Julianne Frances Haugh (julie78787@gmail.com)
|