#!/bin/sh # # Univention LDAP overlay memberOf # Initialize memberOf overlay # # Copyright 2011 Univention GmbH # # http://www.univention.de/ # # All rights reserved. # # The source code of this program is made available # under the terms of the GNU Affero General Public License version 3 # (GNU AGPL V3) as published by the Free Software Foundation. # # Binary versions of this program provided by Univention to you as # well as other copyrighted, protected or trademarked materials like # Logos, graphics, fonts, specific documentations and configurations, # cryptographic keys etc. are subject to a license agreement between # you and Univention and not subject to the GNU AGPL V3. # # In the case you use this program under the terms of the GNU AGPL V3, # the program is provided in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public # License with the Debian GNU/Linux or Univention distribution in file # /usr/share/common-licenses/AGPL-3; if not, see # . eval $(univention-config-registry shell ldap/base) ldif_add=`mktemp -t ldif_add.XXXXXX` ldif_delete=`mktemp -t ldif_delete.XXXXXX` echo "LDIF: $ldif_add; $ldif_delete" ldapsearch -xLLL '(&(objectClass=posixGroup)(uniqueMember=*))' dn uniqueMember | ldapsearch-wrapper | sed '/dn: /s|$|\nchangetype: modify\nadd: uniqueMember|' > $ldif_add grep "^dn: " $ldif_add | sed '/dn: /s|$|\nchangetype: modify\ndelete: uniqueMember\n|' > $ldif_delete echo "Remove all uniqueMember attributes from groups:" ldapmodify -D cn=admin,$ldap_base -w$(cat /etc/ldap.secret) -f $ldif_delete echo "Waiting for replication to complete..." # Damit der Listener das nicht abfangen kann sleep 10 echo "Readd all uniqueMember attributes:" ldapmodify -D cn=admin,$ldap_base -w$(cat /etc/ldap.secret) -f $ldif_add echo "Done" rm -f $ldif_add $ldif_delete