我在新设置的Windows 8.1计算机上安装了Kerberos for Windows
。
我在krb5.ini
目录中编辑了C:\ProgramData\MIT\Kerberos5
文件,如下所示:
[libdefaults]
default_realm = HSHADOOPCLUSTER.DE
[realms]
HSHADOOPCLUSTER.DE = {
admin_server = had-job.server.de
kdc = had-job.server.de
}
重新启动后,我做了一个kinit -kt daniel.keytab daniel
来通过控制台对Realm进行身份验证。通过Kerberos Ticket Manager
获取用户和密码的票证似乎也可以正常工作,因为票证显示在用户界面中。
我想知道的是,当我拨打klist
时,我会收到一个空列表,其中包含类似cached tickets: 0
的内容:
这对我来说似乎不正常,因为我的Ubuntu计算机在klist
之后显示有效的kinit
门票。
我做错了什么?还有一些配置要做吗?有时我读到了ksetup
工具,但我不知道这里有哪些设置是必要的,哪些不是......
=============================================== =============
我设置
之后[libdefaults]
...
default_ccache_name = FILE:C:/ProgramData/Kerberos/krb5cc_%{uid}
在我的krb5.conf
中,kinit
命令通过控制台和Kerberos Ticket Manager在指定路径中创建一个文件。到目前为止,一切看起来都不错。
但是:kinit
命令创建的文件名非常不同(长与短),具体取决于我是以“admin”(短名称)运行控制台还是不是(长名称),请参阅屏幕截图下面。 Kerberos票证管理器仅显示其中一个票证:
如果控制台是以管理员身份打开的话,klist
命令仍然不会显示缓存的票证。
答案 0 :(得分:4)
MIT Kerberos documentation表示......
MIT支持多种凭证缓存 Kerberos库。并非所有平台都支持所有平台...
- FILE 缓存是最简单,最便携的。简单的平面文件格式用于存储一个接一个的凭证。这是 默认...
- API 仅在Windows上实施。它与保存凭证的服务器进程通信...
默认值 凭证缓存名称由...确定 -KRB5CCNAME
环境变量...
- [libdefaults] 中的default_ccache_name
个人资料变量 - 硬编码默认值DEFCCNAME
但AFAIK,在Windows上,硬编码的默认缓存为 API:
,这就是您可以使用UI管理的内容。 kinit
默认情况下也使用该协议。
我个人永远不会使用klist
来使用该协议,即使使用“标准”语法,即任何一个
klist -c API:
或
set KRB5CCNAME=API:
klist
另一方面,如果您将KRB5CCNAME
指向FILE:*****
,那么您可以kinit
然后klist
获得此票;但它不会在用户界面中显示,也不会用于网络浏览器等。