57 lines
1.2 KiB
Bash
57 lines
1.2 KiB
Bash
#!/bin/sh
|
|
|
|
#
|
|
#### FUNCTIONS
|
|
#
|
|
|
|
system_groupadd () {
|
|
echo groupadd -r -g "$2" "$1"
|
|
rc=$?
|
|
if [ $rc -ne 0 ] ; then
|
|
echo "ERROR - Unable to add $1 group! ($rc)" 1>&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
system_useradd () {
|
|
system_groupadd "${@}"
|
|
echo useradd -r -u "$2" -g "$2" -s /bin/sh -m "$1"
|
|
rc=$?
|
|
if [ $rc -ne 0 ] ; then
|
|
echo "ERROR - Unable to add $1 user! ($rc)" 1>&2
|
|
exit 2
|
|
fi
|
|
}
|
|
|
|
add_groups_to_user () {
|
|
echo usermod -aG "$1" "$2"
|
|
rc=$?
|
|
if [ $rc -ne 0 ] ; then
|
|
echo "ERROR - Unable to add groups ($1) to user ($2)! ($rc)" 1>&2
|
|
exit 3
|
|
fi
|
|
}
|
|
|
|
|
|
#
|
|
#### PROCESS
|
|
#
|
|
|
|
###########?????????? VERIFY RUNNING AS ROOT
|
|
|
|
# Create system group hpf-sudo for normal sudo users
|
|
system_groupadd hpf-sudo 700
|
|
|
|
# Create system group hpf-sudo-np for special sudo users that don't require a password
|
|
system_groupadd hpf-sudo-np 701
|
|
|
|
# Create the Ansible user
|
|
system_useradd hpf-ans 800
|
|
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 chown root:root "$f"
|
|
echo chmod u=rw,g=r,o= "$f"
|