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

名前

       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 の方法で用いられる認証データであり、 一行のテキストとし
       て扱われ、認証プログラムにパイプされる。 reasonPW_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)