我在 Mac Mini 上安装了 OS X Server。我创建了多个用户帐户,其中一个是
帐户名称:Bob
密码:abc123
从 Mac Mini 的登录屏幕,我可以选择“服务器”(主帐户)“Bob”(Bobs 帐户)和“其他......”OS X 服务器帐户,从“其他......”中,如果我输入 Bobs 凭据,它就会登录。
我也有一台 macbook air,我希望能够从登录屏幕“其他......”中选择输入 Bobs 凭据并让它登录到 Bobs 帐户或任何其他用户帐户。
我的服务器设置为私有服务器,服务器地址为:server.network.private
按照 Google 上的一些说明以及苹果自己的说明,我得到了:
设置开放目录,用户名:diradmin 密码:abc123
然后在 macbook air 上进入
System Preferences > Users & Groups > Login Options
然后单击Join
“网络帐户服务器”旁边的按钮,输入我的服务器 (server.network.private) 和 diradmin 凭据,然后连接。太棒了。
我还勾选Allow Network Users to Login and Login Window
并选择了所有用户。
我假设这会允许我的 macbook air 通过从登录窗口中选择“其他...”登录到“Bob”帐户,尽管没有“其他...”选项。
然后我设置了一个 VPN、基本凭证,并在 MacBook Air 上登录,但仍然没有什么变化。我可以通过从Share Screen...
Finder 中单击登录Shared > Network Server
,然后单击,从我的 MacBook Air 与“Bob”帐户共享屏幕Login In
,但这显然要求 MacBook Air 必须先登录帐户,然后才能共享屏幕,这并不合适。
有没有什么方法可以像在 mac mini 的登录屏幕上一样,通过“其他......”从 macbook air 的登录屏幕简单地登录到 OS X 服务器用户帐户?
提前致谢。
操作系统:OS X 10.9 Mavericks
OS X Server:版本 3
答案1
如果服务器和客户端时间不同步 5 分钟或更长时间,客户端将无法登录。如果是这种情况,请更改客户端计算机上的时间以匹配服务器的时间
答案2
我无法为您提供解决方案,但我可以为您提供一些故障排除步骤,以帮助缩小问题来源的范围。首先,我假设客户端和服务器都在同一个专用网络上,对吗?否则,情况会复杂得多。无论如何,以下是我在这种情况下会遵循的标准步骤:
- 在服务器上,Bob 的帐户是列为本地帐户还是本地网络帐户?其他计算机上只有网络帐户可用。
- 仍在服务器上,打开终端实用程序,然后运行命令
host server.network.private
;它应该会给出服务器的 IP 地址。如果没有,则说明您的服务器的 DNS 有问题。 - 仍在服务器上,
host
对服务器的 IP 地址(例如host 192.168.1.5
)运行命令;如果应该给出服务器的名称(“server.network.private”)。同样,如果没有,则 DNS 混乱了。 - 在客户端上,打开“系统偏好设置”->“用户和组”窗格->“登录选项”-> 单击“网络帐户服务器:...编辑”按钮。检查状态指示器;如果不是绿色,则右侧应该有一条消息,指示出了什么问题。
- 在客户端上重复步骤 2 和 3;如果其中一个没有给出正确的结果(但在服务器上有效),则您的客户端没有使用服务器的 DNS。
- 如果以上所有操作均有效,请
id bob
在客户端上运行该命令(或 bob 的任何帐户名)。它应该会给出一堆 ID 号和组名。如果它显示“id:bob:没有这样的用户”,则您的客户端无法在服务器上查找用户(出于 DNS 以外的某种原因),可能与 LDAP 协议与服务器的连接有关。 - 在客户端上运行命令
su bob
,然后输入 Bob 的密码。如果成功,它会将您切换到 Bob 的帐户(您将看到不同的终端提示符),然后您应该立即使用命令 切换回来exit
。如果失败(但第 6 步成功),则密码服务存在一些问题。查看服务器上的密码服务服务器日志以获取更多信息。 (可选,如果您使用 Kerberos)在客户端上,运行命令
kinit bob
,然后输入 Bob 的密码(请注意,使用正确的帐户名至关重要,而不是 Bob 的“全名”或别名;id
步骤 6 中的命令将打印帐户名。如果成功,则不会打印任何内容;如果失败,它将打印某种错误消息。OS X Server 的 Open Directory 服务实际上提供了两个基本独立的身份验证服务:密码服务器和 Kerberos 服务器(称为 KDC)。您可能需要也可能不需要 Kerberos,而且它并不总是会设置好。如果它没有运行,那它其实就没有必要,但如果它正在运行并且失败了,就会造成麻烦,这使得解释 Kerberos 失败变得很棘手。
顺便说一句,在服务器端,Kerberos KDC 没有自己的日志。如果你想知道它在做什么,你必须查看系统日志,并过滤包含“kdc”的条目。