
Quem administra Active Directory em Linux conhece o roteiro: o ADUC e o RSAT só rodam no Windows, o samba-tool devolve texto difícil de automatizar e as permissões de pasta viram uma mistura de ACL POSIX com ACL do Windows. O AD Manager nasceu para acabar com esse malabarismo. É um projeto de código aberto, sob licença MIT, que administra diretórios Windows Server ou Samba 4 — usuários, grupos, OUs, computadores e política de senha — por um painel web, um app desktop e uma CLI. Nos servidores Samba, ele também cuida dos compartilhamentos com permissões do Windows, dos backups e da migração.
Neste post eu mostro o que ele faz, como as peças se encaixam e como testar em um minuto com Docker.
O que é o AD Manager
É um binário único escrito em Go, com o painel em Vue 3 embutido. O mesmo executável funciona como painel web, como CLI, como servidor MCP para agentes de IA e como agente nos servidores de arquivos Samba. Há também um app desktop nativo para Linux, Windows e macOS (Apple Silicon, Intel e um .app universal).
O ponto que mais me importava no desenho: o painel não exige uma conta de serviço no AD. Ele fala LDAPS com o domínio usando as credenciais do administrador conectado; por padrão, o acesso é restrito a membros do grupo Domain Admins (dá para configurar outro grupo), e toda alteração vai para o log de auditoria — quem fez, de onde, o quê e quando.

O que ele faz
- Diretório: usuários, grupos, OUs, computadores e política de senha. Criar, editar, mover, ativar e desativar contas, excluir com confirmação digitada, gerador de senha e link de troca de senha para o próprio usuário escolher a nova.
- Servidores de arquivos: pastas e compartilhamentos com ACL do Windows (NTFS) por grupo e por usuário, histórico das permissões com restauração, lixeira, ABE (o usuário só vê o que pode abrir) e auditoria de arquivos.
- Backup: do controlador de domínio Samba e dos servidores de arquivos, com agenda, retenção e restauração, e também do próprio painel.
- Sincronização de pastas: traz pastas de outro servidor SMB (Windows ou Samba) com assistente, prévia, quarentena e verificação.
- Instalação pelo navegador: um assistente transforma um Ubuntu limpo em controlador de domínio, DC adicional ou servidor de arquivos.
- Migração Windows → Samba: inventário, comparação, importação de outro AD (usuários, grupos, DNS e compartilhamentos) e ingresso de um DC Samba.
- DNS, GPOs e sessões SMB, logs de auditoria, HTTP e do Samba, 14 temas (claros, escuros e visual plano) e interface em inglês e português.
Como as peças se encaixam
O painel conversa com o AD por LDAPS. Nos servidores de arquivos Samba (ou no próprio DC) roda o agente: ele recebe as solicitações por HTTPS, enfileira as tarefas com Asynq e Redis e mexe no Samba localmente. O app desktop usa a API do painel e fala direto com os agentes.

| Componente | Função |
|---|---|
ad-manager server |
Painel web HTTPS e API REST (Swagger em /swagger, depois de habilitá-lo nas Configurações) |
ad-manager agent |
Roda em cada servidor de arquivos ou DC: pastas, compartilhamentos, ACLs, backups e sincronização |
ad-manager (CLI) |
Administração do diretório pelo terminal, além de comandos de backup, sincronização, migração e importação |
ad-manager mcp |
Servidor MCP para agentes de IA consultarem e administrarem o diretório |
ad-manager-desktop |
App nativo (Fyne) para Linux, Windows e macOS |
A stack é a mesma que eu mostrei na série Vue.js + Go com Echo v5: Echo no backend e a SPA embutida no binário com go:embed.
Teste em um minuto com Docker
A imagem de demonstração sobe um domínio Samba 4 completo, com o painel e o agente, num único contêiner:
docker run -d --name ad-manager --hostname dc1 --cap-add SYS_ADMIN -p 8443:8443 jniltinho/ad-manager
docker logs ad-manager
A primeira partida leva cerca de um minuto, porque provisiona o domínio. O log mostra a URL, o usuário e a senha gerada para o Administrator. Abra https://localhost:8443, aceite o aviso de certificado não confiável (ou importe a CA da demonstração) e entre. O --cap-add SYS_ADMIN é o que permite ao Samba gravar as permissões do Windows nos atributos estendidos security.*.
Se Docker é novidade para você, vale ler a história do Docker antes.
Instalando num servidor Ubuntu 26.04
Para um servidor de verdade, baixe o .deb da página de releases, instale, ligue os serviços e leia o token de configuração:
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
Depois abra https://IP-DO-SERVIDOR:8443 e informe o token. O assistente de configuração prepara a máquina como um novo controlador de domínio, um DC adicional ou um servidor de arquivos — ou apenas conecta o painel a um Active Directory que já existe. Nada muda no servidor antes da tela de revisão.

Compartilhamentos com permissões do Windows de verdade
Esse é o recurso que mais me fez falta no Samba. Ao criar ou editar um compartilhamento, você escolhe quem tem controle total, escrita ou só leitura, por grupo ou por usuário. O agente grava a ACL do Windows usando o código do próprio Samba (o módulo acl_xattr): ela fica no atributo security.NTACL da pasta, e o Samba deriva dela uma representação POSIX aproximada. Por isso, evite alterar essas permissões direto com setfacl ou chmod. Cada troca guarda a permissão anterior, e dá para restaurá-la com um clique, inclusive nas subpastas e arquivos que herdam.

O compartilhamento fica no registro do Samba (o mesmo que o net conf edita), e não no smb.conf. Assim cada mudança é uma transação e não exige reiniciar o serviço.
Backup, sincronização e migração
Na tela de Backup você agenda cópias do DC e dos servidores de arquivos, com retenção e restauração, e faz o backup do próprio painel. Na Sincronização, um assistente de cinco passos traz pastas de outro servidor SMB: origem e teste de conexão, o que copiar, para onde, quando e uma prévia antes de copiar qualquer arquivo. O que seria apagado vai para uma quarentena, não para o lixo.

Para quem ainda tem um DC Windows, o projeto traz um roteiro de migração com verificação prévia, inventário antes e depois e importação de outro AD. Se o seu ambiente também usa LDAP para acesso remoto, combina com o Apache Guacamole com LDAP.
App desktop e IA
O app desktop reúne as principais tarefas de administração — usuários, grupos, OUs, computadores, compartilhamentos, política de senha, backup, sincronização e logs — e usa os mesmos 14 temas do painel web. Ele usa a API do painel e fala direto com os agentes para os compartilhamentos.

E com o servidor MCP embutido, um agente de IA consulta e administra o diretório com as mesmas regras e a mesma auditoria do painel. É a mesma ideia que eu usei no mcp-wp-go para o WordPress: dar ao agente ferramentas com escopo bem definido, em vez de um shell.
Código aberto
O projeto está no GitHub em github.com/jniltinho/ad-manager, sob licença MIT. Cada release traz o .deb, os binários do servidor para Linux e Windows e o app desktop para Linux, Windows e macOS. A documentação, em inglês, cobre instalação, painel, CLI, MCP, agente, backup, sincronização e migração.
Se o AD Manager te poupar tempo, deixe uma estrela no repositório e abra uma issue com o que faltou no seu ambiente. Contribuições são bem-vindas.