我在一台名为“minime”(El Capitan,服务器 5)的机器上有一个 Open Directory 主服务器。我还有一个运行 Ubuntu 的 Samba 服务器“tricky”,以及一个 Mac OS X 客户端“wallace”。
我希望 wallace 上的用户能够访问 tricky 上的文件,同时通过 minime 上的 Kerberos 进行身份验证。这些用户都是 Open Directory 用户,因此理论上他们在登录 wallace 时都应该从 minime 获得票据授予票据。
我之前有一个可用的配置,唯一的变化是 minime 是一个 Raspberry Pi,它通过 OpenLDAP 提供 Kerberos 票证和目录服务。我已将 minime 替换为 Mac OS X 服务器。
我现在正尝试让该配置再次进入工作状态,但遇到了麻烦。
wallace 的用户可以登录,但无法访问 tricky 上的文件。登录后,他们会收到一张票证授予票证。尝试访问 tricky 上的文件时,会出现一个登录框。访客访问将显示可用的共享,因此 Samba 已启动。但是,Finder 无法正确验证已登录用户的身份。明确选择“连接身份”并输入当前用户名和密码时,票证授予票证将被销毁,不允许访问。
我在 Samba 日志文件中没有看到任何记录。如果能提供一些建议,我将非常高兴。
答案1
我找到了解决这个问题的方法。关键点在于,在 OS X Server 上使用 kadmin 不足以创建可通过 keytab 导出并在其他服务器上使用的有效服务主体。
OS X Server 需要使用命令“krbservicesetup”。尽管手册页指出它只能用于设置本地服务,但它成功地在另一台机器上为 Samba 创建了密钥表。
请参阅此处的 Apple 讨论论坛上的手册页和讨论: