.\" $Id: pw_auth.3,v 1.5 2005/04/05 19:08:55 kloczek Exp $ .\" Copyright 1992 - 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. .\" .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka .\" all rights reserved. .\" Translated Fri Feb 14 23:06:00 JST 1997 .\" by Kazuyoshi Furutaka .\" updated Tue 17 Sep 2002 by NAKANO Takeo .\" .TH PWAUTH 3 .SH 名前 pwauth \- 管理者の設定したパスワード認証ルーチン .SH 書式 .B #include .PP .B int pw_auth (char .I *command, .B char .I *user, .B int .I reason, .B char .IB *input) ; .SH 説明 .B pw_auth は、与えられたユーザに対して管理者が設定した関数を呼び出す。 .PP \fIcommand\fR は認証プログラムの名前である。 これはパスワードファイルに記されたそのユーザの情報から決定される。 この文字列はセミコロンで区切られた一つ以上の実行ファイル名からなる。 各々のプログラムは記されている順に実行される。 以下に記述するそれぞれの .I reason に応じて、コマンドライン引数が与えられる。 .PP \fIuser\fR は認証されるユーザ名で、 \fI/etc/passwd\fR ファイル中のものに対応する。 ユーザエントリはユーザ名で指定される。 したがってユーザ ID には重なっているものがあっても良く、 そのユーザ ID に結びつけられた異なるユーザ名の各々に対して、 異なる認証プログラムと認証情報とを指定できる。 .PP 使用できる各々の認証方法は、異なる方法で取り扱われることがある。 特に記されていない場合は、標準的な ファイルディスクリプタ 0, 1, 2 を使ってユーザと通信できる。 実ユーザIDを用いて、 認証を要請したユーザの身元 (identity) を決めることもできる。 \fIreason\fR は以下のいずれかである。 .IP \fBPW_SU\fR 1i 指定されたユーザの実ユーザ ID に切り替えようとしている、 現在の実ユーザ ID に対して認証を行う。 \fB\-s\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 .IP \fBPW_LOGIN\fR 1i 新たにログインセッションを作り出そうとしている 指定されたユーザを認証する。 \fB\-l\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 .IP \fBPW_ADD\fR 1i 指定されたユーザに対して新たなエントリを作る。 これにより、認証プログラムは新規ユーザ用の記憶領域を準備できる。 \fB\-a\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 .IP \fBPW_CHANGE\fR 1i 指定されたユーザの既存のエントリを変更する。 これにより、認証プログラムは既存のユーザの認証情報を変更できる。 \fB\-c\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 .IP \fBPW_DELETE\fR 1i 指定されたユーザの認証情報を消去する。 これにより、認証プログラムは今後認証することが無くなった ユーザ用の記憶領域を再利用できる。 \fB\-d\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 .IP \fBPW_TELNET\fR 1i \fBtelnet\fR コマンドを用いてシステムに接続して来たユーザの認証を行う。 \fB\-t\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 .IP \fBPW_RLOGIN\fR 1i \fBrlogin\fR コマンドを用いてシステムに接続して来たユーザの認証を行う。 \fB\-r\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 .IP \fBPW_FTP\fR 1i \fBftp\fR コマンドを用いてシステムに接続して来たユーザの認証を行う。 \fB\-f\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 標準のファイルディスクリプタを用いてユーザと通信することはできない。 標準の入力ファイルディスクリプタは親プロセスに接続されており、 他の二つの出力ファイルディスクリプタは \fI/dev/null\fR に接続されている。 \fBpw_auth\fR 関数はファイルディスクリプタ 0 を用いて一行のデータを認証プログラムにパイプする。 .IP \fBPW_REXEC\fR 1i \fIrexec\fR コマンドを用いてシステムに接続して来たユーザの認証を行う。 \fB\-x\fR オプションの後にユーザ名を指定して認証プログラムが呼び出される。 標準のファイルディスクリプタを用いてユーザと通信することはできない。 標準の入力ファイルディスクリプタは親プロセスに接続されており、 他の二つの出力ファイルディスクリプタは \fI/dev/null\fR に接続されている。 \fBpw_auth\fR 関数はファイルディスクリプタ 0 を用いて一行のデータを認証プログラムにパイプする。 .PP 最後の引数は .B PW_FTP 及び .B PW_REXEC の方法で用いられる認証データであり、 一行のテキストとして扱われ、認証プログラムにパイプされる。 .I reason が .B PW_CHANGE のときは、ユーザ名が変更される場合には \fIinput\fR の内容は以前用いていたユーザ名である。 .SH 警告 この関数は実際のセッションを作り出すことはしない。 指定されたユーザのセッションを作り出す事を許可するか否かを答えるだけである。 .PP まだネットワークオプションはテストしていない。 .SH 返り値 \fBpw_auth\fR 関数は、認証プログラムが終了コード 0 で終了した場合は 0 を、 それ以外の場合はゼロ以外の値を返す。 .SH 関連項目 .BR login (1), .BR passwd (1), .BR su (1), .BR useradd (8), .BR userdel (8), .BR usermod (8) .SH 著者 Julianne Frances Haugh (jockgrrl@ix.netcom.com)