X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=rpm-user_group.sh;h=677c8b8cb417ec223f13022227609d5d69bcb3b4;hb=edee8a80f6b686a652d4925b74650a051f1856d4;hp=921bdc2259bd2a27f0aee15b56ff082ecb0e49b3;hpb=7c689a4574b64330d15583d0743316f582ccb646;p=packages%2Frpm.git diff --git a/rpm-user_group.sh b/rpm-user_group.sh index 921bdc2..677c8b8 100644 --- a/rpm-user_group.sh +++ b/rpm-user_group.sh @@ -3,14 +3,35 @@ [ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm [ -z "$RPM_SCRIPTVERBOSITY" ] && RPM_SCRIPTVERBOSITY=5 +if [ -x /usr/bin/banner.sh ]; then + BANNERCMD="/usr/bin/banner.sh " + BANNERPARA="-s -M user-group.error" +else + BANNERCMD="cat" + BANNERPARA="" +fi + if [ "$1" = user -o "$1" = group ]; then MODE=$1 else - echo ERROR + echo ERROR | $BANNERCMD $BANNERPARA exit 2 fi shift +bannercmd() +{ + if [ "$BANNERCMD" == cat ]; then + echo cat + else + if [ "$RPM_SCRIPTVERBOSITY" -lt 2 ]; then + echo "$BANNERCMD -M $1" + else + echo "$BANNERCMD -s -M $1" + fi + fi +} + testrm() { [ "$RPM_USERDEL" != yes ] && return 1 @@ -28,9 +49,17 @@ if [ "$1" = "testrm" ]; then exit $? elif [ "$1" = del ]; then if testrm $2; then - [ "$RPM_SCRIPTVERBOSITY" -lt 2 ] || echo "Removing $MODE $2" + echo "Removing $MODE $2" | `bannercmd "${MODE}del-$2"` /usr/sbin/${MODE}del $2 || : fi +elif [ "$MODE" = "user" -a "$1" = "addtogroup" ]; then + USER=$2 + GROUP=$3 + GROUPS=`id -n -G $USER | sed -e's/^[^ ]* //;s/ /,/g'` + if ! echo ",$GROUPS," | grep -q ",$GROUP," ; then + echo "Adding user $USER to group $GROUP" | `bannercmd "${MODE}mod-$USER"` + usermod -G "$GROUPS,$GROUP" $USER + fi else echo ERROR exit 2