Allowing anonymous BIND on Microsoft AD LDS (LDAP server)
See also: Deleting an LDS instance (below)
Create an LDS instance
1) If not done already, install the Active Directory Lightweight Directory Services
role
2) Create a unique LDS instance. We'll call it "TestingXYZ" (which gives a "service name" of "ADAM_TestingXYZ")
3) Assign useful port numbers (because the standard port numbers of 389 and 686 are already in use by AD). E.g., 50389 and 50686
4) Create an application directory partition suitable for what you want to do, e.g., cn=MyStuff,dc=cse,dc=unsw,dc=edu,dc=au
5) Optional: For security when updating via the LDAP interface, assign administrator permissions to a separate, specified account. You'll later need to be using this account when you use ADSI Edit
(below).
6) Import the required LDIF files, e.g., MS-InetOrgPerson.LDF
The instance should start.
Configure the LDS instance for anonymous bind
1) Use regedit
and get the value of HKEY_LOCAL_MACHINE
→ SYSTEM
→ CurrentControlSet
→ services
→ ADAM_TestingXYZ
(see above) → Parameters
→ Configuration NC
2) Run ADSI Edit
from Server Manager
. Select Action
→ Connect to...
. Name it: "Configure TestingXYZ" (match name to above). Specify host and port (can be 127.0.0.1:<port>). Set "Distinguished Name or Naming Context" to the value from regedit
above.
3) Expand the new connection: Configure TestingXYZ
(from above) → CN=Configuration...
→ CN=Services
→ CN=WindowsNT
. Right click on CN=Directory Service
and set dsHeuristics
to "0000002001001".
4) Done
For additional information, google for "dsHeuristic".
Trying it out
From MacOS or Linux you can then do something like:
ldapsearch -H ldap://win2k8r2ent.my.desk:50389 -b cn=MyStuff,dc=cse,dc=unsw,dc=edu,dc=au -x
and get:
# extended LDIF # # LDAPv3 # basewith scope subtree # filter: (objectclass=*) # requesting: ALL # # MyStuff, cse.unsw.edu.au dn: CN=MyStuff,DC=cse,DC=unsw,DC=edu,DC=au # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1
Deleting an LDS instance
Note: Use Start
→ Control Panel
→ Programs and Features
to find and delete an LDS instance.