#!/bin/bash # Instalador automatizado DWService con cambio de usuario systemd # Compatible con Ubuntu/Debian/CentOS # ===== CONFIGURACIÓN ===== DW_USER="fourier" # Cambia por el usuario que quieras usar INSTALL_DIR="/usr/share/dwagent" SERVICE_FILE="/etc/systemd/system/dwagent.service" # ===== FUNCIONES ===== set -e echo "===> Verificando que el usuario $DW_USER existe..." if ! id "$DW_USER" &>/dev/null; then echo "El usuario $DW_USER no existe. Creándolo..." sudo useradd -m -s /bin/bash "$DW_USER" fi echo "===> Descargando e instalando DWAgent..." cd /tmp wget -N https://www.dwservice.net/download/dwagent.sh chmod +x dwagent.sh sudo ./dwagent.sh -silent || { echo "Error durante la instalación del agente." exit 1 } echo "===> Corrigiendo permisos del directorio $INSTALL_DIR..." sudo chown -R "$DW_USER":"$DW_USER" "$INSTALL_DIR" sudo chmod +x "$INSTALL_DIR/native/dwagsvc" echo "===> Verificando servicio systemd..." if [ ! -f "$SERVICE_FILE" ]; then echo "No se encontró el archivo $SERVICE_FILE. Abortando." exit 1 fi echo "===> Creando override systemd para ejecutar como $DW_USER..." sudo mkdir -p /etc/systemd/system/dwagent.service.d sudo tee /etc/systemd/system/dwagent.service.d/override.conf >/dev/null < Recargando systemd y reiniciando el servicio..." sudo systemctl daemon-reload sudo systemctl enable dwagent sudo systemctl restart dwagent sleep 3 sudo systemctl status dwagent --no-pager echo "===> Instalación completada." echo "El servicio DWAgent ahora corre bajo el usuario: $DW_USER"