makeuser/include/functions

44 lines
1.2 KiB
Bash

#!/bin/bash
#Common functions used for several makeuser scripts
error_exit() {
echo -e "${PROGNAME}: ${1:-"Unknown Error"}" >&2
exit 1
}
usage() {
echo -e "usage: $PROGNAME [-h|--help] <username> <email> \"<pubkey>\""
}
sub_to_list() {
echo "From: $1 Subject: subscribe" | sudo -u $1 mail $LIST_NAME
}
makeuser_no_ansible()
{
echo "adding new user $1"
newpw=`pwgen -1B 10`
pwcrypt=$(perl -e "print crypt('${newpw}', 'sa');")
sudo useradd -m -g 1000 -p $pwcrypt -s /bin/bash $1 || exit 1
#This is the welcome for team.
#sed -e "s/newusername/$1/g" -e "s/newpassword/$newpw/" $EMAIL_TEMPLATE | sudo mail $1 $2 $ADMIN_EMAIL
#This is the welcome email for thunix
sed -e "s/newusername/$1/g" -e "s/newpassword/$newpw/g" include/email.tmpl | sudo mail -s "Welcome to Thunix!" $2,$ADMIN_EMAIL
sub_to_list $1
#We don't need this for thunix, since ansible will do it
#echo "$3" | tee /home/$1/.ssh/authorized_keys
#If root doesn't have a fediverse account, comment this out
#sudo toot "welcome new user ~$1!"
}
add_account_recovery()
{
sudo mkdir -p --mode=700 /home/$1/.thunix
echo $2 | sudo tee /home/$1/.thunix/recovery
sudo chmod 600 /home/$1/.thunix/recovery
sudo chown -R $1 /home/$1/.thunix
}