add script set-persmissions-www dans server-httpd

This commit is contained in:
Cédric Abonnel 2025-03-22 07:55:04 +01:00
parent 285e332a9f
commit a8cd67f38c
2 changed files with 71 additions and 0 deletions

View File

@ -1,4 +1,5 @@
add_domain.sh
add_domain_ssl.sh
install-php8-3.sh
set-permissions-www.sh
setup_httpd.sh

View File

@ -0,0 +1,70 @@
#!/bin/bash
# Basé sur un travail de Cédric Abonnel / Cédrix sous licence CC BY-NC 4.0
# Importer les fonctions communes
source "$(dirname "$0")/../common/common_utils.sh"
# Vérifier si le script est exécuté en root
check_root
WWW_DIR="/var/www"
CURRENT_USER=$(whoami)
echo "Correction des permissions de $WWW_DIR/html si nécessaire..."
if [ -d "$WWW_DIR/html" ]; then
OWNER_GROUP=$(stat -c "%U:%G" "$WWW_DIR/html")
if [ "$OWNER_GROUP" != "www-data:www-data" ]; then
sudo chown -R www-data:www-data "$WWW_DIR/html"
echo "Propriétaire de /$WWW_DIR/html corrigé en www-data:www-data"
else
echo "$WWW_DIR/html est déjà correctement configuré."
fi
fi
echo ""
echo "Liste des dossiers dans $WWW_DIR :"
dirs=()
i=1
for d in "$WWW_DIR"/*/; do
folder=$(basename "$d")
dirs+=("$folder")
echo "[$i] $folder"
((i++))
done
echo "[0] Tous les dossiers"
read -p "Sur quel dossier appliquer la règle ? (Entrer le numéro ou 0 pour tous) : " choix
# Ajout de l'utilisateur courant au groupe www-data
if id -nG "$CURRENT_USER" | grep -qw "www-data"; then
echo "L'utilisateur $CURRENT_USER est déjà dans le groupe www-data"
else
echo "Ajout de $CURRENT_USER au groupe www-data..."
sudo usermod -aG www-data "$CURRENT_USER"
fi
# Fonction d'application des droits
apply_permissions() {
dossier="$1"
echo "Application des permissions sur $WWW_DIR/$dossier ..."
chown -R www-data:www-data "$WWW_DIR/$dossier"
chmod -R g+rwX "$WWW_DIR/$dossier"
}
if [ "$choix" -eq 0 ]; then
for d in "${dirs[@]}"; do
apply_permissions "$d"
done
else
index=$((choix - 1))
if [ "$index" -ge 0 ] && [ "$index" -lt "${#dirs[@]}" ]; then
apply_permissions "${dirs[$index]}"
else
echo "Choix invalide."
exit 1
fi
fi
echo ""
echo "Opération terminée. Pensez à vous déconnecter/reconnecter si c'est la première fois que vous rejoignez le groupe www-data."