|
|
@@ -0,0 +1,54 @@
|
|
|
+#!/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 <<EOF
|
|
|
+[Service]
|
|
|
+User=$DW_USER
|
|
|
+EOF
|
|
|
+
|
|
|
+echo "===> 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"
|