This commit is contained in:
Case Duckworth 2020-04-09 22:37:09 +00:00
parent 2c70e161c2
commit 90b34e2f9f
1 changed files with 45 additions and 0 deletions

45
bakeradd/bin/bakeradd Executable file
View File

@ -0,0 +1,45 @@
#!/bin/bash
# bakeradd: utility to add bakers
# run with sudo
set -euo pipefail
shell=/bin/bash
name=
groups=bakers
keyfile=
user=
die()
{
case "$1" in
[0-9]*) ec=$?; shift ;;
*) ec=1 ;;
esac
echo "!! bakeradd : $@"
exit "$ec"
}
while getopts s:n:G:k:u: opt; do
case "$opt" in
s) shell="$OPTARG" ;;
n) name="$OPTARG" ;;
G) groups="$groups${groups:+,}$OPTARG" ;;
k) keyfile="$OPTARG" ;;
u) user="$OPTARG" ;;
\?) die 2 "Unknown arg "-$opt" ;;
*) exit 2 ;;
esac
done
[ -z "$name" ] && die "Need a name"
[ -z "$user" ] && die "Need a username"
[ -z "$keyfile" ] && die "Need a keyfile"
echo "Adding the user..."
adduser --shell="$shell" --gecos="$name" --disabled-password "$user"
usermod -a -G"$groups" "$user"
"echo "Setting up ssh..."
sudo --user="$user" mkdir "/home/$user/.ssh"
sudo --user="$user" cp "$keyfile" "/home/$user/.ssh/authorized_keys2"