gpt4 book ai didi

windows-authentication - Kerberos:Windows 8.1 上的 kinit 导致空票缓存

转载 作者:行者123 更新时间:2023-12-01 00:35:15 25 4
gpt4 key购买 nike

我安装了Kerberos for Windows在新安装的 Windows 8.1 机器上。

  • 域:未设置
  • 工作组:WORKGROUP

  • 我编辑了 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 通过用户名和密码获取票证似乎工作正常,因为票证显示在 UI 中。

    我想知道的是,当我调用 klist我得到一个空列表,上面写着 cached tickets: 0 :

    enter image description here

    这对我来说似乎不正常,因为我的 Ubuntu 计算机显示 klist 的有效票证在 kinit 之后.

    我究竟做错了什么?是否还有一些配置要做?有时我读到一个 ksetup工具,但我不知道这里哪些设置是必要的,哪些不是...

    ==================================================== ==========

    我设置后
    [libdefaults] 
    ...
    default_ccache_name = FILE:C:/ProgramData/Kerberos/krb5cc_%{uid}

    在我的 krb5.conf , kinit通过控制台和 Kerberos Ticket Manager 命令在指定路径中创建一个文件。到目前为止,一切看起来都不错。

    但是: kinit命令创建具有非常不同的文件名(长与短)​​的票证,这取决于我是否以“管理员”(短名称)或不是(长名称)运行控制台,请参见下面的屏幕截图。 Kerberos 票证管理器只显示一张票:
  • 如果以管理员身份运行:
  • 显示我通过管理控制台创建的工单
  • 使用短文件名创建工单文件
  • 如果正常运行:
  • 显示我通过“普通”控制台
  • 创建的票证
  • 创建具有长文件名的票证文件

  • enter image description here
    klist命令仍然不显示缓存的票证,独立于控制台是否以管理员身份打开。

    最佳答案

    MIT Kerberos documentation指出……

    There are several kinds of credentials cache supported in the MITKerberos library. Not all are supported on every platform ...

    • FILE caches are the simplest and most portable. A simple flat file format is used to store one credential after another. This is thedefault...
    • API is only implemented on Windows. It communicates with a server process that holds the credentials in memory...

      The defaultcredential cache name is determined by ...
    • The KRB5CCNAMEenvironment variable...
    • The default_ccache_name profile variable in [libdefaults]
    • The hardcoded default, DEFCCNAME

    但是 AFAIK,在 Windows 上,硬编码的默认缓存是 API: 这就是您可以使用 UI 管理的内容。 kinit默认情况下也使用该协议(protocol)。
    我个人永远无法使用 klist使用该协议(protocol),即使使用“标准”语法,即 klist -c API:或者 set KRB5CCNAME=API: klist另一方面,如果您指向 KRB5CCNAMEFILE:*****那么你可以 kinit然后 klist门票;但它不会显示在 UI 中,也不会被 Web 浏览器等使用。

    如果 klist即使在设置环境变量(如 KRB5CCNAME)后,命令也不显示键(即 set KRB5CCNAME=C:\kerberos_cache\cache\krb5cache ,它是文件而不是目录。您必须手动创建父目录),那么 klist您正在运行的命令不是来自 C:\Program Files\MIT\Kerberos\bin 中的 MIT Kerberos Windows 安装而是 klist C:\Windows\system32 中来自 Windows 本身的命令.
    你可以通过运行 which klist 来检查。如果你有 cygwin工具。在这种情况下,最简单的解决方案是复制 klist.exe进入 MIT Kerberos 安装的 bin目录作为新文件,即 klist_mit.exe .如果您运行 klist_mit,则应显示缓存条目命令。

    关于windows-authentication - Kerberos:Windows 8.1 上的 kinit 导致空票缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41763936/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com