=============================================== Notes/tips/lessons learned on use of ldapsearch =============================================== * In its simplest form:: # ldapsearch -x # extended LDIF # # LDAPv3 # base (default) with scope subtree # filter: (objectclass=*) # requesting: ALL # # example.com dn: dc=example,dc=com objectClass: dcObject objectClass: organization o: Example Company dc: example # admin, example.com dn: cn=admin,dc=example,dc=com objectClass: organizationalRole cn: admin # search result search: 2 result: 0 Success # numResponses: 3 # numEntries: 2 * Notice, no config section:: # ldapsearch -D cn=admin,cn=config -w mypwd -b cn=config [[ **HUGE** amount snipped ]] # search result search: 2 result: 0 Success # numResponses: 19 # numEntries: 18 * So, need to trim that down a bit. The format is ``ldapsearch [ -x | -D ... ] -b ${base} ${filter} ${subfilter}`` For instance:: # ldapsearch -D cn=admin,cn=config -w 3pizda -b cn=config dn | grep ^dn dn: cn=config dn: cn=schema,cn=config dn: cn={0}corba,cn=schema,cn=config dn: cn={1}core,cn=schema,cn=config dn: cn={2}cosine,cn=schema,cn=config dn: cn={3}duaconf,cn=schema,cn=config dn: cn={4}dyngroup,cn=schema,cn=config dn: cn={5}inetorgperson,cn=schema,cn=config dn: cn={6}java,cn=schema,cn=config dn: cn={7}misc,cn=schema,cn=config dn: cn={8}nis,cn=schema,cn=config dn: cn={9}openldap,cn=schema,cn=config dn: cn={10}ppolicy,cn=schema,cn=config dn: cn={11}collective,cn=schema,cn=config dn: olcDatabase={-1}frontend,cn=config dn: olcDatabase={0}config,cn=config dn: olcDatabase={1}monitor,cn=config dn: olcDatabase={2}bdb,cn=config * Now, if you wanted to find out what's in the bdb database config. Notice that you use the RDN, not the full one:: # ldapsearch -D cn=admin,cn=config -w 3pizda -b cn=config 'olcDatabase={2}bdb' # extended LDIF # # LDAPv3 # base with scope subtree # filter: olcDatabase={2}bdb # requesting: ALL # # {2}bdb, config dn: olcDatabase={2}bdb,cn=config objectClass: olcDatabaseConfig objectClass: olcBdbConfig olcDatabase: {2}bdb olcDbDirectory: /var/lib/ldap olcSuffix: dc=example,dc=com olcAddContentAcl: FALSE olcLastMod: TRUE olcMaxDerefDepth: 15 olcReadOnly: FALSE [[snip]] * OK, so that's still alot of crap. What if you want **just** the dbdirectory:: # ldapsearch -D cn=admin,cn=config -w 3pizda -b cn=config 'olcDatabase={2}bdb' olcdbdirectory # extended LDIF # # LDAPv3 # base with scope subtree # filter: olcDatabase={2}bdb # requesting: olcdbdirectory # # {2}bdb, config dn: olcDatabase={2}bdb,cn=config olcDbDirectory: /var/lib/ldap # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1