This commit is contained in:
2026-04-26 17:47:14 +02:00
13 changed files with 572 additions and 121 deletions
+11 -3
View File
@@ -29,10 +29,10 @@ echo ""
echo "🔐 Génération d'un mot de passe fort pour le rôle '$ROLE_NAME'..."
ROLE_PASSWORD=$(generate_token 20)
# Exécution des commandes SQL de manière sécurisée
echo "🔎 Exécution des commandes SQL avec sudo..."
# Générer un fichier SQL temporaire pour la vérification + création
SQL_FILE=$(mktemp)
sudo -u postgres env PGPASSWORD="${POSTGRES_PASSWORD}" psql -v ON_ERROR_STOP=1 -U postgres -h localhost <<EOF
cat <<EOF > "$SQL_FILE"
DO \$\$
BEGIN
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${ROLE_NAME}') THEN
@@ -45,6 +45,14 @@ END
\$\$;
EOF
chmod 644 "$SQL_FILE"
# Une seule exécution de psql via sudo avec mot de passe PostgreSQL exporté
echo "🔎 Exécution des commandes SQL avec sudo..."
sudo -u postgres bash -c "PGPASSWORD='${POSTGRES_PASSWORD}' psql -v ON_ERROR_STOP=1 -f '${SQL_FILE}'"
rm -f "$SQL_FILE"
# Affichage des identifiants si création
echo ""
echo "-------------------------------------------"