Compare commits

...

2 Commits

Author SHA1 Message Date
70facd85f3 sql sécurisé - pgpassword 2025-04-07 07:29:46 +02:00
5eda1c002e autoconfirmation pour iinstall curl 2025-04-07 07:07:19 +02:00
2 changed files with 4 additions and 10 deletions

View File

@@ -148,7 +148,7 @@ configure_timezone() {
} }
install_paquets() { install_paquets() {
apt install curl apt install -y curl
} }
### SECTION PRINCIPALE : Activer/Désactiver les options ici ### SECTION PRINCIPALE : Activer/Désactiver les options ici

View File

@@ -29,10 +29,10 @@ echo ""
echo "🔐 Génération d'un mot de passe fort pour le rôle '$ROLE_NAME'..." echo "🔐 Génération d'un mot de passe fort pour le rôle '$ROLE_NAME'..."
ROLE_PASSWORD=$(generate_token 20) ROLE_PASSWORD=$(generate_token 20)
# Générer un fichier SQL temporaire pour la vérification + création # Exécution des commandes SQL de manière sécurisée
SQL_FILE=$(mktemp) echo "🔎 Exécution des commandes SQL avec sudo..."
cat <<EOF > "$SQL_FILE" sudo -u postgres env PGPASSWORD="${POSTGRES_PASSWORD}" psql -v ON_ERROR_STOP=1 -U postgres -h localhost <<EOF
DO \$\$ DO \$\$
BEGIN BEGIN
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${ROLE_NAME}') THEN IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${ROLE_NAME}') THEN
@@ -45,12 +45,6 @@ END
\$\$; \$\$;
EOF EOF
# 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 # Affichage des identifiants si création
echo "" echo ""
echo "-------------------------------------------" echo "-------------------------------------------"