stoney core: OpenLDAP ldapseach and replace
From stoney cloud
Overview
This page collects some typical ldapsearch an replace use cases in the OpenLDAP directory.
Search an replace
Search an replace - Replace the content of sstMailFrom attribute
ldap_attribute="sstMailFrom" # The attribute we're interested in. For example: sstMailFrom ldap_attribute_old="Support stepping stone GmbH <support@stepping-stone.ch>" # Original (old) value of the attribute. ldap_attribute_new="Support stepping stone AG <support@stepping-stone.ch>" # The new value, that the original (old) value of the attribute is to be replaced with. ldap_bind_password='' # The password of "cn=Manager,o=stepping-stone,c=ch" ldap_server="ldaps://ldapm.stepping-stone.ch:636" ldap_base="ou=services,o=stepping-stone,c=ch" ldap_bind_account="cn=Manager,o=stepping-stone,c=ch"
Invalid language.
You need to specify a language like this: <source lang="html4strict">...</source>
Supported languages for syntax highlighting:
[Expand]
# Get all child entries. children=$(ldapsearch -LLL -x -s children \ -b "$ldap_base" \ -H "$ldap_server" \ -D "$ldap_bind_account" \ -w "$ldap_bind_password" \ "(${ldap_attribute}=${ldap_attribute_old})" # The result will contain something like: <source lang='lang=ldif'> ldapsearch -LLL -x -s children \ -H "ldaps://ldapm.stepping-stone.ch:636" \ -b "ou=services,o=stepping-stone,c=ch" \ -D "cn=Manager,o=stepping-stone,c=ch" \ -w "${ldap_bind_password}" \ "(sstMailFrom=Support stepping stone GmbH <support@stepping-stone.ch>)" \ | awk '{ if (/^ /) { sub(/^ /, ""); } else printf "\n"; printf "%s", $0 }' \ | awk '/^dn: / { print $2 }'