Added disco-linux-ents ball, made users use it.
This commit is contained in:
36
balls/disco-linux-ents/files/usr/sbin/disco-linux-ents
Normal file
36
balls/disco-linux-ents/files/usr/sbin/disco-linux-ents
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
DEL=""
|
||||
ADD=""
|
||||
MOD=""
|
||||
GETENT=""
|
||||
|
||||
HOSTNAME=$(hostname)
|
||||
|
||||
if [ "$1" == "user" ]; then
|
||||
GETENT="passwd"
|
||||
DEL="userdel"
|
||||
ADD="useradd"
|
||||
MOD="usermod"
|
||||
elif [ "$1" == "group" ]; then
|
||||
GETENT="group"
|
||||
DEL="groupdel"
|
||||
ADD="groupadd"
|
||||
MOD="groupmod"
|
||||
fi
|
||||
|
||||
NAME="$2"
|
||||
op="$3"
|
||||
|
||||
PARAMS=$(disco-param get ${HOSTNAME}/users/${op}/${NAME})
|
||||
getent ${GETENT} | grep "^${NAME}" 2>&1 | disco-shutup
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ] && [ "$op" == "absent" ]; then
|
||||
${DEL} ${NAME}
|
||||
elif [ $RETVAL -eq 0 ]; then
|
||||
${MOD} ${PARAMS} ${NAME}
|
||||
elif [ "$op" == "present" ]; then
|
||||
${ADD} ${PARAMS} ${NAME}
|
||||
fi
|
||||
|
||||
exit $?
|
||||
1
balls/users/requires
Normal file
1
balls/users/requires
Normal file
@@ -0,0 +1 @@
|
||||
disco-linux-ents
|
||||
@@ -11,17 +11,15 @@
|
||||
|
||||
HOSTNAME=$(hostname)
|
||||
|
||||
for username in $(disco-param keys ${HOSTNAME}/users)
|
||||
RETVAL=0
|
||||
|
||||
for op in present absent
|
||||
do
|
||||
NAME=$username
|
||||
PARAMS=$(disco-param get ${HOSTNAME}/users/${NAME})
|
||||
getent passwd | grep "^${NAME}" 2>&1 | disco-shutup
|
||||
RETVAL=$?
|
||||
if [ $RETVAL -eq 0 ] && [ "$PARAMS" == "" ]; then
|
||||
userdel ${NAME}
|
||||
elif [ $RETVAL -ne 0 ]; then
|
||||
usermod ${PARAMS} ${NAME}
|
||||
elif [ "$PARAMS" != "" ]; then
|
||||
useradd ${PARAMS} ${NAME}
|
||||
fi
|
||||
for username in $(disco-param keys ${HOSTNAME}/users/${op})
|
||||
do
|
||||
disco-linux-ents user $username $op
|
||||
RETVAL=$(expr $RETVAL + $?)
|
||||
done
|
||||
done
|
||||
|
||||
exit $RETVAL
|
||||
Reference in New Issue
Block a user