The kinit Command

名称

kinit - 获取和缓存Kerberos票证授予票证

简介

初始票证请求:

kinit [-A] [-f] [-p] [-c cache_name] [-l lifetime] [-r renewable_time] [[-k [-t keytab_file_name]] [principal] [password]

续订票证:

kinit -R [-c cache_name] [principal]

描述

此工具在功能上类似于其他Kerberos实现中常见的kinit工具,如SEAM和MIT参考实现。用户在运行kinit之前必须在密钥分发中心(KDC)注册为主体。

在Windows上,默认情况下,会生成一个名为USER_HOME\krb5cc_USER_NAME的缓存文件。

标识符USER_HOME是从java.lang.System属性user.home中获取的。USER_NAME是从java.lang.System属性user.name中获取的。如果USER_HOME为null,则缓存文件存储在程序运行的当前目录中。USER_NAME是操作系统的登录用户名。此用户名可能与用户的主体名称不同。例如,在Windows上,缓存文件可能是C:\Windows\Users\duke\krb5cc_duke,其中dukeUSER_NAMEC:\Windows\Users\dukeUSER_HOME

默认情况下,从Kerberos配置文件中检索密钥表名称。如果Kerberos配置文件中未指定密钥表名称,则kinit工具假定名称为USER_HOME\krb5.keytab

如果您不使用命令行上的password选项指定密码,则kinit工具会提示您输入密码。

注意:

password选项仅供测试目的使用。不要在脚本中指定密码或在命令行中提供密码。这样做会泄露您的密码。

命令

您可以指定以下命令之一。在命令后,指定其选项。

-A
不包括地址。
-f
发行可转发票证。
-p
发行可代理票证。
-c cache_name
缓存名称(例如,FILE:D:\temp\mykrb5cc)。
-l lifetime
设置票证的生存期。值可以是"h:m[:s]"、"NdNhNmNs"和"N"之一。有关更多信息,请参阅MIT krb5时间持续时间定义
-r renewable_time
设置票证可以续订的总寿命。
-R
续订票证。
-k
使用密钥表。
-t keytab_filename
密钥表名称(例如,D:\winnt\profiles\duke\krb5.keytab)。
principal
主体名称(例如,duke@example.com)。
password
主体的Kerberos密码。不要在命令行或脚本中指定此密码。

运行kinit -help以显示上述说明。

示例

请求从当前客户端主机获取用于身份验证的凭据,为默认服务存储凭据缓存在默认位置(C:\Windows\Users\duke\krb5cc_duke):

kinit duke@example.com

请求为不同主体获取可代理凭据,并将这些凭据存储在指定文件缓存中:

kinit -l 1h -r 10h duke@example.com

请求为指定主体获取在1小时后到期但可在接下来的10小时内续订的TGT。用户必须在票证到期前续订票证。续订的票证可以在初始请求后的10小时内重复续订。

kinit -R duke@example.com

续订指定主体的现有可续订TGT。

kinit -p -c FILE:C:\Windows\Users\duke\credentials\krb5cc_cafebeef cafebeef@example.com

请求为不同主体获取可代理和可转发凭据,并将这些凭据存储在指定文件缓存中:

kinit -f -p -c FILE:C:\Windows\Users\duke\credentials\krb5cc_cafebeef cafebeef@example.com

显示kinit工具的帮助菜单:

kinit -help