2

我只是想找出将用户映射到使用的服务的目的是什么ktpass。例如,我在 Windows 上,我ktpass像这样运行:

ktpass -out <keytab location> -princ <host/domain.com> -mapUser useraccount@domain.com -mapOp add .........

当我们将用户映射到 时,-princ是否意味着只有“用户帐户”才能对服务进行身份验证?我们如何使用-addand-set选项?有什么区别?

我的问题是:我有很多用户想要使用我拥有的服务,并通过 kerberos (JASS Krb5LoginModule) 进行身份验证,但我不想在 jaas.config 文件中指定许多用户主体名称。所以我正在考虑使用 SPN,并映射用户。

4

1 回答 1

11

选项 -mapUser useraccount@domain.com 告诉 ktpass 将“principal”存储在 Active Directory 中此用户的属性 userPrincipalName 中,以便 Active Directory 能够在客户端请求此“principal”的 KerberosServiceTicket 并发出此类票证时找到它.

-mapUser 指定用户的名称,它代表您在 Active Directory 中的服务。

使用 ktpass 您正在做两件事:为您的服务生成 keytab(以便它可以打开从客户端接收到的 Kerberos 票证,即对其进行身份验证),以及在 Active Directory 中注册主体(以便客户端可以获得服务票证)。

在 jaas.config 文件中,您只指定一个主体名称(用于服务),而不是用于客户端。一旦用户登录到 Active Directory 域,他/她就有权为您的服务获取服务票证。

于 2014-02-12T10:36:12.337 回答