EN JA
KRB5.CONF(5)
KRB5.CONF(5) FreeBSD File Formats Manual KRB5.CONF(5)

名称

krb5.confKerberos 5 のための設定ファイル

書式

#include < krb5.h>

解説

krb5.conf ファイルはいくつかのプログラムと同様に、Kerberos 5 ライブラリのためにいくつかの設定パラメータを指定します。

ファイルは多くのバインドを含んで、1 つ以上のセクションから成ります。それぞれのバインドの値は、他のバインドの文字列またはリストのどちらかを指定できます。文法は次のようになります:

file: 
 /* 空 */ 
 sections 
 
sections: 
 section sections 
 section 
 
section: 
 '[' section_name ']' bindings 
 
section_name: 
 STRING 
 
bindings: 
 binding bindings 
 binding 
 
binding: 
 name '=' STRING 
 name '=' '{' bindings '}' 
 
name: 
 STRING 

STRING は、1 つ以上の空白類でない文字から成ります。

このマニュアルページの後で指定される STRING は次の記法を使用します。

boolean
値は、yes/true または no/false を指定できます。
time
値は、年、月、日、時、分、秒のリストを指定できます。例: 1 month 2 days 30 min。単位が与えないなら、秒を想定します。
etypes
有効な暗号化タイプは次の通りです: des-cbc-crc, des-cbc-md4, des-cbc-md5, des3-cbc-sha1, arcfour-hmac-md5, aes128-cts-hmac-sha1-96 と aes256-cts-hmac-sha1-96 です。
address
アドレスは、IPv4 か IPv6 アドレスのどちらかを指定できます。

現在、認識されるセクションとバインドは次の通りです:

[appdefaults]
Kerberos アプリケーションに使用されるデフォルト値を指定します。利用者はアプリケーション、レルム (アドレス体系)、またはこれらの組み合わせ毎にデフォルトを指定することができます。優先順序は次の通りです:
  1. application realm option
  2. application option
  3. realm option
  4. option

サポートされているオプションは次の通りです:

forwardable = boolean
初期の資格証明を取得するとき、資格証明を転送可能にします。
proxiable = boolean
初期の資格証明を取得するとき、資格証明をプロキシ (代理) 可能にします。
no-addresses = boolean
初期の資格証明を取得するとき、アドレスの空集合のためにそれらを要求し、チケットをどんなアドレスからも有効にします。
ticket_lifetime = time
デフォルトのチケットの存続期間。
renew_lifetime = time
デフォルトの再生可能なチケットの存続期間。
encrypt = boolean
利用可能であるときに、暗号化を使用します。
forward = boolean
資格証明をリモートホスト ( rsh(1), telnet(1) などのための) に転送します。
[libdefaults]
default_realm = REALM
使用するデフォルトのレルム、また、これは利用者の“ローカルレルム”として知られています。デフォルトは、 krb5_get_host_realm( local hostname) の結果です。
allow_weak_crypto = boolean
は、いくつかある、使用されることを許可されたウィーク (weak) な暗号のアルゴリズムで、DES は、ウィーク (weak) と見なされます。
clockskew = time
時間比較するとき許容された最大の時間の差異 (秒単位)。デフォルトは、300 秒 (5 分) です。
kdc_timeout = time
kdc から応答を待つ最大の時間、デフォルトは、3 秒です。
v4_name_convert
v4_instance_resolve
これらは krb5_425_conv_principal(3) マニュアルページで説明されています。
capath = {
destination-realm = next-hop-realm
...
}
これは推奨されません、下記の capaths セクション参照。
default_cc_type = cctype
は、デフォルトの資格証明タイプを設定します。
default_cc_name = ccname
デフォルトの資格証明は、名前をキャッシュします。タイプのみを変更したいなら、 default_cc_type を使用します。文字列は、実行時に拡張された変数を含むことができます。現在、唯一のサポート変数は、現在のユーザ ID に拡張する %{uid} です。
default_etypes = etypes ...
使用されるデフォルトの暗号化タイプのリスト。 (デフォルト: allow_weak_crypto = TRUE なら、すべて enctype します。そうでなければ、単一の DES enctypes を除いて、すべての enctype します。) 訳注: enctype は、意味不明。
default_as_etypes = etypes ...
AS 要求で使用するデフォルトの暗号化タイプのリスト。 (デフォルト: default_etypes の値。)
default_tgs_etypes = etypes ...
TGS 要求で使用するデフォルトの暗号化タイプのリスト。 (デフォルト: default_etypes の値。)
default_etypes_des = etypes ...
DES 資格証明を要求するとき、使用されるデフォルトの暗号化タイプのリスト。
default_keytab_name = keytab
他が指定されていなければ、使用される keytab、デフォルトは、“FILE:/etc/krb5.keytab”です。
dns_lookup_kdc = boolean
KDC サービス位置を検索するために DNS SRV レコードを使用します。
dns_lookup_realm = boolean
ドメインからレルムのマッピングを検索するために DNS TXT レコードを使用します。
kdc_timesync = boolean
ローカルマシンと KDC の間の時間の差異の経過を追うように試み、次に、要求を発行するとき、それを補正します。
max_retries = number
各 KDC に接続しようと試みる最大の回数。
large_msg_size = number
小さい最大のメッセージサイズがあるプロトコルが、メッセージを KDC に送信するために使用可能と見なされない敷居。
ticket_lifetime = time
デフォルトのチケットの存続期間。
renew_lifetime = time
デフォルトの再生可能なチケットの存続期間。
forwardable = boolean
初期の資格証明を取得するとき、資格証明を転送可能にします。また、このオプションは、[レルム] セクションで有効です。
proxiable = boolean
初期の資格証明を取得するとき、資格証明をプロキシ (代理) 可能にします。また、このオプションは、[レルム] セクションで有効です。
verify_ap_req_nofail = boolean
有効にされるなら、ローカルキーに対して資格証明について確かめないことは、致命的なエラーです。アプリケーションはこれが働けるように対応するサービスキーを読み込むことができなければなりません。 su(1) のような、いくつかのアプリケーションはこのオプションを無条件に有効にします。
warn_pwexpire = time
パスワードの有効期限をいつまでに警告するか。デフォルトは、7 日間です。
http_proxy = proxy-spec
HTTP を通して KDC と交信するとき使用する HTTP プロキシ。
dns_proxy = proxy-spec
HTTP を通した DNS の使用を有効にします。
extra_addresses = address ...
すべてのローカルアドレスとともにチケットを取得するアドレスのリスト。
time_format = string
時間の文字列をログにどのように印刷するか、この文字列は、 strftime(3) に渡されます。
date_format = string
日付の文字列をログにどのように印刷するか、この文字列は、 strftime(3) に渡されます。
log_utc = boolean
利用者のローカル時間ゾーンの代わりに UTC を使用してログエントリを書き込みます。
scan_interfaces = boolean
単にシステムのホスト名に関連しているアドレスを使用にするとは対照的に、アドレスのためにすべてのネットワークインタフェースをスキャンします。
fcache_version = int
指定されたファイル資格証明キャッシュ形式バージョンを使用します。
krb4_get_tickets = boolean
また、 kinit, login と他のプログラムで Kerberos 4 チケットを取得します。また、このオプションは、[レルム] セクションで有効です。
fcc-mit-ticketflags = boolean
ファイル資格証明キャッシュのための MIT 互換形式を使用する。それは、Heimdal 0.7 より古い逆のビット順で格納されるフィールド ticketflags です。 MIT 法で格納するためにこのフラグを TRUE に設定します、そして、これは、Heimdal 0.7 のデフォルトです。
check-rd-req-server
"ignore"に設定するなら、フレームワークは、あらゆる krb5_rd_req(3) へのサーバ入力を無視します、これは、GSS-API サーバが、 gss_accept_sec_context 呼び出しに間違ったサーバ名を入力するとき、たいへん役に立ちます。
[domain_realm]
これは、DNS ドメインから Kerberos レルムへのマッピングのリストです。このセクションでの各バインドは次のようになります:

domain = realm

ドメインは、ホストのフルネームまたは後続する構成要素のいずれかを指定でき、後者の場合、ドメイン文字列はピリオドから始まるべきです。後続する構成要素は、同じドメインにあるホストのみにマッチします、すなわち、“.example.com”は、“foo.example.com”にマッチしますが、“foo.test.example.com”にはマッチしません。

レルムはトークン `dns_locate' であるかもしれません、その場合、実際のレルムは、(`dns_lookup_realm' オプションの設定とは無関係に) DNS を使用して決定されます。

[realms]
REALM = {
kdc = [service/]host[:port]
このレルムのための kdcs のリストを指定します。オプションの port がないなら、 (サービスによって) “kerberos/udp”“kerberos/tcp”と“http/tcp”ポートのためのデフォルト値が使用されます。 kdcs は指定されている順序で使用されます。

オプションの service は、kdc がどのメデアに接続されるべきであるかを指定します。あり得るサービスは、“udp”, “tcp”と“http”です。また、http は、“http://”と書くことができます。デフォルトのサービスは、“udp”と“tcp”です。

admin_server = host[:port]
データベースへのすべての変更が実行される、このレルムのための admin サーバを指定します。
kpasswd_server = host[:port]
すべてのパスワードの変更が実行されるサーバを示します。そのようなエントリがないなら、admin_server ホスト上の kpasswd ポートが試されます。
krb524_server = host[:port]
524 変換を行うサーバを示します。それが言及されないなら、kdcs 上の krb524 ポートが試されます。
v4_instance_convert
v4_name_convert
default_domain
krb5_425_conv_principal(3) 参照。
tgs_require_subkey
false (偽) をデフォルトとするブール変数。古い DCE secd (前の 1.1) は、これが true (真) である必要であるかもしれません。
}
[capaths]
client-realm = {
server-realm = hop-realm ...
これは、2 つの目的に役立ちます。まず最初に、最初にリストされた hop-realm は、それが結局 server-realm でサービスのための資格証明を取得するためにどのレルムに接続するべきであるかをクライアントに伝えます。第二に、どのレルムが client-realm から server-realm までの複数の中継点の縦断で許可されているかを KDC (と、他のサーバ) に伝えます。クライアントの場合を除いて、レルムの順序は重要ではありません。
}
[logging]
entity = destination
ログ記録のために指定された destination を使用するべきである entity を指定します。定義された destination (宛先) のリストに関して krb5_openlog(3) マニュアルページを参照してください。
[kdc]
database = {
dbname = DATABASENAME
このレルムのためにこのデータベースを使用します。異なったデータベースのバックエンドを設定する方法については、 info 文書を参照してください。
realm = REALM
このデータベースに格納されるレルムを指定します。そのレルムは、設定されず、デフォルトのデータベースとして使用され、 realm スタンザ (節) がないエントリは、1 つに決まっています。
mkey_file = FILENAME
このデータベースのマスタキーのためにこの keytab ファイルを使用します。指定されていなければ、 DATABASENAME.mkey が使用されます。
acl_file = PA FILENAME
このデータベースの ACL リストのためにこのファイルを使用します。
log_file = FILENAME
データベースの変更を実行するログとして、このファイルを使用します。このファイルは、スレーブへの変更を伝えるために ipropd-master によって使用されます。
}
max-request = SIZE
kdc 要求の最大サイズ。
require-preauth = BOOL
設定されるなら、事前の認証が必要です。 krb4 要求は事前の認証がされないので、それらは拒絶されます。
ports = list of ports
kdc が listen (接続を受け付ける) するべきであるポートのリスト。
addresses = list of interfaces
kdc がバインドするべきであるアドレスのリスト。
enable-kerberos4 = BOOL
Kerberos 4 サポートをオンにします。
v4-realm = REALM
どんなレルム v4 要求がマップされるべきであるか。
enable-524 = BOOL
Kerberos 524 変換機能はオンにされるべきか。デフォルトは、 enable-kerberos4 と同じです。
enable-http = BOOL
kdc は、http 上の kdc-要求に答えるべきか。
enable-kaserver = BOOL
この kdc が AFS kaserver をエミュレートすべきであるなら。
tgt-use-strongest-session-key = BOOL
これが TRUE であるなら、KDC は、ターゲットのプリンシパルが krbtgt プリンシパルであるとき、KDC とターゲットのプリンシパルによってサポートされるチケットセッションキーのために、クライアントの AS-REQ または TGS-REQ enctype リストから最も強いキーを選択します。さもなければ、KDC とターゲットのプリンシパルによってもサポートされるクライアントの ASREQ enctype リストからの最初のキーを選びます。デフォルトは、TRUE です。
svc-use-strongest-session-key = BOOL
tgt-use-strongest-session-key に似ていますが、krbtgt プリンシパル以外のサービスのためのチケットのセッションキー enctype に適応します。デフォルトは、TRUE です。
preauth-use-strongest-session-key = BOOL
TRUE であるなら、PA-ETYPE-INFO2 のための (すなわち、パスワードに基づいた事前認証のための) クライアントの AS-REQ から、できるだけ強い enctype を選択します。さもなければ、クライアントの AS-REQ から最初にサポートされた enctype を選択します。デフォルトは、TRUE です。
use-strongest-server-key = BOOL
TRUE であるなら、暗号化されたチケットの部分キーのために、 KDC は、ターゲットサービスプリンシパルの hdb エントリの現在の keyset から最初にサポートされた暗号化を選びます。さもなければ、KDC は、ターゲットサービスプリンシパルの hdb エントリの現在の keyset から最初にサポートされた enctype を選びます。デフォルトは、TRUE です。
check-ticket-addresses = BOOL
tgs 要求で使用されるチケット中のアドレスを検証します。
allow-null-ticket-addresses = BOOL
アドレスなしのチケットを許可する。
allow-anonymous = BOOL
kdc が匿名のチケットを配ることができるなら。
encode_as_rep_as_tgs_rep = BOOL
as-rep を古い DCE secd が起こした誤りと互換の tgs-rep tobe としてエンコードします。
kdc_warn_pwexpire = TIME
ユーザがユーザのパスワードがまさに期限が切れようとしていると警告すべきである期限切れの前の時間。
logging = Logging
kdc が使用するべきであるログのタイプ、[logging]/kdc を参照。
use_2b = {
principal = BOOL
ブール値は、524 デーモンであるなら、 principal のために AFS 2b トークンを返すべきです。
...
}
hdb-ldap-structural-object structural object
LDAP バックエンドが、プリンシパルを格納するために使用されているなら、これは、作成するとき、およびオブジェクトを読み込むとき、使用される構造的なオブジェクトです。デフォルト値は、アカウントです。
hdb-ldap-create-base creation dn
は、エントリを作成するときプリンシパルに追加される dn です。デフォルト値は、search dn です。
enable-digest = BOOL
kdc アンサ (answer) 要約の要求するべきです。デフォルトは、FALSE です。
digests_allowed = list of digests
kdc 応答する要約を指定します。デフォルトは、 ntlm-v2 です。
[kadmin]
require-preauth = BOOL
事前の認証は、kadmin サーバと通信するのに必要であるなら。
password_lifetime = time
プリンシパルが期限切れのために設定されるパスワードが既にあるなら、これは、変更の後に有効になる時間です。
default_keys = keytypes...
default_keys 中のエントリごとに、次のようなこの etype:salttype:salt 構文のシーケンスとしてそれを解析することを試みます:

[(des|des3|etype):](pw-salt|afs3-salt)[:string]

etype が省略されるなら、すべてを意味し、そして、文字列が省略されるなら、 (そのプリンシパルと暗号化タイプのための) デフォルトのソルト (塩) 文字列を意味します。 keytypes の追加の特別な値は次の通りです:

v5
Kerberos 5 のソルト (塩) pw-salt
v4
Kerberos 4 のソルト (塩) des:pw-salt:
use_v4_salt = BOOL
true (真) のとき、これは、

default_keys = des3:pw-salt v4

と同じであり、後方互換性のためにのみ残されています。

[password_quality]
詳細については、info 文書のパスワードの品質保証をチェックしてください。
check_library = library-name
パスワード check_function を含むライブラリ名
check_function = function-name
check_library のパスワードをチェックするための関数名
policy_libraries = library1 ... libraryN
パスワードポリシチェックができるライブラリのリスト
policies = policy1 ... policyN
パスワードに適用するポリシ名のリスト。組み込みのポリシは、特に最小の長さ、文字クラス、外部チェックです。

環境変数

KRB5_CONFIG は、読み込むための設定ファイルを示します。

関連ファイル

/etc/krb5.conf
Kerberos 5 のための設定ファイル。

使用例

[libdefaults] 
 default_realm = FOO.SE 
[domain_realm] 
 .foo.se = FOO.SE 
 .bar.se = FOO.SE 
[realms] 
 FOO.SE = { 
  kdc = kerberos.foo.se 
  v4_name_convert = { 
   rcmd = host 
  } 
  v4_instance_convert = { 
   xyz = xyz.bar.se 
  } 
  default_domain = foo.se 
 } 
[logging] 
 kdc = FILE:/var/heimdal/kdc.log 
 kdc = SYSLOG:INFO 
 default = SYSLOG:INFO:USER

診断

krb5.conf が krb5 ライブラリによって読み込まれ、解析されるので、どんなに役に立つ形式でエラーを解析するかをプログラムに報告する多くの機会はありません。この問題を克服するのを助けるために、 krb5.conf を読み込んで、構文解析エラーから役に立つ診断を出力しようとする、プログラム verify_krb5_conf があります。このプログラムはどんなオプションが実際に使用されるかを知る方法がなく、したがって、未知またはスペルミスに関して警告できないことに注意してください。
May 4, 2005 HEIMDAL