add script set-persmissions-www dans server-httpd
This commit is contained in:
parent
285e332a9f
commit
a8cd67f38c
scripts/server-httpd
|
@ -1,4 +1,5 @@
|
|||
add_domain.sh
|
||||
add_domain_ssl.sh
|
||||
install-php8-3.sh
|
||||
set-permissions-www.sh
|
||||
setup_httpd.sh
|
||||
|
|
|
@ -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."
|
Loading…
Reference in New Issue