#!/bin/bash export BASEDN=cn=implicit_files,cn=sysdb DB=test.ldb NUM=20000 indexes() { echo "dn: @INDEXLIST @IDXATTR: cn @IDXATTR: objectclass @IDXATTR: member @IDXATTR: memberof @IDXATTR: name @IDXATTR: uidNumber @IDXATTR: gidNumber @IDXATTR: lastUpdate @IDXATTR: dataExpireTimestamp @IDXATTR: originalDN @IDXATTR: nameAlias @IDXATTR: servicePort @IDXATTR: serviceProtocol @IDXATTR: sudoUser @IDXATTR: sshKnownHostsExpire @IDXATTR: objectSIDString @IDXATTR: ghost @IDXATTR: userPrincipalName @IDXATTR: canonicalUserPrincipalName @IDXATTR: uniqueID @IDXATTR: mail @IDXATTR: userMappedCertificate @IDXATTR: ccacheFile @IDXATTR: originalADgidNumber distinguishedName: @INDEXLIST dn: @ATTRIBUTES canonicalUserPrincipalName: CASE_INSENSITIVE cn: CASE_INSENSITIVE dc: CASE_INSENSITIVE dn: CASE_INSENSITIVE objectclass: CASE_INSENSITIVE originalDN: CASE_INSENSITIVE userPrincipalName: CASE_INSENSITIVE distinguishedName: @ATTRIBUTES " } one_sudo_rule() { local RULE=$1 echo "dn: cn=${RULE},ou=sudoers,${BASEDN} objectClass: top objectClass: sudoRole cn: ${RULE} sudoHost: ALL sudoCommand: /bin/command_${RULE} sudoUser: ALL " } make_ldif() { for a in `seq $1`; do one_sudo_rule rule_$a done } if [ "$1" != "" ]; then NUM=$1 fi INDEXES=0 if [ "$2" == "indexes" ]; then INDEXES=1 fi set -e rm -f $DB touch $DB # uncomment this line to add indexes <=================================================== if [ $INDEXES -eq 1 ]; then indexes | ldbadd -H $DB fi # uncomment this line to add indexes <=================================================== time (make_ldif $NUM | ldbadd -H $DB)