fix: always use sudo for agent install (remove fallback check)

The sudo -n check was incorrectly detecting that sudo required a
password, causing fallback to plain bash without root permissions.
Now we always run the installer via sudo bash, consistent with how
all other SSH commands work (systemctl, reboot, etc.).
This commit is contained in:
2026-06-11 18:48:23 -04:00
parent 85bb70fe0f
commit f4c534c020
2 changed files with 6 additions and 8 deletions

View File

@@ -9,14 +9,14 @@ SERVICE_FILE="/etc/systemd/system/servermanager-agent.service"
echo "[1/3] Stopping and disabling service..."
systemctl stop servermanager-agent 2>/dev/null || true
systemctl disable servermanager-agent 2>/dev/null || true
systemctl daemon-reload
systemctl daemon-reload 2>/dev/null || true
echo "[2/3] Removing files..."
rm -f "$AGENT_BIN"
rm -rf "$CONFIG_DIR"
rm -f "$SERVICE_FILE"
rm -f "$AGENT_BIN" 2>/dev/null || true
rm -rf "$CONFIG_DIR" 2>/dev/null || true
rm -f "$SERVICE_FILE" 2>/dev/null || true
echo "[3/3] Reloading systemd..."
systemctl daemon-reload
systemctl daemon-reload 2>/dev/null || true
echo "ServerManager Agent uninstalled successfully."

View File

@@ -51,11 +51,9 @@ class AgentService
$b64 = base64_encode($script);
$remoteCommand = sprintf(
'echo %s | base64 -d | (sudo -n true 2>/dev/null && sudo bash -s -- %s %s || bash -s -- %s %s) 2>&1',
'echo %s | base64 -d | sudo bash -s -- %s %s 2>&1',
escapeshellarg($b64),
escapeshellarg($serverUrl),
escapeshellarg($agentKey),
escapeshellarg($serverUrl),
escapeshellarg($agentKey)
);