diff --git a/bootstrap.sh b/bootstrap.sh index 190141a..c467b18 100644 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -4,7 +4,19 @@ #### FUNCTIONS # +# $group_name $group_number +group_exists () { + grep -q "^$1:[^:]*:$2:" /etc/group +} + +# $user_name $user_number +user_exists () { + grep -q "^$1:[^:]*:$2:$2:" /etc/passwd +} + +# $group_name $group_number system_groupadd () { + if group_exists "$1" "$2" ; then return 0 ; fi echo groupadd -r -g "$2" "$1" rc=$? if [ $rc -ne 0 ] ; then @@ -13,7 +25,9 @@ system_groupadd () { fi } +# $user_name $user_number system_useradd () { + if user_exists "$1" "$2" ; then return 0 ; fi system_groupadd "${@}" echo useradd -r -u "$2" -g "$2" -s /bin/sh -m "$1" rc=$? @@ -23,6 +37,7 @@ system_useradd () { fi } +# $groups $user_name add_groups_to_user () { echo usermod -aG "$1" "$2" rc=$? @@ -37,7 +52,11 @@ add_groups_to_user () { #### PROCESS # -###########?????????? VERIFY RUNNING AS ROOT +# Make sure we're running as root +if [ $(id -u) -ne 0 ] ; then + echo "ERROR - Not running as root!" 1>&2 + exit 100 +fi # Create system group hpf-sudo for normal sudo users system_groupadd hpf-sudo 700 @@ -51,6 +70,6 @@ add_groups_to_user "hpf-sudo-np" hpf-ans # Create /etc/sudoers.d/hpetersenfamily f="/etc/sudoers.d/hpf" -echo curl -o "$f" https://gitea.admin-a.hpetersenfamily.com/heath/ansible/raw/branch/main/etc_sudoers_d_hpf +echo curl -o "$f" "https://gitea.admin-a.hpetersenfamily.com/heath/ansible/raw/branch/main/etc_sudoers_d_hpf" echo chown root:root "$f" echo chmod u=rw,g=r,o= "$f"