Script to update users password, made test and updated setup.sh (#413)
* Added script to update users password, made test and updated setup.sh * Moved update password test to tests.bat * Fixed test for update password
This commit is contained in:
parent
68e7e46308
commit
83c0095e00
5
setup.sh
5
setup.sh
|
@ -43,6 +43,7 @@ SUBCOMMANDS:
|
||||||
email:
|
email:
|
||||||
|
|
||||||
$0 email add <email> <password>
|
$0 email add <email> <password>
|
||||||
|
$0 email update <email> <password>
|
||||||
$0 email del <email>
|
$0 email del <email>
|
||||||
$0 email list
|
$0 email list
|
||||||
|
|
||||||
|
@ -115,6 +116,10 @@ case $1 in
|
||||||
shift
|
shift
|
||||||
_docker_image addmailuser $@
|
_docker_image addmailuser $@
|
||||||
;;
|
;;
|
||||||
|
update)
|
||||||
|
shift
|
||||||
|
_docker_image updatemailuser
|
||||||
|
;;
|
||||||
del)
|
del)
|
||||||
shift
|
shift
|
||||||
_docker_image delmailuser $@
|
_docker_image delmailuser $@
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DATABASE=/tmp/docker-mailserver/postfix-accounts.cf
|
||||||
|
|
||||||
|
function usage {
|
||||||
|
echo 'Usage: updatemailuser <user@domain.tld> [password]'
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -z "$1" ]; then
|
||||||
|
USER=$1
|
||||||
|
if [ -e "$DATABASE" ] && [ -z "$(grep $USER -i $DATABASE)" ]; then
|
||||||
|
echo "User doesn't exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ ! -z "$2" ]; then
|
||||||
|
PASS="$2"
|
||||||
|
else
|
||||||
|
read -s -p "Enter Password: " PASS
|
||||||
|
if [ -z "$PASS" ]; then
|
||||||
|
echo "Password can't be empty"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
ENTRY=$(echo "$USER|$(doveadm pw -s SHA512-CRYPT -u "$USER" -p "$PASS")")
|
||||||
|
sed -i.bak "s%^$USER.*%$ENTRY%g" $DATABASE
|
||||||
|
else
|
||||||
|
usage
|
||||||
|
fi
|
|
@ -645,6 +645,27 @@
|
||||||
[ -z "$output" ]
|
[ -z "$output" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "checking user updating password for user in /tmp/docker-mailserver/postfix-accounts.cf" {
|
||||||
|
docker exec mail /bin/sh -c "addmailuser user3@domain.tld mypassword"
|
||||||
|
|
||||||
|
initialpass=$(run docker exec mail /bin/sh -c "grep user3@domain.tld -i /tmp/docker-mailserver/postfix-accounts.cf")
|
||||||
|
sleep 2
|
||||||
|
docker exec mail /bin/sh -c "updatemailuser user3@domain.tld mynewpassword"
|
||||||
|
sleep 2
|
||||||
|
changepass=$(run docker exec mail /bin/sh -c "grep user3@domain.tld -i /tmp/docker-mailserver/postfix-accounts.cf")
|
||||||
|
|
||||||
|
if [ initialpass != changepass ]; then
|
||||||
|
status="0"
|
||||||
|
else
|
||||||
|
status="1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker exec mail /bin/sh -c "delmailuser user3@domain.tld"
|
||||||
|
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@test "checking accounts: listmailuser" {
|
@test "checking accounts: listmailuser" {
|
||||||
run docker exec mail /bin/sh -c "listmailuser | head -n 1"
|
run docker exec mail /bin/sh -c "listmailuser | head -n 1"
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
@ -730,6 +751,17 @@
|
||||||
run ./setup.sh -c mail email list
|
run ./setup.sh -c mail email list
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
}
|
}
|
||||||
|
@test "checking setup.sh: setup.sh email update" {
|
||||||
|
initialpass=$(cat ./config/postfix-accounts.cf | grep lorem@impsum.org | awk -F '|' '{print $2}')
|
||||||
|
run ./setup.sh -c mail email update lorem@impsum.org consectetur
|
||||||
|
updatepass=$(cat ./config/postfix-accounts.cf | grep lorem@impsum.org | awk -F '|' '{print $2}')
|
||||||
|
if [ initialpass != changepass ]; then
|
||||||
|
status="0"
|
||||||
|
else
|
||||||
|
status="1"
|
||||||
|
fi
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
}
|
||||||
@test "checking setup.sh: setup.sh email del" {
|
@test "checking setup.sh: setup.sh email del" {
|
||||||
run ./setup.sh -c mail email del lorem@impsum.org
|
run ./setup.sh -c mail email del lorem@impsum.org
|
||||||
[ "$status" -eq 0 ]
|
[ "$status" -eq 0 ]
|
||||||
|
|
Loading…
Reference in New Issue