This repository has been archived on 2026-05-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
disco/balls/users/scripts/00-makeusers.sh

28 lines
770 B
Bash

#!/bin/bash
########################
# 00-makeusers.sh
#
# Make linux users for the 'users' disco ball
# Each user is represented as a key under ${HOSTNAME}/users, with the value
# of each key being a list of useradd/usermod compatible command line flags
# that are passed, one each, directly into usermod/useradd
########################
HOSTNAME=$(hostname)
for username in $(disco-param keys ${HOSTNAME}/users)
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
done