#!/bin/sh # _ldapmodifygroup : modifies a POSIX group account in LDAP interactively # Copyright (C) 2007 Ganaël LAPLANCHE # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, # USA. if [ -z "$1" ] then echo "Usage : $0 " exit 1 fi # Source runtime file _RUNTIMEFILE="/usr/local/etc/ldapscripts/runtime" . "$_RUNTIMEFILE" # Find groupname : $1 must exist in LDAP ! _findentry "$GSUFFIX,$SUFFIX" "(&(objectClass=posixGroup)(|(cn=$1)(gidNumber=$1)))" [ -z "$_ENTRY" ] && end_die "Group $1 not found in LDAP" # Allocate and create temp file mktempf echo "dn: $_ENTRY" > "$_TMPFILE" || end_die "Error writing to temporary file $_TMPFILE" # Display entry echo "# About to modify the following entry :" _ldapsearch "$_ENTRY" # Edit entry echo "# Enter your modifications here, end with CTRL-D." echo "dn: $_ENTRY" cat >> "$_TMPFILE" || end_die "Error writing to temporary file $_TMPFILE" # Send modifications cat "$_TMPFILE" | _ldapmodify if [ $? -ne 0 ] then reltempf end_die "Error modifying group entry $_ENTRY in LDAP" fi reltempf end_ok "Successfully modified group entry $_ENTRY in LDAP"