|
@@ -0,0 +1,50 @@
|
|
|
+#!/usr/bin/env bash
|
|
|
+set -e
|
|
|
+
|
|
|
+function sec_init
|
|
|
+{
|
|
|
+
|
|
|
+cat <<EOF | isql-fb security.db
|
|
|
+create or alter user SYSDBA password '$_SYSDBA_PWD';
|
|
|
+commit;
|
|
|
+quit;
|
|
|
+EOF
|
|
|
+
|
|
|
+if [ -f /run/secrets/FB3_USER_NAME ] && [ -f /run/secrets/FB3_USER_PWD ]; then
|
|
|
+ echo "Setting up Firebird user $(cat /run/secrets/FB3_USER_NAME) with 'grant create database'"
|
|
|
+ cat <<EOF | isql-fb security.db
|
|
|
+ create or alter user $(cat /run/secrets/FB3_USER_NAME) password '$(cat /run/secrets/FB3_USER_PWD)';
|
|
|
+ grant create database to user $(cat /run/secrets/FB3_USER_NAME);
|
|
|
+ commit;
|
|
|
+ quit;
|
|
|
+EOF
|
|
|
+fi
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+if [ -f /run/secrets/FB3_SYSDBA_PWD ]; then
|
|
|
+ _SYSDBA_PWD=$(cat /run/secrets/FB3_SYSDBA_PWD)
|
|
|
+else
|
|
|
+ _SYSDBA_PWD=$RANDOM$RANDOM
|
|
|
+ echo "Setting SYSDBA's random password: "$_SYSDBA_PWD
|
|
|
+fi
|
|
|
+
|
|
|
+sed -i "s/^UserManager/#Tmp UserManager/" /etc/firebird/firebird.conf
|
|
|
+echo "UserManager = Legacy_UserManager" >> /etc/firebird/firebird.conf
|
|
|
+sec_init
|
|
|
+sed -i "s/UserManager = Legacy_UserManager//" /etc/firebird/firebird.conf
|
|
|
+sed -i "s/#Tmp UserManager/UserManager/" /etc/firebird/firebird.conf
|
|
|
+sec_init
|
|
|
+
|
|
|
+rm -f /var/log/firebird/firebird.log
|
|
|
+mkfifo /var/log/firebird/firebird.log
|
|
|
+tail -f /var/log/firebird/firebird.log &
|
|
|
+
|
|
|
+exec "$@"
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|