Kerberos:UPN 和 SPN 之间的区别

标签 kerberos samba gssapi spn

我现在正在使用 GSSAPI 对跨平台应用程序进行 Kerberized。 虽然我不太清楚 UPN 和 SPN 之间的区别。

开发环境是 CentOS 6.4 上的 Samba4 AD DC 服务器,带有 Windows Server 2008 R2 域中的成员盒,例如 Examples.COM (您可能好奇为什么不直接使用 Win2008 作为 DC。正如我之前所说,该应用程序是跨平台的,我现在正在此设置中进行测试。正常的 Win DC-Linux MEM 设置工作正常。)。 我创建一个新用户 foobar:users 来运行该应用程序。 当我使用 foobar@EXAMPLE.COM(即 UPN)根据 Kerberos 对应用程序进行身份验证时,我不断收到

Kerberos: Principal may not act as server ERROR

关注 thread在 Samba 邮件列表上,我认为我应该使用 samba-tool

为 UPN 创建一个服务主体名称,例如 app/dc.example.com
samba-tool spn add app/dc.example.com foobar

这次我会收到另一个错误

Samba4 KDC - no such entry found in hdb

我的问题是 UPN 和 SPN 之间有什么区别? 通过 samba-tool spn list foobar,它显示 foobar has servicePrincipalName app/dc.example.com。 如何将 UPN 与 SPN 关联?

非常感谢。

最佳答案

简单地说,

  • UPN:对某些服务执行客户端请求的实体。实体可以是人或机器。请参阅here
  • SPN:处理特定服务请求的实体,例如 HTTP、LDAP、SSH 等。仅限机器。请参阅here .

UPN 检索 SPN 的服务票证以使用该实际服务。

如果您的samba-tool调用您的请求 samba 来注册 SPN app/dc.example.com到 UPN foobar 。由于您没有提供 SPN 和 UPN 的领域,Samba 将采用执行此调用的计算机的默认领域。在 Windows 术语中,您主要将 SPN 绑定(bind)到计算机 UPN。始终是:<name>$@<REALM> 。请注意美元符号。

关于Kerberos:UPN 和 SPN 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18234192/

相关文章:

Python Linux-复制文件到windows共享盘(samba)

ldap - openldap + kerberos - 无法访问领域中的任何 KDC

c++ - 保护这份关于将 C/C++ 与 GSSAPI 和 SASL 结合使用的宝贵文档

java - 通过 Kerberos 使用 Active Directory 进行身份验证

java - 在没有 krb5.conf 的情况下配置 kerberos

java - SPNEGO身份验证可通过自定义Java客户端运行,但不能通过Web浏览器运行

java - 使用 JSch 跳过 Kerberos 身份验证提示

upload - 使用 samba 恢复上传

node.js - 如何设置专用的专用 Node.js Ubuntu 服务器?