From 753e2be7eddda86084bc27f7f254db35e3d24d42 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 30 Jul 2024 14:16:27 +0000 Subject: [PATCH] Added check if admin user exists in reset-adminpassword --- bin/reset-adminpassword | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bin/reset-adminpassword b/bin/reset-adminpassword index 0fd17f8..de671a4 100755 --- a/bin/reset-adminpassword +++ b/bin/reset-adminpassword @@ -23,13 +23,18 @@ get_ldapdomain [ ! -d "/federated/apps/ldap" ] && echo "* ldap is not installed." && exit 2 LDAP_BIND_PASSWORD=$(cat /federated/apps/ldap/.ldap.secret) - if [[ $LDAP_DOMIAN_MIDDLE ]]; then + # Check if admin user exists first + [[ ! $(docker exec ldap ldapsearch -x -LLL -H ldap://localhost -b dc=$LDAP_DOMAIN_FIRST,dc=$LDAP_DOMAIN_MIDDLE,dc=$LDAP_DOMAIN_LAST -w $LDAP_BIND_PASSWORD -D cn=admin,dc=$LDAP_DOMAIN_FIRST,dc=$LDAP_DOMAIN_MIDDLE,dc=$LDAP_DOMAIN_LAST uid=admin) ]] && echo "* admin user doesn't exist." && exit 2 + echo -ne "* Resetting the LDAP admin@$LDAP_DOMAIN_FIRST.$LDAP_DOMAIN_MIDDLE.$LDAP_DOMAIN_LAST password.." docker exec ldap ldappasswd -H ldap://localhost -D "cn=admin,dc=$LDAP_DOMAIN_FIRST,dc=$LDAP_DOMAIN_MIDDLE,dc=$LDAP_DOMAIN_LAST" -x -w $LDAP_BIND_PASSWORD -s $PASSWORD uid=admin,ou=people,dc=$LDAP_DOMAIN_FIRST,dc=$LDAP_DOMAIN_MIDDLE,dc=$LDAP_DOMAIN_LAST -Z [ $? -ne 0 ] && failcheck "* Couldn't run ldappasswd inside ldap container" echo -ne "done.\n" else + # Check if admin user exists first + [[ ! $(docker exec ldap ldapsearch -x -LLL -H ldap://localhost -b dc=$LDAP_DOMAIN_FIRST,dc=$LDAP_DOMAIN_LAST -w $LDAP_BIND_PASSWORD -D cn=admin,dc=$LDAP_DOMAIN_FIRST,dc=$LDAP_DOMAIN_LAST uid=admin) ]] && echo "* admin user doesn't exist." && exit 2 + echo -ne "* Resetting the LDAP admin@$LDAP_DOMAIN_FIRST.$LDAP_DOMAIN_LAST password.." docker exec ldap ldappasswd -H ldap://localhost -D "cn=admin,dc=$LDAP_DOMAIN_FIRST,dc=$LDAP_DOMAIN_LAST" -x -w $LDAP_BIND_PASSWORD -s $PASSWORD uid=admin,ou=people,dc=$LDAP_DOMAIN_FIRST,dc=$LDAP_DOMAIN_LAST -Z [ $? -ne 0 ] && failcheck "* Couldn't run ldappasswd inside ldap container"