diff options
Diffstat (limited to 'trunk/add-group')
-rwxr-xr-x | trunk/add-group | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/trunk/add-group b/trunk/add-group new file mode 100755 index 0000000..603466e --- /dev/null +++ b/trunk/add-group @@ -0,0 +1,44 @@ +#!/bin/sh +#--------------------------------------------------------------- +# Project : Mandriva Linux +# Module : rpm-helper +# File : add-group +# Version : $Id$ +# Author : Frederic Lepied +# Created On : Mon Jul 29 15:07:28 2002 +# Purpose : helper script for rpm scriptlets to add a +# system group. +#--------------------------------------------------------------- + +if [ $# -lt 3 ]; then + echo "usage: $0 <pkg name> <num installed> <group name> [<user1>,<user2>...]" 1>&2 + exit 1 +fi + +pkg=$1 # name of the package +num=$2 # number of packages installed +name=$3 # name of the group +users=$4 # users to add to this group + +if ! getent group $name > /dev/null 2>&1; then + /usr/sbin/groupadd -r $name > /dev/null + + if [ -n "$users" ]; then + SAVED_IFS="$IFS" + export IFS="$IFS", + set $users + IFS="$SAVED_IFS" + + for u in $*; do + old=`egrep "[:,]$u(,|$)" /etc/group | cut -d : -f 1 | xargs echo` + if [ -n "$old" ]; then + old=`echo ",$old" | sed 's/ /,/g'` + fi + /usr/sbin/usermod -G $name$old $u > /dev/null + done + fi +fi + +exit 0 + +# add-group ends here |