69 lignes
1.6 KiB
Bash
69 lignes
1.6 KiB
Bash
#!/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 </head>
|
|
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 =="
|