我的魔力三角中真正重要的部分已经工作了 - 我绑定到 AD 和 OD 的 Mac OS X 客户端可以使用域凭据登录。不起作用的是从 mac 服务器向客户端共享文件夹。当客户端使用“转到”->“连接到服务器”并指定 smb://mac-server/sharedfolder 或 afp://mac-server/sharedfolder 时,系统会提示用户输入凭据,而域凭据不起作用(抖动窗口拒绝)。我尝试在用户名前加上域名,但没有成功。
DNS 工作正常,客户端可以解析 mac 服务器和我们的 AD 域控制器
mac服务器的DSCONFIGAD如下:
mac-server:~ macadmin$ dsconfigad -show
Active Directory Forest = campus.zzz.edu
Active Directory Domain = campus.zzz.edu
Computer Account = mac-server$
Advanced Options - User Experience
Create mobile account at login = Disabled
Require confirmation = Enabled
Force home to startup disk = Enabled
Mount home as sharepoint = Enabled
Use Windows UNC path for home = Enabled
Network protocol to be used = smb
Default user Shell = /bin/bash
Advanced Options - Mappings
Mapping UID to attribute = not set
Mapping user GID to attribute = not set
Mapping group GID to attribute = not set
Generate Kerberos authority = Enabled
Advanced Options - Administrative
Preferred Domain controller = not set
Allowed admin groups = not set
Authentication from any domain = Enabled
Packet signing = allow
Packet encryption = allow
Password change interval = 14
Restrict Dynamic DNS updates = not set
Namespace mode = domain
mac-server:~ macadmin$
我的共享文件夹配置如下:
有趣的是,客户端可以:* 使用 Active Directory 凭据登录 * 访问他们有权访问的其他网络资源(如我们的常规文件服务器),而无需输入凭据
客户端不能:* 连接到 mac-server 文件共享。
从客户端添加 AD 和 OD:
我猜想在我的魔力三角中只有 AD 集成有效,而 OD 集成无效。不幸的是,OpenDirectory 在 Server.app 中似乎没有任何/很多选项可供摆弄。
在 server.app 内置的日志查看器中,我确实看到 AFP 日志中有一个奇怪的错误:
Jul 15 15:18:42 mac-server.campus.zzz.edu AppleFileServer[25005] <Info>: **** - - "SACL membership failure for user chalstead" 0 0 0
我很乐意提供更多详细信息。我对 SACL 成员资格失败感到好奇,但不确定现在是否值得一提。我怀疑我遗漏了一些更基本的东西。
答案1
您所描述的情况与 AD 用户不在 Mac 服务器的 SACL(服务访问控制列表)中的情况一致。您可以通过以下方式检查这一点:进入侧栏中的 Server.app -> 用户 -> 从用户列表上方的弹出菜单中选择“来自 ADDOMAIN 的用户”-> 选择 chalstead(或您可以用来测试的其他 AD 用户)-> 从用户列表下的操作(齿轮图标)菜单中选择“编辑对服务的访问”-> 检查“文件共享”服务是否已启用。
如果未针对相关用户启用文件共享,您可以针对每个用户启用它(可以单独启用,也可以选择一组用户并一次性设置),但按组设置通常更容易管理。界面基本相同,只是在组部分而不是用户部分(然后在用户部分进行验证)。
我见过它在更改后无法正确更新(本质上,它似乎缓存了 SACL 失败);如果你把它放置足够长的时间,这个问题似乎就会消失,但如果还没有人使用 Mac 服务器,你可以使用强力解决方案:重新启动服务器。
编辑:修复后,您可能还必须在 Mac 服务器上启用 AD 的 Kerberos 单点登录。如果在连接到 Mac 服务器时系统提示您输入凭据,但在您提供凭据后允许进入,则您可能需要进行以下设置:
- 使用以下命令检查 Mac 是否正确使用 Kerberos
sudo ktutil -k /etc/krb5.keytab list
—— 如果结果包含以“@ADDOMAIN.EDU”结尾的条目,则表示一切正常。(注意:它还会包含一堆“@LKDC:SHA1.hexgibberish”条目,也可能包含“@MAC-SERVER.whatever”条目;请忽略这些条目。) - 如果需要设置,请使用命令
sudo dsconfigad -enableSSO
,然后使用 重新检查ktutil
。
答案2
如果您通过 Google 找到此页面并且正在使用 10.6 服务器,那么您可能需要根据需要将用户或组添加到服务器管理员的允许访问部分。
服务器管理 > 访问 > 选择服务 (afp、smb 等) > 添加用户/组