3 [ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm
4 [ -z "$RPM_SCRIPTVERBOSITY" ] && RPM_SCRIPTVERBOSITY=5
6 # aborts program abnormally
18 if [ "$BANNERCMD" = cat ]; then
21 if [ "$RPM_SCRIPTVERBOSITY" -lt 2 ]; then
22 echo "$BANNERCMD -M $1"
24 echo "$BANNERCMD -s -M $1"
33 [ "$RPM_USERDEL" != yes ] || [ ! -x /bin/rpm ] && return 1
34 [ -z "$name" ] && return 2
35 rpm -q --whatprovides "$mode($name)" >/dev/null 2>&1
36 # no package Provides it (strange)
37 [ $? -ne 0 ] && return 0
38 # only current package Provides it
39 [ $(rpm -q --whatprovides "$mode($name)" | wc -l) -lt 2 ] && return 0
45 local gid=$(getgid "$name" 2>/dev/null)
47 echo "Removing group $name" | $(bannercmd "groupdel-$name")
48 /usr/sbin/groupdel $name || :
51 [ ! -x /usr/sbin/nscd ] || /usr/sbin/nscd -i group
55 local uid=$(id -un "$name" 2>/dev/null)
57 echo "Removing user $name" | $(bannercmd "userdel-$name")
58 /usr/sbin/userdel $name || :
61 [ ! -x /usr/sbin/nscd ] || /usr/sbin/nscd -i passwd
67 if ! testrm $mode $name; then
77 local uid=$(id -un "$user" 2>/dev/null)
78 local gid=$(getgid "$group" 2>/dev/null)
80 if [ -z "$gid" ]; then
84 die "group $group does not exist"
88 if [ -z "$uid" ]; then
92 die "user $user does not exist"
96 groups=$(id -n -G $user)
97 if [[ " $groups " != *\ $group\ * ]]; then
98 echo "Adding user $user to group $group" | $(bannercmd "${MODE}mod-$user")
99 for grp in $groups $group; do
100 new="$new${new:+,}$grp"
102 usermod -G "$new" $user
106 if [ -x /usr/bin/banner.sh ]; then
107 BANNERCMD="/usr/bin/banner.sh "
108 BANNERPARA="-s -M user-group.error"
114 if [ "$1" = user -o "$1" = group ]; then
121 # quiet mode cames from $ENV
136 if [ "$MODE" = "user" ]; then
137 if [ -z "$2" -o -z "$3" ]; then
144 die "Invalid usage" 2