什么是 Kerberos 用户主体实例?

什么是 Kerberos 用户主体实例?

我在 O'Reilly 的“Kerberos”一书中读到,可以为用户原则创建实例。据我了解,文本说我可以使用不同的密码[email protected]进行常规活动和ssh 登录到生产服务器。username/[email protected]

MIT Kerberos 定义对我来说,主函数的含义是模棱两可的。首先,它指出主函数可以有任意数量的分量除以/,但之后它又指出,它可能有可选admin实例。

  1. 用户主体名称的实例部分可以是任意字符串吗?哪些实现支持此功能?

  2. 当主要用户主体从数据库中删除时会发生什么(如果我删除user@REALM,会发生什么user/instance@REALM

  3. 是否可以在 ActiveDirectory 2008 中创建用户主体实例?如果可以,我该如何创建?

  4. openssh 将把 kerberos 用户实例映射到系统上的哪个用户名?默认映射是什么?username/[email protected]

  5. 当 MIT Kerberos 领域和 ActiveDirectory 之间设置双向信任时,实例的 UPN 会发生什么情况?

编辑:

我没有看到component[/component][/component]...@REALMO'Reilly 书中描述的格式概念,RFC 4120

编辑2:

书中的确切引述(第 2.4.1.3 章“Kerberos 5 主体”):

让我们看一个 Kerberos 5 用户主体的示例:

jdoe/[email protected]

此示例相当于第一个 Kerberos 4 示例,显示 John Doe 的主体与管理实例的格式。

本书勘误表没有提到这是错误的。

编辑3:

使用实例的描述麻省理工学院学生信息处理委员会

Kerberos 名称由三个部分组成:主体、可选实例和领域。主体通常是您的用户名,而领域(在 MIT)通常是 ATHENA.MIT.EDU。对于您通常视为自己的 Kerberos 身份(即您使用常规密码登录 Athena 时使用的 Kerberos 身份),实例为 null(空)。但是,您可以请求其他实例,通常是“根”或“额外”实例。[...] 您可能还想要一个额外的实例。有些人将它们用作另一个根实例,但安全性略低。但常见的用途是安全性低于空实例。例如,如果您正在编写一个 zephyrbot 以在 scripts.mit.edu 等共享服务器上运行,zephyrbot 将需要 Kerberos 票证才能订阅 zephyrs。但您不想将 Kerberos 密码留在储物柜的文件中,因此您可以保留额外实例的密码。

编辑4:

奥莱利“SSH:安全外壳”(第 11.5.2.1 章“Kerberos 的工作原理”)

主体名称看起来像 1/2/3/.../ n@REALM 。初始部分的数量可以是任意(正数),但实际上通常只有一个或两个。普通用户主体名称将是 res@REALM 。用于特殊用途(例如特权管理实例)的用户主体名称可能是 res/admin@REALM 。

答案1

其他 Kerberos 实现可能允许给定用户使用多个 UPN,但 MS AD 不允许。MSDN 参考

此属性是单值的索引字符串。

答案2

是否可以在 ActiveDirectory 2008 中创建用户主体实例?如果可以,我该如何创建?

setspn 我认为应该可以解决问题。但是 AD 几乎不是参考 Kerberos 实现,并且 Windows 肯定不使用用户帐户上的实例。

ssh 将把 kerberos 用户实例用户名映射到系统上的哪个用户名/[电子邮件保护]

简而言之:映射到任何 UID。参见.k5登录文档。

但我从未见过校长的名字用户primary/instance@realm在教科书之外的形式中,通常/instance会省略。
(当然,对于服务,您总是会看到相同的形式,即service/hostname@realm

相关内容