This took a bit of poking and prodding, but I managed to get it working. Your webpage showed me that I was on the right track, so thanks for that.
It looks like you're not logging in with an account with enough privileges to get the hashed password back from the LDAP server. Before I added an account with root access, I'd get a result like you did above with the password concealed.
pw_passwd = {{******}}
In the packet trace I'd clearly see the filer requesting 7 fields, and the LDAP server only returning 6. After I added an account with privs, I'd see 7 out, 7 back, and could see my hashed password.
filer9> options ldap.name cn=root,dc=company,dc=co,dc=nz
filer9> options ldap.passwd [password]
filer9*> getXXbyYY getpwbyname_r gunn
pw_name = gunn
pw_passwd = saltsaltABCDEF
pw_uid = 1000, pw_gid = 1000
pw_gecos = Paul gunn
pw_dir = /home/gunn
pw_shell = /bin/bash
I already had the /etc/nsswitch.conf changes in place, and an LDAP server serving out a SYSADMIN group, so surely all I have to do is make the security changes. Or so I thought.
This works on an 8.0.4 and 7.3.6 filer.
filer9*> options security.admin.authentication internal,nsswitch
filer9*> options security.admin.nsswitchgroup SYSADMIN
If you have an 8.1+ filer, you can bind the roles for each group.Or it will default to giving admin access to any group you specify without a defined role like it does with the old versions.
filer9*> options security.admin.nsswitchgroup SYSADMIN:root
NB : If you try that syntax on an old version, it fails *silently*. Which chewed up a good block of time finding that out. Use the syntax without any roles defined first to test, then add the roles later.
Hope this helps.