plucky (3) hosts_access.3.gz

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

名前

       hosts_access, hosts_ctl, request_init, request_set - アクセスコントロールライブラリ

書式

       #include "tcpd.h"

       extern int allow_severity;
       extern int deny_severity;

       struct request_info *request_init(request, key, value, ..., 0)
       struct request_info *request;

       struct request_info *request_set(request, key, value, ..., 0)
       struct request_info *request;

       int hosts_access(request)
       struct request_info *request;

       int hosts_ctl(daemon, client_name, client_addr, client_user)
       char *daemon;
       char *client_name;
       char *client_addr;
       char *client_user;

説明

       このドキュメントで説明されるルーチンは  libwrap.a ライブラ リの一部である。このライブラリは、特定のルール
       に従うアクセスコン トロール書式を提供する。このアクセスコントロールには、ルールに合  致した場合、シェルコ
       マンドが実行できるというオプション機能も含ま れている。

       request_init()    は、クライアントのリクエストについての情報のスト    ラクチャを初期化する。request_set()
       は、すでに初期化されているリ クエストのストラクチャを更新するためにつかう。どちらの関数も key-value  とい
       う 変数-値(variable-length) のペアによるリストを得 て、最初の引き数(first argument)を返す。引き数のリスト
       はゼロの値 を持つ key で終る。すべての文字列の値を持つ引き数(argument)はコピーされる。 有効な key (そして
       対応する値のタイプ) は以下のとおり:

       RQ_FILE (int)
              リクエストと関連付けされるファイルディスクリプタ

       RQ_CLIENT_NAME (char *)
              クライアントホスト名

       RQ_CLIENT_ADDR (char *)
              クライアントのネットワークアドレスの名称(a printable representation)

       RQ_CLIENT_SIN (struct sockaddr_in *)
              クライアントのネットワークアドレス内部での名称(an   internal  printable  representation)とポート番
              号。ストラクチャの中身はコピー されない。

       RQ_SERVER_NAME (char *)
              エンドポイントにあるサーバのホスト名

       RQ_SERVER_ADDR (char *)
              エンドポイントにあるサーバアドレスの名称(a printable representation)

       RQ_SERVER_SIN (struct sockaddr_in *)
              エンドポイントにあるサーバのネットワークアドレス内部での名称(an         internal         printable
              representation)とポート番号。ストラクチャの中 身はコピーされない。

       RQ_DAEMON (char *)
              サーバホストで動作するデーモンの名前

       RQ_USER (char *)
              リクエストを発行したユーザのクライアントホストにおける名称

       hosts_access() は hosts_access(5) のマニュアルページで 解説されている、アクセスコントロールテーブルを参照
       する。 内部のエンドポイント情報が有効であった場合、  要求に応じてホスト名とクライアントユーザ名の探査が行
       われ、 リクエスト・ストラクチャをキャッシュする。 もしアクセスが拒否された場合、hosts_access() はゼロを返
       す。

       hosts_ctl() は request_init() と hosts_access() をさらに使いやす いインターフェースによって包むラッパーで
       ある (自動的にクライアン トのユーザ名を探査するには、充分な機能とはいえないけれども)。 クライアントホスト
       アドレス、クライアントホスト名、そしてユーザ名 に対する引き数は、有効なデータまたは STRING_UNKNOWN を利用
       するこ と。もしアクセスが拒否された場合、hosts_ctl() はゼロを返す。

       変数  allow_severitydeny_severity は受諾または拒 否するリクエストをどのように記録するかを指示するもの
       である。 これらは呼び出す側によって規定されるべきものであり、アクセスコン  トロールテーブルに示されるルー
       ルによっては変更される可能性がある。

返り値

       問題があれば syslog デーモンを通じて報告される。

関連項目

       hosts_access(5),  ホストアクセスコントロールファイルの書式 hosts_options(5), ホストアクセスコントロールの
       拡張書式

ファイル

       /etc/hosts.allow, /etc/hosts.deny, アクセスコントロールテーブル

バグ

       hosts_access() は strtok() ライブラリ関数を使っている。 これにより、strtok() をあてにしている他のコードと
       干渉が おきるかもしれない。

著者

       Wietse Venema (wietse@wzv.win.tue.nl)
       Department of Mathematics and Computing Science
       Eindhoven University of Technology
       Den Dolech 2, P.O. Box 513,
       5600 MB Eindhoven, The Netherlands

                                                                                                 HOSTS_ACCESS(3)