我正在将我的桌面客户端升级为使用 Mac OS X 10.6.2,但遇到了麻烦。网络用户无法使用登录窗口登录。这在 10.5.x 客户端上可以正常使用。
我还可以以网络用户身份通过 ssh 连接到受影响的计算机,并且运行正常。我只是无法使用 GUI 登录窗口。
这是我尝试过的:
- 我使用帐户首选项面板设置了登录选项。我启用了网络登录,并将我的 OD 主服务器设置为“网络帐户服务器”。
- 登录窗口不起作用。
- 重启。无效。
- 禁用并重新启用“允许网络用户在登录窗口登录”。没用。重新启动。没用。
- 检查了服务器 OD 安全设置。重启了服务器。没用。
再次,我可以通过 SSH 登录,但 GUI 登录窗口不起作用!
有什么建议么?
答案1
以下是一些需要注意的事项:
在登录窗口上,在 Mac OS X 下方,会有一些文本 - 我认为默认是计算机的主机名。单击它几次。它是否显示“网络帐户可用?”并带有绿色指示符?
/var/log/system.log 或 /var/log/secure.log 中有什么有趣的东西吗?(有时最好
ssh
进入框,运行tail -f
其中一个文件,并观察登录时发生的情况)。您能用本地帐户以图形方式/通过 ssh 登录吗?
您可以通过 ssh 进行身份验证是一个好兆头,这似乎表明您已正确绑定到目录。然而,使用 dscl 会告诉您什么?
如果你在机器的终端上运行该命令
mcxquery
,除了Error 'no data found' (-4584) running compositor for user: (user) group: (null) computer: =
只是为了验证:在升级到 10.6 之前,这些客户端运行良好吗?您的服务器运行的是哪个操作系统?
答案2
这个谜题的关键线索是 EAPOL 连接。它负责 802.1X 身份验证,这是我们无线网络所必需的。当然,这是一个桌面计算机并且无线功能被禁用。
但是,当我检查 AirPort 的“高级”设置时,我发现有一个 802.1X 的“LoginWindow”配置文件。简而言之,Mac 正在尝试使用登录用户/密码对无线网络进行身份验证。当然失败了。删除此 802.1X 设置解决了这个问题。
我不知道为什么这只在升级到 10.6 之后才发生。
以下是 Apple 的知识库文章: KB3326 - 802.1X 网络首选项
在登录屏幕上,用户输入名称和密码。如果 LoginWindow 找不到具有该名称的本地用户帐户,它会使用相同的名称和密码启动 802.1X 会话,如果是 802.11 网络,它会关联到无线网络。802.1X 身份验证完成后,LoginWindow 会根据目录服务对用户进行身份验证。如果身份验证成功,则用户登录。
因此,对于 Google 而言...这是 secure.log:
Dec 16 12:20:39 tritium SecurityAgent[171]: Network Authentication will be attempted
Dec 16 12:20:39 tritium SecurityAgent[171]: Attempting EAPOL connection
Dec 16 12:20:39 tritium SecurityAgent[171]: EAPOLConnectTimeout = 60.000000
Dec 16 12:20:39 tritium SecurityAgent[171]: DSBindTimeout = 60.000000
Dec 16 12:20:39 tritium SecurityAgent[171]: EAPOL NOT connected