diff --git a/scripts/testbed_cron.sh b/scripts/testbed_cron.sh index 5491a68..c9f299b 100755 --- a/scripts/testbed_cron.sh +++ b/scripts/testbed_cron.sh @@ -2,8 +2,14 @@ set -ex THIS_DIR=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd ) +check_username() { + ( echo $1 | grep -qxE "^[a-z][-a-z0-9_]*\$" ) || return 1 + return 0 +} + touch_user() { test -n "$1" + check_username $1 || { echo "Invalid user name $1 !"; exit -1; } if id -u $1 1>/dev/null 2>&1; then return fi @@ -12,13 +18,8 @@ touch_user() { exit 1 fi - adduser \ - --shell /bin/bash \ - --disabled-password \ - --home /home/$1 \ - --gecos "nasp member" \ - $1 - usermod -a -G nasp $1 + useradd -m --groups nasp $1 + su - $1 -c "true" mkdir -p /home2/$1 chown $1: /home2/$1