From 920a7de56845fbd86d9fe648aa00b0089c655134 Mon Sep 17 00:00:00 2001 From: oliver Date: Sun, 8 Nov 2026 05:08:17 -0300 Subject: [PATCH] db access --- app/sbin/ODOO_19/restore | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/sbin/ODOO_19/restore b/app/sbin/ODOO_19/restore index f4b74da..d1ec1c0 100755 --- a/app/sbin/ODOO_19/restore +++ b/app/sbin/ODOO_19/restore @@ -65,6 +65,20 @@ doas docker exec "$UUID" rm -rf /root/.local/share/Odoo/filestore if ! doas docker exec "$UUID" odoo db --db_host beedb -w "$ODOO_DB_PASSWORD" -r "$UUID" load "$UUID" $FILENAME -f; then echo "ERROR: odoo db load failed - putting the old filestore back" + + +# Restrict database access to its UUID owner +PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" psql \ + -h "$POSTGRES_HOST" -U "$POSTGRES_ADMIN_USER" \ + -p "$POSTGRES_PORT" -d postgres \ + -v ON_ERROR_STOP=1 \ + -c "REVOKE CONNECT, TEMPORARY ON DATABASE \"$UUID\" FROM PUBLIC; + GRANT CONNECT ON DATABASE \"$UUID\" TO \"$UUID\"; + ALTER DATABASE \"$UUID\" OWNER TO \"$UUID\"; + ALTER ROLE \"$UUID\" NOCREATEDB;" + + + doas docker exec "$UUID" sh -c "[ -d $OLD_FS ] && rm -rf /home/odoo/.local/share/Odoo/filestore && mv $OLD_FS /home/odoo/.local/share/Odoo/filestore; true" PGPASSWORD="$POSTGRES_ADMIN_PASSWORD" psql \ -h "$POSTGRES_HOST" -U "$POSTGRES_ADMIN_USER" -p "$POSTGRES_PORT" -d postgres \