![如何将我的 FreeNAS 文件服务器连接到我的 Mac OS X 目录服务器?](https://linux22.com/image/601934/%E5%A6%82%E4%BD%95%E5%B0%86%E6%88%91%E7%9A%84%20FreeNAS%20%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9E%E6%8E%A5%E5%88%B0%E6%88%91%E7%9A%84%20Mac%20OS%20X%20%E7%9B%AE%E5%BD%95%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
我正在尝试将我的文件服务器(FreeNAS 8.0.1 / 8.2-RELEASE-p7)与我的 Mac OS X 10.7 Lion 目录服务器的开放目录连接起来...我知道 Mac OS X 提供了一个 LDAP 服务,其他服务器可以通过该服务进行身份验证,但我在让 FreeNAS 通过 Mac OS X 开放目录进行身份验证时遇到了很大困难。
如何将我的 FreeNAS 文件服务器连接到我的 Mac OS X 目录服务器?
答案1
经过几个小时的谷歌搜索和测试,我终于成功将 FreeNAS 8 与 Mac OS X Open Directory 集成。实现此目的需要以下条件:
首先,使用 Server Admin 应用程序确保 Open Directory 已启动并正在运行:
注意LDAP 搜索库和Kerberos 领域。
在 FreeNAS 的 Web GUI 中,按如下方式配置 LDAP 服务:
- 主机名: 你的服务器主机名或 ip
- 基本 DN: 你的LDAP 搜索库来自开放目录
- 允许匿名绑定:未选中(我已将其关闭并绑定为我的
diradmin
用户,但这可能是不必要的......) - 根绑定 DN:
uid=diradmin,
然后是基本 DN - 根密码:
diradmin
您的 Open Directory用户的密码。再次,这可能是不必要的,我不确定 - 密码加密:
crypt
- 用户后缀:
cn=users
- 组后缀:
cn=groups
- 密码后缀:
cn=users
- 机器后缀:
cn=computers
- 加密模式:
Off
- 自签名证书: 空的
辅助参数:
ldap_version 3 timelimit 30 bind_timelimit 30 bind_policy soft pam_ldap_attribute uid sasl-host *your.open.directory.server.ip.or.hostname* sasl-realm *YOUR.KERBEROS.REALM.FROM.FIRST.STEP*
辅助参数是关键,尤其是sasl-host
和sasl-realm
。显然,用第一步中的信息替换*your.open.directory.server.ip.or.hostname*
和(参见第一个屏幕截图)*YOUR.KERBEROS.REALM.FROM.FIRST.STEP*
保存更改后,LDAP 应开始为所有服务工作除了桑巴/CIFS。困难的一部分是如何修复 Samba:在 FreeNAS 上最初配置 LDAP 服务后,我发现根本没有用户可以通过 Samba 连接,甚至是 FreeNAS 机器上本地定义的用户。
Samba 日志中没有错误,只有客户端计算机上的权限被拒绝错误。进一步的研究表明,我必须启用 FreeNAS Samba 服务器才能使用 SASL 对 Mac OS X Open Directory 进行身份验证分别地来自 LDAP 配置。
需要注意的是,Mac OS X LDAP 数据库不包含密码数据. 身份验证仅可通过 SASL/Kerberos 进行。引用Apple 论坛上的 David Colville1:
与其他一些 LDAP 目录不同,OS X 不会在 LDAP 记录中存储密码 - 它使用“SASL”机制 - 它查询“AuthenticationAuthority”属性来建议可以检索用户密码的位置。
密码存储在密码服务器(SASL 服务器)中,以 CRAM-MD5、Digest-MD5、DHX 等格式存储(请参阅开放目录管理指南第 50 页)。
这就是为什么sasl-host
在 LDAP 配置中如此重要。
配置 Samba 以使用 SASL:
更新 2012-12-31:这对我来说不再有效。我花了几个小时试图找出原因,但至今仍无所获。
在 FreeNAS Web GUI 中,按如下方式配置 CIFS 服务:
(CIFS 配置屏幕很长,为了清楚起见,我将最顶部和最底部合并起来)
- 认证模型:
Local User
辅助参数:
password server = *YOUR.KERBEROS.REALM.FROM.FIRST.STEP* client ntlmv2 auth = yes
保存这些更改后,使用 Open Directory 中定义的用户测试连接到 Samba,并确认您可以连接。此外,使用 AFP/SSH 进行测试,以确认它们也针对 Open Directory 进行身份验证。
已知的问题
有几件事我无法解决:
Mac OS X LDAP 服务器上的用户主目录采用以下形式
/Network/Servers/some.server/some.directory/username
。但是 FreeNAS 没有目录。创建和符号链接用户主目录/Network/Servers
非常简单,但是它以只读方式挂载,因此我无法这样做。mkdir -p /Network/Servers
/
因此,LDAP 用户无法拥有.AppleVolumes
自定义 AFP 共享的文件。更新2012-12-31:我发现 Mac OS X 将允许以 形式存在的主目录
/mnt/somewhere/someuser
,从而允许 Mac OS X 用户的主目录与 FreeNAS 文件系统相匹配,从而解决了这个问题。- Samba/CIFS 现在只能对 LDAP 用户进行身份验证。这意味着通过 Samba 连接的任何用户都必须在 LDAP 数据库中拥有一个 antry,本地用户将不再起作用。这意味着您无法拥有主目录共享,请参阅 #1。