
Quien administra Active Directory en Linux conoce el guión: ADUC y RSAT solo funcionan en Windows, el samba-tool devuelve texto difícil de automatizar y los permisos de carpetas se convierten en una mezcla de ACL POSIX con ACL de Windows. El AD Manager nació para acabar con ese malabarismo. Es un proyecto de código abierto, bajo licencia MIT, que administra directorios Windows Server o Samba 4 — usuarios, grupos, OUs, equipos y política de contraseñas — desde un panel web, una aplicación de escritorio y una CLI. En los servidores Samba, también se encarga de los recursos compartidos con permisos de Windows, de las copias de seguridad y de la migración.
En esta publicación muestro qué hace, cómo encajan las piezas y cómo probarlo en un minuto con Docker.
Qué es AD Manager
Es un único binario escrito en Go, con el panel en Vue 3 incrustado. El mismo ejecutable funciona como panel web, como CLI, como servidor MCP para agentes de IA y como agente en los servidores de archivos Samba. También hay una aplicación de escritorio nativa para Linux, Windows y macOS (Apple Silicon, Intel y un .app universal).
El punto que más me importaba en el diseño: el panel no requiere una cuenta de servicio en el AD. Se comunica mediante LDAPS con el dominio usando las credenciales del administrador conectado; por defecto, el acceso está limitado a miembros do grupo Domain Admins (se puede configurar otro grupo), y cada cambio queda registrado en el log de auditoría: quién lo hizo, desde dónde, qué hizo y cuándo.

Qué hace
- Directorio: usuarios, grupos, UO, equipos y política de contraseñas. Crear, editar, mover, activar y desactivar cuentas, eliminar con confirmación escrita, generador de contraseñas y enlace para cambiar contraseña para que el propio usuario elija la nueva.
- Servidores de archivos: carpetas y recursos compartidos con ACL de Windows (NTFS) por grupo y por usuario, historial de permisos con restauración, papelera, ABE (el usuario solo ve lo que puede abrir) y auditoría de archivos.
- Copia de seguridad: del controlador de dominio Samba y de los servidores de archivos, con programación, retención y restauración, y también del propio panel.
- Sincronización de carpetas: trae carpetas de otro servidor SMB (Windows o Samba) con asistente, vista previa, cuarentena y verificación.
- Instalación desde el navegador: un asistente convierte un Ubuntu limpio en controlador de dominio, DC adicional o servidor de archivos.
- Migración Windows → Samba: inventario, comparación, importación desde otro AD (usuarios, grupos, DNS y资源共享) e ingreso de un DC Samba.
- DNS, GPOs y sesiones SMB, registros de auditoría, HTTP y de Samba, 14 temas (claros, oscuros y aspecto plano) e interfaz en inglés y portugués.
Cómo encajan las piezas
El panel se comunica con el AD mediante LDAPS. En los servidores de archivos Samba (o en el propio DC) se ejecuta el agente: que recibe las solicitudes por HTTPS, pone en cola las tareas con Asynq y Redis y actúa sobre Samba localmente. La aplicación de escritorio utiliza la API del panel y habla directamente con los agentes.

| Componente | Función |
|---|---|
ad-manager server |
Panel web HTTPS y API REST (Swagger en /swagger, después de habilitarlo en Configuración) |
ad-manager agent |
Se ejecuta en cada servidor de archivos o DC: carpetas, comparticiones, ACLs, copias de seguridad y sincronización |
ad-manager (CLI) |
Administración del directorio desde el terminal, además de comandos de copia de seguridad, sincronización, migración e importación |
ad-manager mcp |
Servidor MCP para que agentes de IA consulten y administren el directorio |
ad-manager-desktop |
Aplicación nativa (Fyne) para Linux, Windows y macOS |
La pila es la misma que mostré en la serie Vue.js + Go con Echo v5: Echo en el backend y la SPA incrustada en el binario con go:embed.
Pruébalo en un minuto con Docker
La imagen de demostración levanta un dominio Samba 4 completo, con el panel y el agente, en un único contenedor:
docker run -d --name ad-manager --hostname dc1 --cap-add SYS_ADMIN -p 8443:8443 jniltinho/ad-manager
docker logs ad-manager
La primera arranque tarda aproximadamente un minuto, ya que aprovisiona el dominio. El registro muestra la URL, el usuario y la contraseña generados para el Administrator. Abra https://localhost:8443, acepte el aviso de certificado no fiable (o importe la CA de la demostración) e inicie sesión. El --cap-add SYS_ADMIN es lo que permite a Samba escribir los permisos de Windows en los atributos extendidos security.*.
Si Docker es nuevo para ti, vale la pena leer la historia de Docker antes.
Instalando en un servidor Ubuntu 26.04
Para un servidor de verdad, descarga el .deb de la página de lanzamientos, instala, inicia los servicios y lee el token de configuración:
sudo apt install --no-install-recommends ./ad-manager_X.Y.Z_amd64.deb
sudo systemctl enable --now ad-manager ad-manager-agent
sudo cat /opt/ad-manager/data/setup-token
Luego abre https://IP-DO-SERVIDOR:8443 e introduce el token. El asistente de configuración prepara la máquina como un nuevo controlador de dominio, un DC adicional o un servidor de archivos — o simplemente conecta el panel a un Active Directory que ya existe. Nada cambia en el servidor antes de la pantalla de revisión.

Recursos compartidos con permisos reales de Windows
Este es el recurso que más me ha faltado en el Samba. Al crear o editar un recurso compartido, se elige quién tiene control total, escritura o solo lectura, por grupo o por usuario. El agente escribe la ACL de Windows usando el propio código de Samba (el módulo acl_xattr): se guarda en el atributo security.NTACL de la carpeta, y Samba deriva de ella una representación POSIX aproximada. Por eso, evita cambiar estos permisos directamente con setfacl o chmod. Cada cambio guarda el permiso anterior y se puede restaurar con un clic, incluso en las subcarpetas y archivos que lo heredan.

El recurso compartido queda en el registro de Samba (el mismo que el net conf edita), y no en el smb.conf. Así cada cambio es una transacción y no requiere reiniciar el servicio.
Copia de seguridad, sincronización y migración
En la pantalla de Copias de seguridad se programan copias del DC y de los servidores de archivos, con retención y restauración, y se realiza la copia de seguridad del propio panel. En la Sincronización, un asistente de cinco pasos trae carpetas de otro servidor SMB: origen y prueba de conexión, qué copiar, a dónde, cuándo y una vista previa antes de copiar cualquier archivo. Lo que se eliminaría va a una cuarentena, no a la papelera.

Para quien todavía tenga un DC Windows, el proyecto trae una guía de migración con verificación previa, inventario antes y después e importación de otro AD. Si su entorno también usa LDAP para acceso remoto, se combina con el Apache Guacamole con LDAP.
Aplicación de escritorio e IA
La aplicación de escritorio reúne las principales tareas de administración: usuarios, grupos, UO, computadoras, comparticiones, política de contraseñas, copia de seguridad, sincronización y registros, y utiliza los mismos 14 temas del panel web. Utiliza la API del panel y habla directamente con los agentes para las comparticiones.

Y con el servidor MCP integrado, un agente de IA consulta y administra el directorio con las mismas reglas y la misma auditoría del panel. Es la misma idea que utilicé en mcp-wp-go para WordPress: dar al agente herramientas con un ámbito bien definido, en lugar de un shell.
Código abierto
El proyecto está en GitHub en github.com/jniltinho/ad-manager, bajo licencia MIT. Cada release trae los .deb, los binarios del servidor para Linux y Windows y la aplicación de escritorio para Linux, Windows y macOS. La documentación, en inglés, cubre instalación, panel, CLI, MCP, agente, copia de seguridad, sincronización y migración.
Si AD Manager te ahorra tiempo, deja una estrella en el repositorio y abre una incidencia con lo que falte en tu entorno. Las contribuciones son bienvenidas.