ansible/roles/shell/files/var/lib/znc/create-znc_account.sh

45 lines
926 B
Bash
Raw Normal View History

2019-02-04 13:58:54 +00:00
#!/bin/bash
# ZNC account creation
CONF="/var/lib/znc/.znc/configs/znc.conf"
PID=$(pgrep -u znc znc)
NEWCONF="/var/lib/znc/znc_account.newconf"
2019-02-04 13:58:54 +00:00
# $username and $password are retrieved from create-account script
2019-04-03 13:30:05 +00:00
if [[ -z $1 || -z $2 ]]
2019-02-04 13:58:54 +00:00
then
2019-04-03 13:30:05 +00:00
echo -e "Usage: $(basename $0) [username] [password]"
2019-02-04 13:58:54 +00:00
exit
fi
# search if $username has been added previously
if grep -iq $1 $CONF
then
echo -e "User: '$1' already exists"
exit
fi
username=$1
2019-04-03 13:30:05 +00:00
password=$2
2019-02-04 13:58:54 +00:00
kill -s USR1 $PID # Rewrite znc.conf
sleep 1
2019-04-03 13:30:05 +00:00
# set username and password
sed s/newuser/$username/g $NEWCONF >> $CONF
2019-04-03 13:30:05 +00:00
expect << EOF | grep -E 'Hash|Salt' | tr -d \\r >> $CONF
spawn znc --makepass
expect "*Enter password: "
send "$password\r"
expect "*Confirm password: "
send "$password\r"
expect eof
EOF
echo " </Pass>" >> $CONF
echo "</User>" >> $CONF
2019-02-04 13:58:54 +00:00
sleep 1
kill -s HUP $PID # Reload znc.conf
sleep 1
kill -s USR1 $PID # Rewrite znc.conf