Go to main content
マニュアルページ セク ション 1: ユー ザーコマンド

印刷ビューの終了

更新: 2016年12月6日
 
 

kinit(1)

名前

kinit - Kerberos チケット認可チケットの取得およびキャッシュ

形式

/usr/bin/kinit [-ARvV] [-p | -P] [-f | -F] [-a] [-c cache_name] 
     [-C] [-E] [-k [-t keytab_file]] [-l lifetime]
     [-r renewable_life] [-s start_time] [-n] [-S service_name]
     [-X attribute[=value]] [-T armor_ccache] [principal]

説明

kinit コマンドは、principal の初期のチケット認可チケット (資格) を取得してキャッシュするために使用されます。このチケットは、Kerberos システムによる認証に使用されます。Kerberos システムを使用できるのは、Kerberos 主体を持つユーザーだけです。Kerberos 主体については、kerberos(5) を参照してください。

kinit をオプションなしで使用すると、このユーティリティーは principal と Kerberos パスワードの入力を求め、ローカルの Kerberos サーバーを使用してログインの認証を試みます。principal は、必要に応じてコマンド行で指定できます。

Kerberos がログイン試行を認証した場合、kinit は初期のチケット認可チケットを取得し、それをチケットキャッシュ内に格納します。デフォルトでは、チケットはファイル /tmp/krb5cc_uid 内に格納されます。ここで、uid はユーザー ID 番号を指定します。チケットは、指定された有効期間が経過すると期限切れになります。そのあとは、kinit をふたたび実行する必要があります。kinit では、キャッシュの既存の内容はすべて破棄されます。

コマンド行で指定された値によって、Kerberos 構成ファイル内で lifetimerenewable_life に指定されている値がオーバーライドされます。

ログインセッションを終了する前にアクティブなチケットをすべて破棄するには、kdestroy(1) コマンドを使用できます。

オプション

サポートしているオプションは、次のとおりです。

–a

ローカルアドレスを含むチケットを要求します。

–A

アドレスを含まないチケットを要求します。

–c cache_name

cache_name は、資格 (チケット) のキャッシュ名および場所として使用します。このオプションが使用されていない場合は、デフォルトのキャッシュ名および場所が使用されます。

–C

主体名の正規化を要求します。

–E

主体名を企業名として扱います。

–f

転送可能チケットを要求します。

–F

転送可能ではありません。転送可能チケットを要求しません。

あるホスト上で取得されたチケットは通常、別のホスト上では使用できません。クライアントは、チケットを転送可能としてマークすることを要求できます。あるチケットに対して TKT_FLG_FORWARDABLE フラグが設定されたあと、ユーザーはこのチケットを使用して新しいチケットを要求できますが、別の IP アドレスを指定します。そのため、ユーザーは自分の現在の資格を使用して、別のマシン上で有効な資格を取得できます。このオプションを使用すると、ユーザーは転送可能でないチケットを明示的に取得できます。

–k [–t keytab_file]

ローカルホストの keytab ファイル内の鍵から取得されたホストのチケットを要求します。keytab ファイルの名前と場所は、–t keytab_file オプションで指定できます。それ以外の場合は、デフォルトの名前と場所が使用されます。

–l lifetime

有効期間 lifetime を持つチケットを要求します。–l オプションが指定されていない場合は、デフォルトのチケット有効期間 (各サイトで構成済み) が使用されます。最大のチケット有効期間 (各サイトで構成済み) より長いチケット有効期間を指定すると、最大の有効期間を持つチケットが生成されます。lifetime で指定できる有効な期間の形式については、「時間形式」セクションを参照してください。kdc.conf(4) および kadmin(1M) (サーバー主体の有効期間の値を検証するには getprinc コマンド) を参照してください。

返されるチケットの有効期間は、次の最小値です。

  • コマンド行で指定された値。

  • KDC 構成ファイルで指定された値。

  • サーバー主体の Kerberos データベースで指定された値。kinit の場合は、krbtgt/realm name です。

  • ユーザー主体の Kerberos データベースで指定された値。

–n

匿名の処理を要求します。

2 つのタイプの匿名主体がサポートされています。完全に匿名の Kerberos の場合は、pkinit を KDC 上で構成し、pkinit_anchors をクライアントの krb5.conf 内に構成します。次に、–n オプションを使用して @REALM の形式の主体 (空の主体名のあとにアットマーク記号とレルム名) を指定します。KDC によって許可されている場合は、匿名チケットが返されます。

また、2 番目の形式の匿名チケットもサポートされています。これらのレルムが公開されたチケットでは、クライアントの識別情報は非表示になりますが、クライアントのレルムは表示されます。このモードでは、kinit -n を使用して通常の主体名を指定します。KDC でサポートされている場合は、匿名主体によって (レルムではなく) 主体が置き換えられます。リリース 1.8 の時点で、完全に匿名の操作をサポートしているのは MIT Kerberos KDC だけです。

–p

プロキシ可能チケットを要求します。

–P

プロキシ可能ではありません。プロキシ可能チケットを要求しません。

プロキシ可能チケットは、チケット認可チケット内のアドレス以外の IP アドレスを使用してサービスのチケットを取得できるチケットです。このオプションを使用すると、ユーザーはプロキシ可能でないチケットを明示的に取得できます。

–r renewable_life

renewable_life の合計有効期間を持つ更新可能なチケットを要求します。renewable_life で指定できる有効な期間の形式については、「時間形式」セクションを参照してください。kdc.conf(4) および kadmin(1M) (サーバー主体の有効期間の値を検証するには getprinc コマンド) を参照してください。

返されるチケットの更新可能な有効期間は、次の最小値です。

  • コマンド行で指定された値。

  • KDC 構成ファイルで指定された値。

  • サーバー主体の Kerberos データベースで指定された値。kinit の場合は、krbtgt/realm name です。

  • ユーザー主体の Kerberos データベースで指定された値。

–R

チケット認可チケットの更新を要求します。期限が切れたチケットは、そのチケットがまだ更新可能な期間内に含まれていたとしても更新できません。

–s start_time

start_time から有効になる遅延チケットを要求します。遅延チケットは invalid フラグが設定された状態で発行されるため、使用する前に KDC にフィードバックする必要があります。start_time で指定できる有効な絶対時間または期間の形式については、「時間形式」セクションを参照してください。kinit は、期間の一致を試みる前に、まず絶対時間を一致させようとします。

–S service_name

初期のチケットを取得するときに使用する代替サービス名を指定します。

–T armor_ccache

KDC でサポートされている場合は、すでにチケットが含まれている資格キャッシュの名前 (ccache) を指定します。この ccache は、要求を保護することによって、攻撃者がその要求を攻撃するには保護チケットの鍵と、認証に使用される主体の鍵の両方を知る必要があるようにするために使用されます。

また、この保護により、KDC からの応答が遷移中に変更されないことも保証されます。

–v

キャッシュ内の (invalid フラグが設定された) チケット認可チケットを検証のために KDC に渡すことを要求します。チケットが要求された時間範囲内に含まれている場合、キャッシュは、検証されたチケットに置き換えられます。

–V

詳細情報を出力します。ユーザーに認証やバージョンの確認などの詳細情報を表示します。

–X attribute[=value]

事前認証プラグインに渡される事前認証の属性と値を指定します。attributevalue に指定できる値は、事前認証プラグインによって異なります。このオプションは、複数の属性を指定するために複数回指定できます。値が指定されていない場合は、yes であると見なされます。

OpenSSL の pkinit 事前認証メカニズムでは、次の属性が認識されます。

X509_user_identity=URI

ユーザーの X509 識別情報をどこで見つけるかを指定します。

有効な URI タイプは FILEDIRPKCS11PKCS12、および ENV です。詳細は、「pkinit の URI タイプ」セクションを参照してください。

X509_anchors=URI

信頼できる X509 アンカー情報をどこで見つけるかを指定します。

有効な URI タイプは FILEDIR です。詳細は、「pkinit の URI タイプ」セクションを参照してください。

flag_RSA_PROTOCOL[=yes]

デフォルトの Diffie-Hellman プロトコルではなく、RSA の使用を指定します。

pkinit の URI タイプ

FILE:file-name[,key-file-name]

このオプションには、コンテキスト固有の動作があります。

X509_user_identity

file-name は、ユーザーの証明書が含まれた PEM 形式ファイルの名前を指定します。key-file-name が指定されていない場合は、ユーザーの秘密鍵も file-name 内に存在すると想定されます。それ以外の場合は、key-file-name が、秘密鍵を含むファイルの名前です。

X509_anchors

file-name は、OpenSSL スタイルの ca-bundle ファイルの名前であると見なされます。ca-bundle ファイルは、base-64 でエンコードされているべきです。

DIR:directory-name

このオプションには、コンテキスト固有の動作があります。

X509_user_identity

directory-name は、*.crt および *.key という名前のファイルを含むディレクトリを指定し、ここで、ファイル名の最初の部分は、証明書ファイルと秘密鍵ファイルの一致するペアで同じです。.crt で終わる名前を持つファイルが見つかった場合は、.key で終わる一致するファイルが、秘密鍵を含んでいると見なされます。このようなファイルが見つからない場合、.crt 内の証明書は使用されません。

X509_anchors

directory-name は、各 CA 証明書が hash-of-ca-cert.# という名前のファイル内に格納されている、OpenSSL スタイルのハッシュされた CA ディレクトリであると見なされます。このインフラストラクチャーが推奨されますが、そのディレクトリ内のすべてのファイルが検査され、証明書 (PEM 形式) が含まれている場合は、それらのファイルが使用されます。

PKCS12:pkcs12-file-name

pkcs12-file-name は、ユーザーの証明書と秘密鍵が含まれた PKCS #12 形式ファイルの名前です。

PKCS11:[slotid=slot-id][:token=token-label][:certid=cert-id][:certlabel=cert-label]

すべてのキーワードおよび値がオプションです。PKCS11 モジュール (たとえば、opensc-pkcs11.so) が、libpkcs11(3LIB) の下の暗号化プロバイダとしてインストールされている必要があります。slotid= または token=、あるいはその両方を指定すると、特定のスマートカードリーダーまたはトークンを強制的に使用できます (複数使用可能な場合)。certid= または certlabel=、あるいはその両方を指定すると、デバイス上の特定の証明書を強制的に選択できます。pkinit で使用する特定の証明書を選択するためのその他の方法については、pkinit_cert_match 構成オプションを参照してください。

ENV:environment-variable-name

environment-variable-name は、前のいずれかの値に準拠する値に設定されている環境変数の名前を指定します。たとえば、ENV:X509_PROXY と指定し、ここで、環境変数 X509_PROXYFILE:/tmp/my_proxy.pem に設定されています。

時間形式

–s start_time オプションには、次の絶対時間の形式を使用できます。これらの例は、1999 年 7 月 2 日午後 1:35:30 の日付と時間に基づいています。

絶対時間の形式
yymmddhhmm[ss]
990702133530
hhmm[ss]
133530
yy.mm.dd.hh.mm.ss
99:07:02:13:35:30
hh:mm[:ss]
13:35:30
ldate:ltime
07-07-99:13:35:30
dd-month-yyyy:hh:mm[:ss]
02-july-1999:13:35:30

Variable   
変数
説明
dd
hh
時間 (24 時間制)
mm
ss
yy
世紀内の年 (0-68 は 2000 から 2068 まで、69-99 は 1969 から 1999 まで)
yyyy
世紀を含む年
month
ロケールの完全な、または短縮された月の名前
ldate
ロケールの適切な日付表現
ltime
ロケールの適切な時間表現

–l lifetime–r renewable_life、および –s start_time オプションには、次の期間の形式を使用できます。これらの例は、14 日、7 時間、5 分、および 30 秒の期間に基づいています。

期間の形式
#d
14d
#h
7h
#m
5m
#s
30s
#d#h#m#s
14d7h5m30s
#h#m[#s]
7h5m30s
days-hh:mm:ss
14-07:05:30
hours:mm[:ss]
7:05:30
区切り記号
説明
d
日数
h
時間数
m
分数
s
秒数
変数
説明
#
数字
days
日数
hours
時間数
hh
時間 (24 時間制)
mm
ss

環境変数

kinit は、次の環境変数を使用します。

KRB5CCNAME

資格 (チケット) のキャッシュの場所。構文および詳細については、krb5envvar(5) を参照してください。

ファイル

/tmp/krb5cc_uid

デフォルトの資格キャッシュ (uid は、ユーザーの 10 進数の UID です)。

/etc/krb5/krb5.keytab

ローカルホストの keytab ファイルのデフォルトの場所。

/etc/krb5/krb5.conf

ローカルホストの構成ファイルのデフォルトの場所。krb5.conf(4) を参照してください。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
service/security/kerberos-5
インタフェースの安定性
下記を参照。

コマンド引数は「確実」です。コマンド出力は「不確実」です。

関連項目

kdestroy(1), klist(1), kadmin(1M), ktkt_warnd(1M), libpkcs11(3LIB), kdc.conf(4), krb5.conf(4), attributes(5), kerberos(5), krb5envvar(5), pam_krb5(5)

成功した場合、kinitktkt_warnd(1M) に、初期の資格 (チケット認可チケット) の期限が近づいてきたらユーザーに警告するよう通知します。