我正在尝试将我的文件服务器 (FreeNAS 8.0.1 / 8.2-RELEASE-p7) 与我的 Mac OS X 10.7 Lion Directory Server 的 Open Directory 连接...我知道 Mac OS X 提供 LDAP 服务,其他服务器可以通过该服务进行身份验证反对,但我很难让 FreeNAS 对 Mac OS X Open Directory 进行身份验证。
如何将我的 FreeNAS 文件服务器连接到我的 Mac OS X 目录服务器?
我正在尝试将我的文件服务器 (FreeNAS 8.0.1 / 8.2-RELEASE-p7) 与我的 Mac OS X 10.7 Lion Directory Server 的 Open Directory 连接...我知道 Mac OS X 提供 LDAP 服务,其他服务器可以通过该服务进行身份验证反对,但我很难让 FreeNAS 对 Mac OS X Open Directory 进行身份验证。
如何将我的 FreeNAS 文件服务器连接到我的 Mac OS X 目录服务器?
经过几个小时的谷歌搜索和测试,我终于设法让 FreeNAS 8 与 Mac OS X Open Directory 集成。以下是实现这一目标所需的条件:
首先,使用 Server Admin 应用程序确保 Open Directory 已启动并正在运行:
注意LDAP Search Base和Kerberos Realm。
在 FreeNAS 的 Web GUI 中,配置 LDAP 服务如下:
diradmin
用户绑定,但这可能是不必要的......)uid=diradmin,
然后是 Base DNdiradmin
用户的密码。同样,这可能是不必要的,我不确定crypt
cn=users
cn=groups
cn=users
cn=computers
Off
辅助参数:
辅助参数是关键,尤其是
sasl-host
和sasl-realm
。显然,用第一步中的信息替换*your.open.directory.server.ip.or.hostname*
和(见第一个屏幕截图)*YOUR.KERBEROS.REALM.FROM.FIRST.STEP*
当您保存更改时,LDAP 应该开始为除Samba/CIFS 之外的所有服务工作。部分困难在于如何修复 Samba:最初在 FreeNAS 上配置 LDAP 服务后,我发现根本没有用户可以通过 Samba 进行连接,即使是在 FreeNAS 机器上本地定义的用户也是如此。
Samba 的日志中没有错误,只有客户端计算机上的权限被拒绝错误。更多研究表明,我必须启用 FreeNAS Samba 服务器以使用 SASL与LDAP 配置分开对 Mac OS X Open Directory 进行身份验证。
请务必注意,Mac OS X LDAP 数据库不包含密码数据。只能通过 SASL/Kerberos 进行身份验证。在 Apple 论坛上引用David Colville1 的话:
这就是
sasl-host
LDAP 配置中如此重要的原因。配置 Samba 以使用 SASL:
更新 2012-12-31:这不再适合我。我已经尝试了几个小时来确定原因,但到目前为止还无法确定。
在 FreeNAS Web GUI 中,按如下方式配置 CIFS 服务:
(CIFS 配置屏幕很长,为了清晰起见,我将最顶部和最底部合并在一起)
Local User
辅助参数:
保存这些更改后,使用 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 文件系统,解决了这个问题。