#!/bin/bash set -e SRC_DIR="$(cd "$(dirname "$0")" && pwd)" WEB_DIR="/var/www" BIN_TARGET="/usr/local/bin/usb-bind-wrapper.sh" SUDOERS_FILE="/etc/sudoers.d/010_www-data-nopasswd" HEADER_FILE="/var/www/header.php" echo "== Installation du plugin ==" cp -r "$SRC_DIR/js" "$WEB_DIR/js" cp "$SRC_DIR/usb-toogle.php" "$WEB_DIR/" # 2. Installer le script dans /usr/local/bin echo "-- Installation du wrapper USB" cp "$SRC_DIR/bin/usb-bind-wrapper.sh" "$BIN_TARGET" chmod +x "$BIN_TARGET" # 3. Vérifier sudo echo "-- Vérification de sudo" if ! command -v sudo >/dev/null 2>&1; then echo "Erreur: sudo n'est pas installé" exit 1 fi # 4. Configurer sudoers echo "-- Configuration sudoers" if [ ! -f "$SUDOERS_FILE" ]; then echo "Création du fichier sudoers" echo "www-data ALL=(ALL) NOPASSWD: ALL" | sudo tee "$SUDOERS_FILE" > /dev/null sudo chmod 440 "$SUDOERS_FILE" else echo "Le fichier sudoers existe déjà" fi echo "-- Modification de header.php" if [ ! -f "$HEADER_FILE" ]; then echo "Erreur: $HEADER_FILE introuvable" exit 1 fi if [ ! -f "$ADD_HEADER_FILE" ]; then echo "Erreur: add-header.php introuvable" exit 1 fi # Vérifier si déjà présent if grep -q 'usb-toggle.js' "$HEADER_FILE"; then echo "Script déjà présent, on skip" else TMP_FILE=$(mktemp) awk -v script="$SCRIPT_TAG" ' { # On injecte juste avant if ($0 ~ /<\/head>/) { print " " script } print }' "$HEADER_FILE" > "$TMP_FILE" sudo mv "$TMP_FILE" "$HEADER_FILE" echo "Script injecté avec succès" fi echo "== Installation terminée =="