stoney core: OpenLDAP ldapseach and replace
Jump to navigation
Jump to search
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"
# 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:
dn: ou=unsuccessful,ou=templates,uid=5000000,ou=reseller,ou=configuration,ou=b
ackup,ou=services,o=stepping-stone,c=ch
description: This leaf contains the quota templates for the (online) backupser
vice.
objectClass: top
objectClass: organizationalUnit
objectClass: sstTemplateSetup
ou: unsuccessful
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare-int.stepping-
stone.ch/templates/services/backup/unsuccessful/unsuccessful_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare-int.s
tepping-stone.ch/templates/services/backup/unsuccessful/unsuccessful_mail_res
eller
sstMailTemplateResellerFormatSource: txt
sstMailTemplateResellerFormatTarget: txtldapsearch -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 }'
</source>