PWAUTH(3) | Library Functions Manual | PWAUTH(3) |
pwauth - 管理者の設定したパスワード認証ルーチン
#include <pwauth.h>
int pw_auth (char *command, char *user, int reason, char *input);
pw_auth は、与えられたユーザに対して管理者が設定した関数を呼び出す。
command は認証プログラムの名前である。 これはパスワードファイルに記されたそのユーザの情報から決定される。 この文字列はセミコロンで区切られた一つ以上の実行ファイル名からなる。 各々のプログラムは記されている順に実行される。 以下に記述するそれぞれの reason に応じて、コマンドライン引数が与えられる。
user は認証されるユーザ名で、 /etc/passwd ファイル中のものに対応する。 ユーザエントリはユーザ名で指定される。 したがってユーザ ID には重なっているものがあっても良く、 そのユーザ ID に結びつけられた異なるユーザ名の各々に対して、 異なる認証プログラムと認証情報とを指定できる。
使用できる各々の認証方法は、異なる方法で取り扱われることがある。 特に記されていない場合は、標準的な ファイルディスクリプタ 0, 1, 2 を使ってユーザと通信できる。 実ユーザIDを用いて、 認証を要請したユーザの身元 (identity) を決めることもできる。 reason は以下のいずれかである。
最後の引数は PW_FTP 及び PW_REXEC の方法で用いられる認証データであり、 一行のテキストとして扱われ、認証プログラムにパイプされる。 reason が PW_CHANGE のときは、ユーザ名が変更される場合には input の内容は以前用いていたユーザ名である。
この関数は実際のセッションを作り出すことはしない。 指定されたユーザのセッションを作り出す事を許可するか否かを答えるだけである。
まだネットワークオプションはテストしていない。
pw_auth 関数は、認証プログラムが終了コード 0 で終了した場合は 0 を、 それ以外の場合はゼロ以外の値を返す。
login(1), passwd(1), su(1), useradd(8), userdel(8), usermod(8)
Julianne Frances Haugh (jockgrrl@ix.netcom.com)