{"id":1880,"date":"2026-10-19T13:41:50","date_gmt":"2026-10-19T16:41:50","guid":{"rendered":"https:\/\/www.linuxpro.com.br\/?p=1880"},"modified":"2026-10-19T13:46:20","modified_gmt":"2026-10-19T16:46:20","slug":"ad-manager-active-directory-e-samba-4-pelo-navegador-desktop-e-cli","status":"publish","type":"post","link":"https:\/\/www.linuxpro.com.br\/es\/2026\/10\/ad-manager-active-directory-e-samba-4-pelo-navegador-desktop-e-cli\/","title":{"rendered":"AD Manager: Active Directory y Samba 4 desde el navegador, escritorio y CLI"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/ad-manager-active-directory-samba-v1.webp\" alt=\"Mascote LinuxPro administrando o Active Directory no painel do AD Manager, ao lado de racks de servidores e do cachorro caramelo\" width=\"1486\" height=\"856\" \/><\/p>\n<p>Quien administra Active Directory en Linux conoce el gui\u00f3n: ADUC y RSAT solo funcionan en Windows, el <code data-no-translation=\"\">samba-tool<\/code> devuelve texto dif\u00edcil de automatizar y los permisos de carpetas se convierten en una mezcla de ACL POSIX con ACL de Windows. El <strong>AD Manager<\/strong> naci\u00f3 para acabar con ese malabarismo. Es un proyecto de c\u00f3digo abierto, bajo licencia MIT, que administra directorios <strong>Windows Server<\/strong> o <strong>Samba 4<\/strong> \u2014 usuarios, grupos, OUs, equipos y pol\u00edtica de contrase\u00f1as \u2014 desde un panel web, una aplicaci\u00f3n de escritorio y una CLI. En los servidores Samba, tambi\u00e9n se encarga de los recursos compartidos con permisos de Windows, de las copias de seguridad y de la migraci\u00f3n.<\/p>\n<p>En esta publicaci\u00f3n muestro qu\u00e9 hace, c\u00f3mo encajan las piezas y c\u00f3mo probarlo en un minuto con Docker.<\/p>\n<h2>Qu\u00e9 es AD Manager<\/h2>\n<p>Es un \u00fanico 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\u00e9n hay una aplicaci\u00f3n de escritorio nativa para Linux, Windows y macOS (Apple Silicon, Intel y un <code data-no-translation=\"\">.app<\/code> universal).<\/p>\n<p>El punto que m\u00e1s me importaba en el dise\u00f1o: el panel <strong>no requiere una cuenta de servicio<\/strong> en el AD. Se comunica mediante LDAPS con el dominio usando las credenciales del administrador conectado; por defecto, el acceso est\u00e1 limitado a miembros do grupo <em>Domain Admins<\/em> (se puede configurar otro grupo), y cada cambio queda registrado en el log de auditor\u00eda: qui\u00e9n lo hizo, desde d\u00f3nde, qu\u00e9 hizo y cu\u00e1ndo.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/ad-manager-usuarios.webp\" alt=\"Lista de usu\u00e1rios no painel web do AD Manager\" \/><\/p>\n<h2>Qu\u00e9 hace<\/h2>\n<ul>\n<li><strong>Directorio:<\/strong> usuarios, grupos, UO, equipos y pol\u00edtica de contrase\u00f1as. Crear, editar, mover, activar y desactivar cuentas, eliminar con confirmaci\u00f3n escrita, generador de contrase\u00f1as y <strong>enlace para cambiar contrase\u00f1a<\/strong> para que el propio usuario elija la nueva.<\/li>\n<li><strong>Servidores de archivos:<\/strong> carpetas y recursos compartidos con <strong>ACL de Windows (NTFS)<\/strong> por grupo y por usuario, historial de permisos con restauraci\u00f3n, papelera, ABE (el usuario solo ve lo que puede abrir) y auditor\u00eda de archivos.<\/li>\n<li><strong>Copia de seguridad:<\/strong> del controlador de dominio Samba y de los servidores de archivos, con programaci\u00f3n, retenci\u00f3n y restauraci\u00f3n, y tambi\u00e9n del propio panel.<\/li>\n<li><strong>Sincronizaci\u00f3n de carpetas:<\/strong> trae carpetas de otro servidor SMB (Windows o Samba) con asistente, vista previa, cuarentena y verificaci\u00f3n.<\/li>\n<li><strong>Instalaci\u00f3n desde el navegador:<\/strong> un asistente convierte un Ubuntu limpio en controlador de dominio, DC adicional o servidor de archivos.<\/li>\n<li><strong>Migraci\u00f3n Windows \u2192 Samba:<\/strong> inventario, comparaci\u00f3n, importaci\u00f3n desde otro AD (usuarios, grupos, DNS y\u8d44\u6e90\u5171\u4eab) e ingreso de un DC Samba.<\/li>\n<li><strong>DNS, GPOs y sesiones SMB<\/strong>, registros de auditor\u00eda, HTTP y de Samba, 14 temas (claros, oscuros y aspecto plano) e interfaz en ingl\u00e9s y portugu\u00e9s.<\/li>\n<\/ul>\n<h2>C\u00f3mo encajan las piezas<\/h2>\n<p>El panel se comunica con el AD mediante LDAPS. En los servidores de archivos Samba (o en el propio DC) se ejecuta el <strong>agente<\/strong>: que recibe las solicitudes por HTTPS, pone en cola las tareas con <a href=\"\/es\/2026\/09\/asynq-filas-de-tarefas-em-go-com-redis-e-asynqmon\/\">Asynq y Redis<\/a> y act\u00faa sobre Samba localmente. La aplicaci\u00f3n de escritorio utiliza la API del panel y habla directamente con los agentes.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/ad-manager-arquitetura.webp\" alt=\"Diagrama da arquitetura do AD Manager: painel, CLI, MCP, desktop, agentes, Redis e controladores Samba\" \/><\/p>\n<table>\n<thead>\n<tr>\n<th>Componente<\/th>\n<th>Funci\u00f3n<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code data-no-translation=\"\">ad-manager server<\/code><\/td>\n<td>Panel web HTTPS y API REST (Swagger en <code data-no-translation=\"\">\/swagger<\/code>, despu\u00e9s de habilitarlo en Configuraci\u00f3n)<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">ad-manager agent<\/code><\/td>\n<td>Se ejecuta en cada servidor de archivos o DC: carpetas, comparticiones, ACLs, copias de seguridad y sincronizaci\u00f3n<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">ad-manager<\/code> (CLI)<\/td>\n<td>Administraci\u00f3n del directorio desde el terminal, adem\u00e1s de comandos de copia de seguridad, sincronizaci\u00f3n, migraci\u00f3n e importaci\u00f3n<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">ad-manager mcp<\/code><\/td>\n<td>Servidor MCP para que agentes de IA consulten y administren el directorio<\/td>\n<\/tr>\n<tr>\n<td><code data-no-translation=\"\">ad-manager-desktop<\/code><\/td>\n<td>Aplicaci\u00f3n nativa (Fyne) para Linux, Windows y macOS<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>La pila es la misma que mostr\u00e9 en la serie <a href=\"\/es\/2026\/09\/vue-go-echo-v5-parte-5-embed-binario-unico-e-docker\/\">Vue.js + Go con Echo v5<\/a>: Echo en el backend y la SPA incrustada en el binario con <code data-no-translation=\"\">go:embed<\/code>.<\/p>\n<h2>Pru\u00e9balo en un minuto con Docker<\/h2>\n<p>La imagen de demostraci\u00f3n levanta un dominio Samba 4 completo, con el panel y el agente, en un \u00fanico contenedor:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">docker run -d --name ad-manager --hostname dc1 --cap-add SYS_ADMIN -p 8443:8443 jniltinho\/ad-manager\ndocker logs ad-manager<\/code><\/pre>\n<p>La primera arranque tarda aproximadamente un minuto, ya que aprovisiona el dominio. El registro muestra la URL, el usuario y la contrase\u00f1a generados para el <code data-no-translation=\"\">Administrator<\/code>. Abra <code data-no-translation=\"\">https:\/\/localhost:8443<\/code>, acepte el aviso de certificado no fiable (o importe la CA de la demostraci\u00f3n) e inicie sesi\u00f3n. El <code data-no-translation=\"\">--cap-add SYS_ADMIN<\/code> es lo que permite a Samba escribir los permisos de Windows en los atributos extendidos <code data-no-translation=\"\">security.*<\/code>.<\/p>\n<p>Si Docker es nuevo para ti, vale la pena leer <a href=\"\/es\/2026\/09\/a-historia-do-docker\/\">la historia de Docker<\/a> antes.<\/p>\n<h2>Instalando en un servidor Ubuntu 26.04<\/h2>\n<p>Para un servidor de verdad, descarga el <code data-no-translation=\"\">.deb<\/code> de la <a href=\"https:\/\/github.com\/jniltinho\/ad-manager\/releases\/latest\">p\u00e1gina de lanzamientos<\/a>, instala, inicia los servicios y lee el token de configuraci\u00f3n:<\/p>\n<pre data-no-translation=\"\"><code class=\"language-bash\" data-no-translation=\"\">sudo apt install --no-install-recommends .\/ad-manager_X.Y.Z_amd64.deb\nsudo systemctl enable --now ad-manager ad-manager-agent\nsudo cat \/opt\/ad-manager\/data\/setup-token<\/code><\/pre>\n<p>Luego abre <code data-no-translation=\"\">https:\/\/IP-DO-SERVIDOR:8443<\/code> e introduce el token. El asistente de configuraci\u00f3n prepara la m\u00e1quina como un nuevo controlador de dominio, un DC adicional o un servidor de archivos \u2014 o simplemente conecta el panel a un Active Directory que ya existe. Nada cambia en el servidor antes de la pantalla de revisi\u00f3n.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/ad-manager-setup-assistente.webp\" alt=\"Assistente de instala\u00e7\u00e3o do AD Manager no navegador, etapa de detalhes do novo dom\u00ednio\" \/><\/p>\n<h2>Recursos compartidos con permisos reales de Windows<\/h2>\n<p>Este es el recurso que m\u00e1s me ha faltado en el Samba. Al crear o editar un recurso compartido, se elige qui\u00e9n tiene control total, escritura o solo lectura, por grupo o por usuario. El agente escribe la ACL de Windows usando el propio c\u00f3digo de Samba (el m\u00f3dulo <code data-no-translation=\"\">acl_xattr<\/code>): se guarda en el atributo <code data-no-translation=\"\">security.NTACL<\/code> de la carpeta, y Samba deriva de ella una representaci\u00f3n POSIX aproximada. Por eso, evita cambiar estos permisos directamente con <code data-no-translation=\"\">setfacl<\/code> o <code data-no-translation=\"\">chmod<\/code>. Cada cambio guarda el permiso anterior y se puede restaurar con un clic, incluso en las subcarpetas y archivos que lo heredan.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/ad-manager-compartilhamento-permissoes.webp\" alt=\"Edi\u00e7\u00e3o de compartilhamento no AD Manager com as permiss\u00f5es do Windows da pasta\" \/><\/p>\n<p>El recurso compartido queda en el registro de Samba (el mismo que el <code data-no-translation=\"\">net conf<\/code> edita), y no en el <code data-no-translation=\"\">smb.conf<\/code>. As\u00ed cada cambio es una transacci\u00f3n y no requiere reiniciar el servicio.<\/p>\n<h2>Copia de seguridad, sincronizaci\u00f3n y migraci\u00f3n<\/h2>\n<p>En la pantalla de Copias de seguridad se programan copias del DC y de los servidores de archivos, con retenci\u00f3n y restauraci\u00f3n, y se realiza la copia de seguridad del propio panel. En la Sincronizaci\u00f3n, un asistente de cinco pasos trae carpetas de otro servidor SMB: origen y prueba de conexi\u00f3n, qu\u00e9 copiar, a d\u00f3nde, cu\u00e1ndo y una vista previa antes de copiar cualquier archivo. Lo que se eliminar\u00eda va a una cuarentena, no a la papelera.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/ad-manager-assistente-sincronizacao.webp\" alt=\"Assistente de sincroniza\u00e7\u00e3o de pastas do AD Manager testando a conex\u00e3o com o servidor de origem\" \/><\/p>\n<p>Para quien todav\u00eda tenga un DC Windows, el proyecto trae una gu\u00eda de migraci\u00f3n con verificaci\u00f3n previa, inventario antes y despu\u00e9s e importaci\u00f3n de otro AD. Si su entorno tambi\u00e9n usa LDAP para acceso remoto, se combina con el <a href=\"\/es\/2026\/09\/apache-guacamole-acesso-remoto-com-docker-ldap-e-sso\/\">Apache Guacamole con LDAP<\/a>.<\/p>\n<h2>Aplicaci\u00f3n de escritorio e IA<\/h2>\n<p>La aplicaci\u00f3n de escritorio re\u00fane las principales tareas de administraci\u00f3n: usuarios, grupos, UO, computadoras, comparticiones, pol\u00edtica de contrase\u00f1as, copia de seguridad, sincronizaci\u00f3n 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.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/ad-manager-app-desktop.webp\" alt=\"App desktop do AD Manager mostrando a lista de usu\u00e1rios do dom\u00ednio\" \/><\/p>\n<p>Y con el servidor MCP integrado, un agente de IA consulta y administra el directorio con las mismas reglas y la misma auditor\u00eda del panel. Es la misma idea que utilic\u00e9 en <a href=\"\/es\/2026\/09\/mcp-wp-go-wordpress-por-mcp-sem-ssh\/\">mcp-wp-go para WordPress<\/a>: dar al agente herramientas con un \u00e1mbito bien definido, en lugar de un shell.<\/p>\n<h2>C\u00f3digo abierto<\/h2>\n<p>El proyecto est\u00e1 en GitHub en <a href=\"https:\/\/github.com\/jniltinho\/ad-manager\">github.com\/jniltinho\/ad-manager<\/a>, bajo licencia MIT. Cada release trae los <code data-no-translation=\"\">.deb<\/code>, los binarios del servidor para Linux y Windows y la aplicaci\u00f3n de escritorio para Linux, Windows y macOS. La documentaci\u00f3n, en ingl\u00e9s, cubre instalaci\u00f3n, panel, CLI, MCP, agente, copia de seguridad, sincronizaci\u00f3n y migraci\u00f3n.<\/p>\n<p>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.<\/p>","protected":false},"excerpt":{"rendered":"<p>AD Manager es un proyecto de c\u00f3digo abierto que administra Active Directory en Windows Server o Samba 4 mediante panel web, aplicaci\u00f3n de escritorio, CLI y MCP, con comparticiones con permisos de Windows, copia de seguridad, sincronizaci\u00f3n y migraci\u00f3n.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21,2,111,84],"tags":[552,156,31,553,311,554,87,468],"class_list":["post-1880","post","type-post","status-publish","format-standard","hentry","category-infra","category-linux","category-opensource","category-samba4","tag-active-directory","tag-docker","tag-golang","tag-ldap","tag-mcp","tag-open-source","tag-samba4","tag-vue"],"_links":{"self":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/1880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/comments?post=1880"}],"version-history":[{"count":2,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/1880\/revisions"}],"predecessor-version":[{"id":1889,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/posts\/1880\/revisions\/1889"}],"wp:attachment":[{"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/media?parent=1880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/categories?post=1880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxpro.com.br\/es\/wp-json\/wp\/v2\/tags?post=1880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}