使用开放目录自动authenticationQNAP NAS上的共享

我试图让一些客户端OS X机器使用单独的LDAP Open Directory服务器自动validationQNAP共享。

(注意:我使用下面的example.com来隐藏真实的服务器名称,因为它现在已经暴露了)

networking有:

  1. 运行Open Directory的OSX Server计算机(例如,服务器是master.example.com)

  2. 多个OSX客户端机器使用networking帐户连接和validation服务器。

到目前为止,这部分工作很好。

我现在增加一个单独的QNAP NAS作为文件服务器(一个TVS-871T供参考),例如叫做server.example.com

我已将QNAP Nasconfiguration为在域安全性控制面板中使用OSX服务器进行LDAP身份validation。

QNAP中的LDAP配置

Server: master.example.com Base DN: dc=master,dc=example,dc=com Root DN is the Open directory admin: uid=keymaster,dc=master,dc=example,dc=com Users Base DN is: cn=users,dc=master,dc=example,dc=com Groups Base DN is: cn=groups,dc=master,dc=example,dc=com 

我可以看到QNAP界面中的networking用户和群组,并让他们访问共享。

我可以从一个afp客户端(Cmd + K)手动安装共享并input用户名和密码。

到现在为止还挺好。

现在的问题..我试图让所有的networking帐户login时自动安装共享。

通常我会在OSX服务器configuration文件pipe理器中将其configuration为经过身份validation的networking安装(在安装操作期间自动使用用户的networking帐户进行身份validation)。 如果它是打开的目录主机本身的一个份额,则testing和运行良好。

认证安装

但是,当我尝试在QNAP驱动器上自动安装共享时,客户端会popupauthentication窗口。

登录窗口

这似乎是说它无法login到它。 即使我重新input密码,它仍然不想login。

控制台在NetAuthSysAgent AFP_OpenSession – Login failed with 80显示错误AFP_OpenSession – Login failed with 80

现在,有趣的是,如果我尝试用用户的简短用户名login – 例如joesmith在这个实例 – 然后它login到共享。

所以基本上,我可以使用用户名进行部分身份validation,但无法获得自动安装,因为 – 我猜 – 客户端尝试使用稍微不同的方法(在login框中显示全名)。

有没有办法让我这个工作? 我是否错过QNAP ldapconfiguration的设置以使其工作?

我应该在QNAP服务器上configuration不同的LDAP连接以允许来自osx客户端的身份validation系统吗?

编辑:

我在OD服务器上使用Wireshark进行了一些探索,看看QNAP设备发送了什么(我绝对是绝望的),我可以看到QNAP设备做了一个(&(objectClass=posixAccount)(uid=Joe Smith))查询OD主机,确认发送错误凭证的假设。

使用ldapsearch我也可以复制这个。 如果我将查询从uid更改为cn那么它在命令行上起作用。 不知道是否可以改变QNAP发送searchfilter的方式。

编辑2:

我可以通过编辑获得QNAP驱动器使用CN而不是uid:

/mnt/HDA_ROOT/.config/nss_ldap.conf

并添加

nss_map_attribute uid cn

到它。

然后/etc/init.d/ldap.sh restart

这然后允许我用全名login。

但是,这会打破组ACL。

再看看Wireshark,ldapauthentication现在也使用CN来进行组成员testing: (&(objectClass=posixGroup)(memberUid=Joe Smith))

如果你给个人用户共享访问,但我想使用组ACL ACL 🙁

编辑3:

pam ldap似乎有一个名为pam_login_attribute的选项,这正是我所需要的,但是nss ldap似乎没有使用它或者有类似的select。