Provided by: manpages-ja-dev_0.5.0.0.20161015+dfsg-1_all 

名前
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_SU 指定されたユーザの実ユーザ ID に切り替えようとしている、 現在の実ユーザ ID に対して認証を行う。 -s オプションの後にユーザ名を指定して認証プログラムが呼び出される。 PW_LOGIN 新たにログインセッションを作り出そうとしている 指定されたユーザを認証する。 -l オプションの後に ユーザ名を指定して認証プログラムが呼び出される。 PW_ADD 指定されたユーザに対して新たなエントリを作る。 これにより、認証プログラムは新規ユーザ用の記憶領 域を準備できる。 -a オプションの後にユーザ名を指定して認証プログラムが呼び出される。 PW_CHANGE 指定されたユーザの既存のエントリを変更する。 これにより、認証プログラムは既存のユーザの認証情報 を変更できる。 -c オプションの後にユーザ名を指定して認証プログラムが呼び出される。 PW_DELETE 指定されたユーザの認証情報を消去する。 これにより、認証プログラムは今後認証することが無くなった ユーザ用の記憶領域を再利用できる。 -d オプションの後にユーザ名を指定して認証プログラムが呼び出 される。 PW_TELNET telnet コマンドを用いてシステムに接続して来たユーザの認証を行う。 -t オプションの後にユーザ名を 指定して認証プログラムが呼び出される。 PW_RLOGIN rlogin コマンドを用いてシステムに接続して来たユーザの認証を行う。 -r オプションの後にユーザ名を 指定して認証プログラムが呼び出される。 PW_FTP ftp コマンドを用いてシステムに接続して来たユーザの認証を行う。 -f オプションの後にユーザ名を指 定して認証プログラムが呼び出される。 標準のファイルディスクリプタを用いてユーザと通信することは できない。 標準の入力ファイルディスクリプタは親プロセスに接続されており、 他の二つの出力ファイ ルディスクリプタは /dev/null に接続されている。 pw_auth 関数はファイルディスクリプタ 0 を用いて 一行のデータを認証プログラムにパイプする。 PW_REXEC rexec コマンドを用いてシステムに接続して来たユーザの認証を行う。 -x オプションの後にユーザ名を 指定して認証プログラムが呼び出される。 標準のファイルディスクリプタを用いてユーザと通信すること はできない。 標準の入力ファイルディスクリプタは親プロセスに接続されており、 他の二つの出力ファ イルディスクリプタは /dev/null に接続されている。 pw_auth 関数はファイルディスクリプタ 0 を用い て一行のデータを認証プログラムにパイプする。 最後の引数は 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) PWAUTH(3)