cosmic/bin/user

27 lines
745 B
Bash
Executable File

#!/bin/sh
run_user=$(id -u)
if [ "$run_user" -eq 0 ]; then
n="$1"
k="$2"
if [ -n "$n" ]; then
user_exists=$(id -u "${n}" 2> /dev/null)
if [ -z "${user_exists}" ]; then
printf "Adding new user %s\\n" "${n}"
newpw=$(pwgen -1B 10)
pwcrypt=$(perl -e "print crypt('${newpw}', 'sa');")
useradd -m -G users,www-data -p "$pwcrypt" -s /bin/bash "${n}" || exit 1
sed -e "s/USERNAME/${n}/g" -e "s/PASSWORD/${newpw}/" /etc/templates/welcomemail.tmpl | sendmail "${n}"
fi
if [ -n "${k}" ]; then
printf "%s\\n" "${k}" >> "/home/${n}/.ssh/authorized_keys"
else
${EDITOR:-vim} "/home/${n}/.ssh/authorized_keys"
fi
else
printf "Specify a user.\\n"
fi
else
exec sudo "$0" "$@"
fi