File: hosts_access.3

package info (click to toggle)
manpages-ja 0.5.0.0.20120606-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 25,964 kB
  • sloc: perl: 161; makefile: 116
file content (109 lines) | stat: -rw-r--r-- 5,340 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
.\"WORD:	structure	ストラクチャ
.TH HOSTS_ACCESS 3
.SH 名前
hosts_access, hosts_ctl, request_init, request_set \- 
アクセスコントロールライブラリ
.SH 書式
.nf
#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;
.fi
.SH 説明
このドキュメントで説明されるルーチンは \fIlibwrap.a\fR ライブラ
リの一部である。このライブラリは、特定のルールに従うアクセスコン
トロール書式を提供する。このアクセスコントロールには、ルールに合
致した場合、シェルコマンドが実行できるというオプション機能も含ま
れている。
.PP
request_init() は、クライアントのリクエストについての情報のスト
ラクチャを初期化する。request_set() は、すでに初期化されているリ
クエストのストラクチャを更新するためにつかう。どちらの関数も 
key-value という 変数-値(variable-length) のペアによるリストを得
て、最初の引き数(first argument)を返す。引き数のリストはゼロの値
を持つ key で終る。すべての文字列の値を持つ引き数(argument)はコピーされる。
有効な key (そして対応する値のタイプ) は以下のとおり:
.IP "RQ_FILE (int)"
リクエストと関連付けされるファイルディスクリプタ
.IP "RQ_CLIENT_NAME (char *)"
クライアントホスト名
.IP "RQ_CLIENT_ADDR (char *)"
クライアントのネットワークアドレスの名称(a printable representation)
.IP "RQ_CLIENT_SIN (struct sockaddr_in *)"
クライアントのネットワークアドレス内部での名称(an internal
printable representation)とポート番号。ストラクチャの中身はコピー
されない。
.IP "RQ_SERVER_NAME (char *)"
エンドポイントにあるサーバのホスト名
.IP "RQ_SERVER_ADDR (char *)"
エンドポイントにあるサーバアドレスの名称(a printable representation)
.IP "RQ_SERVER_SIN (struct sockaddr_in *)"
エンドポイントにあるサーバのネットワークアドレス内部での名称(an
internal printable representation)とポート番号。ストラクチャの中
身はコピーされない。
.IP "RQ_DAEMON (char *)"
サーバホストで動作するデーモンの名前
.IP "RQ_USER (char *)"
リクエストを発行したユーザのクライアントホストにおける名称
.PP
hosts_access() は \fIhosts_access(5)\fR のマニュアルページで
解説されている、アクセスコントロールテーブルを参照する。
内部のエンドポイント情報が有効であった場合、
要求に応じてホスト名とクライアントユーザ名の探査が行われ、
リクエスト・ストラクチャをキャッシュする。
もしアクセスが拒否された場合、hosts_access() はゼロを返す。
.PP
hosts_ctl() は request_init() と hosts_access() をさらに使いやす
いインターフェースによって包むラッパーである (自動的にクライアン
トのユーザ名を探査するには、充分な機能とはいえないけれども)。
クライアントホストアドレス、クライアントホスト名、そしてユーザ名
に対する引き数は、有効なデータまたは STRING_UNKNOWN を利用するこ
と。もしアクセスが拒否された場合、hosts_ctl() はゼロを返す。
.PP
変数 \fIallow_severity\fR と \fIdeny_severity\fR は受諾または拒
否するリクエストをどのように記録するかを指示するものである。
これらは呼び出す側によって規定されるべきものであり、アクセスコン
トロールテーブルに示されるルールによっては変更される可能性がある。
.SH 返り値
問題があれば syslog デーモンを通じて報告される。
.SH 関連項目
hosts_access(5), ホストアクセスコントロールファイルの書式
hosts_options(5), ホストアクセスコントロールの拡張書式
.SH ファイル
/etc/hosts.allow, /etc/hosts.deny, アクセスコントロールテーブル
.SH バグ
hosts_access() は strtok() ライブラリ関数を使っている。
これにより、strtok() をあてにしている他のコードと干渉が
おきるかもしれない。
.SH 著者
.na
.nf
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 1.8 96/02/11 17:01:26
.\" -----------------------------------------------------------------------
.\" Translation of hosts_access.8
.\" Japanese Version Copyright (c) 1997 FUKUSHIMA Osamu
.\"         all rights reserved.
.\" Translated: Sat Feb 7  10:00:00 1997 GMT
.\"         by FUKUSHIMA Osamu <fuku@amorph.rim.or.jp>
.\" -----------------------------------------------------------------------