Partager via


Migração de Samba para Active Directory

Conseguimos provar em Laboratório que é possível realizar uma migração de um diretório baseado em Linux (Samba) para Active Directory, sem desenvolver nenhum tipo de script para importar as informações de um ambiente para o outro. E melhor, sem gerar impactos para o usuário!

Utilizando a ferramenta ADMT 3.0 conseguimos migrar todos os objetos para o Active Directory, baseado em Windows Server 2003.

Nota: Não conseguimos sucesso na utilização da versão 3.1 da ferramenta ADMT para migrar os objetos do Samba para um Active Directory baseado em Windows Server 2008. Portanto, crie um AD baseado na versão Windows 2003 e use o ADMT 3.0. Após a finalização da migração e término da convivência dos ambientes Samba e AD, atualize o AD para a versão 2008.

Considerações importantes para uma migração aonde o domínio de origem é um Samba emulando um PDC NT:

  1. No Samba, deve-se criar um usuário chamado “Administrator”, com as mesmas permissões do usuário “root”, e com a mesma senha do usuário Administrator do domínio de destino;
  2. Para que as estações possam ser migradas, a propriedade “DNS Suffix for this Connection” (em Advanced/DNS) deve estar em branco;
  3. As senhas dos usuários não podem ser migradas do Samba;
  4. O SIDHistory no domínio de destino não pode ser populado (A funcionalidade “tcpipclientsupport” não está disponível no Samba. Com isso, a migração dos SID’s torna-se inviável);
  5. Durante a fase de Convivência dos ambientes, devemos manter a Relação de Confiança aonde o Active Directory confia no Samba.

Para contornar o problema da migração dos SID’s, devemos utilizar uma funcionalidade da Ferramenta ADMT que se chama “Conversor de Segurança”. Esta funcionalidade, basicamente, analisa o sistema operacional em busca de permissões atribuídas a usuários do domínio antigo. Os objetos analisados são:

  • Arquivos e Pastas
  • Grupos Locais
  • Impressoras
  • Registro
  • Compartilhamentos
  • Perfis de Usuário
  • Direitos de Usuario

Para entender como esta funcionalidade funciona, devemos antes analisar a migração de usuários e grupos. O ADMT, no momento da migração entre domínios, cria um banco de dados local que associa as contas do domínio antigo com as do domínio novo, conforme exemplo abaixo:

Usuário Domínio Antigo

Usuário Domínio Novo

<dominioantigo>\contoso

<dominionovo>\contoso

<dominioantigo>\jtraders

<dominionovo>\jtraders

OBS: O mesmo princípio vale para os grupos.

No momento da migração de um computador (seja ele uma estação de trabalho ou um servidor de arquivos), o ADMT envia um agente para o mesmo, e com isso, antes de inserir o computador no novo domínio, o agente analisa todos os objetos citados anteriormente. Ao analisar um objeto qualquer:

  1. Analisa a sua ACL e coleta os usuários que possuem permissões;
  2. Busca no banco de dados do ADMT quem são os novos usuários (do novo domínio) associados a estes usuários do domínio antigo;
  3. Espelha as permissões NTFS do usuário antigo ao usuário novo.

Nota: O Conversor de Segurança não funciona para objetos Built-In do domínio antigo (ex: Domain Admins, etc).

Estratégia para Migração

Nesta estratégia, a ordem de migração do ambiente deve ser:

  1. Todos os Objetos do Samba para o Active Directory;
  2. Migração de todos os Serviços de Rede (Servidores de Arquivos, Aplicações, etc) para o Active Directory;
  3. Migração das estações de trabalho.

Fase de Convivência dos 2 Ambientes

Durante esta fase, os usuários continuarão logando em suas estações com os usuários antigos (Samba). Os usuários continuarão acessando os servidores já migrados para o Active Directory normalmente. Isso é possível devido a relação de Confiança existente entre os 2 domínios, conforme a ilustração abaixo:

image

  1. O usuário realiza a autenticação no domínio Samba;
  2. O usuário tenta acesso ao servidor que está no domínio Active Directory;
  3. O Servidor que recebeu a requisição verifica a credencial do usuário no domínio Samba, via Relação de Confiança;
  4. Após verificação das credenciais, o acesso ao Servidor é liberado para o usuário.

Algumas Informações Importantes para a fase de Convivência:

  • Qualquer usuário que for criado no ambiente deverá ser criado no domínio Samba, e depois ser migrado para o Active Directory via ADMT;
  • Qualquer modificação em membros de grupos deve ser feita no domínio Samba, e depois realizar um “Merge” via ADMT do grupo Modificado;
  • Toda migração deve ocorrer com o mesmo servidor ADMT, então recomendamos o Backup regular deste servidor.

Passos Necessários para Realizar a Migração

É importante ressaltar que todos os passos abaixo devem ser testados em laboratório antes de serem implementados em Produção!

  1. Criar um usuário “Administrator” no domínio Samba, com a mesma senha do usuário “Administrator” do Active Directory, com as mesmas permissões que o usuário “root”;
  2. Criar uma relação de Confiança aonde o Domínio Active Directory confia no domínio Samba;
  3. Instalar o ADMT em um servidor que esteja no domínio Active Directory;
  4. Migrar Grupos para o Active Directory via ADMT;
  5. Migrar Usuários para o Active Directory via ADMT;
  6. Migrar Servidores de Arquivos para o Novo Domínio via ADMT;
  7. Migrar demais Serviços de Rede para o Novo Domínio Active Directory;
  8. Após Migração de todos os serviços de Rede, migrar as estações gradualmente;
  9. Após a Migração de todas as Estações, aguardar estabilização do ambiente;
  10. Após estabilização, desfazer a Relação de Confiança;
  11. Desligue o Servidor Samba!

Abraços;

Guilherme Taliba

Comments

  • Anonymous
    January 01, 2003
    Olá Rodolfo, A ferramenta ADMT permite que o nome destino seja diferente do nome origem (isso vale para nome de maquina, grupo ou usuário). Para usar este recurso voce deve primeiro criar um arquivo *.csv com o formato abaixo, mantendo o cabeçalho e incluindo as linhas necessárias com os nomes dos usuários origem e o destino separados por virgula. SourceName,targetName Usu01, Usuario01 Em seguida abrir o ADMT seguindo os passos:
  1. Start, All Programas, Administrative Tools, Active directory Migration Tool
  2. Clicar com o botão da direita do mouse sobre a pasta Active Direcroty Migration Tool
  3. Selecionar a opção User Account Migration Wizard
  4. Clicar Next na tela Welcome to the Group Account Migration Wizard
  5. Selecionar os domínios origem e destino na tela Domain Selection a. Em Source selecionar o domínio Origem b. Manter a opção <Any Domain Controller> c. Em Target definir o domínio destino d. Selecionar o controlador de domínios definido para a migração e. Clicar em Next
  6. Em User Selection Option, Selecionar a opção Read objects from na include file e clicar em Next
  7. Na tela Include File Selection, Clicar em Browse e localizar a pasta e o arquivo contendo a lista de grupos a serem migrados Em seguida clicar em Next;
  • Anonymous
    January 01, 2003
    Olá Ricardo, Obrigado pelo Feedback Pela informação enviada, antes de tentar utilizar o ADMT você deve executar dois passos:
  1. Fazer com que o Samba e o AD tenham seus nomes resolvidos via DNS e WINS ou utilizando a tabela Hosts e LMHosts.
  2. Com a resolução de nomes resolvida em ambas as plataformas, você terá de criar o trust também nos dois lados, no Windows 2003 e no SAMBA. Aqui temos uma fraqueza, em nossos testes outras pessoas fizeram os passos do lado do SAMBA. Agora sim, com resolução de nomes e trusts funcionando, você pode usar o ADMT.
  • Anonymous
    January 01, 2003
    Raphael, O processo de criação do trust deve começar pela validação da resolução de nomes entre os ambientes, as configurações do Windows estão no site da Microsoft (ex:technet.microsoft.com/.../cc780479(WS.10).aspx)  e as configurações do Samba devem seguir as recomendações da versão / distribuição utilizada” Não se esqueça para que o trust entre estes 2 ambientes funcione, é necessário também: •Criar um usuário ROOT no AD, que tenha a mesma senha do usuário ROOT do Samba; •No DNS do ambiente AD, configurar um fowarding para o DNS do ambiente Samba; •No DNS Suffix da placa de rede do DC AD, configurar o namespace do ambiente Samba; Após a validação de todos os requisitos, o one-way trust (aonde o AD confia no Samba) pode ser feito pelo próprio DC do AD, via Domains and Trusts. Abraço, BRZAD

  • Anonymous
    January 01, 2003
    Olá Mauricio, Tente garantir que o trust realmente está ok, faça um outro teste tentando fazer o logon com um usuário do domínio confiado ou acesse um recurso. Abraços, BRZAD

  • Anonymous
    January 01, 2003
    Parabens pelo post. Esse é um assunto comum e que poucos sabem tratar. Artur.

  • Anonymous
    May 03, 2009
    Muito bom o post, fiz em lab e funcionou sem problemas. Estava co dúvidas com relação somente ao SID, ai vi seu post, em que diz só funciona com o Conversor de Segurança. Tem algum caso já excutado em que tenha documentação dísponivel para o publico? valeu

  • Anonymous
    May 04, 2009
    Oi Alessandro; Que bom que funcionou. Na realidade não é um processo tão complicado, mas existem alguns "truques" que precisam ser feitos. Ainda não temos um caso público documentado, mas estamos trabalhando para isso. Obrigado pela leitura! -Taliba

  • Anonymous
    June 30, 2009
    Muito bom o artigo. Estamos executando este procediemnto em um ambiente de produção, mas tenho algumas duvidas:

  1. O nome do novo dominio pode ser o mesmo do dominio anterior?
  2. Neste caso como resolver o conflito de autenticaçao dos usuários quando inserimos o servidor com AD na rede? Mesmo com DNS server diferentes e DHCP desligado, o broadcast das estaçãoes "se perde" entre os servidores 2003 e SAMBA.
  • Anonymous
    June 30, 2009
    Olá A resolução de nomes deve estar funcionando corretamente e os serviços de nomes deve ser o mesmo para ambos ambientes. utilize domínios com nomes diferentes e faça com que os seviços de DNS, WINS e DCHP funcionem de forma compartilhada para os dois ambientes.

  • Anonymous
    July 14, 2009
    Estou com um problema que não estou conseguindo achar a solução, não consigo visualizar os GRUPOS do SAMBA no ADMT, se listo os usuários aparecem todos. mas como deve ser importada primeiro os grupos não passei para o próximo passo. Pode me ajudar com isso?

  • Anonymous
    July 14, 2009
    Olá Nicholas; Na verdade, a migração via ADMT dos grupos e depois os usuários é apenas uma sugestão. Você conseguiu migrar algum usuário? Poderia enviar mais detalhes - versão do domínio de origem e destino, tipo dos grupos que estão criados no Samba e se ocorre algum erro quando o ADMT procura os grupos no domínio de origem. Abraços

  • Anonymous
    July 14, 2009
    Muito obrigado pela resposta rápida, consegui migrar todos os usuários sem erro outr problema algum. Me adicione no MSN, marchalmad1@hotmail.com qual é o seu?

  • Anonymous
    July 15, 2009
    Vamos lá, Origem: SAMBA v: 3.2.5 Dest: 2003 Server SP2 Não acontece nenhum erro quando busco os grupos pelo ADMT apenas não exibe os grupos, diferente com o que acontece com os usuários, todos são mostrados e foram importados para o AD com sucesso. A parte de que tipo de grupos eu não entendi muito bem, mas são grupos com o nome  dos setores da empresa. Alguma sugestão do que fazer? Vamos trocar emails? nicholas@emaster.info

  • Anonymous
    December 08, 2009
    Pessoal, primeiro, parabéns pelo tutorial, muito bom e completo. Estou tentando seguir os passos para migrar nosso samba para o AD, mas estamos encontrando dificultades para estabelecer a relação de confiança. O Samba é versão 3.0.25.b, o ADMT 3.0, no Windows 2003 Server SP2. Não consigo nem acessar o Samba pelo ADMT para importar os usuários. A validação da relação no AD não é concluída, dando a mensagem "A relação de confiança entre os dominios falhou" Por favor, alguém tem alguma luz? j.rfernandes@uol.com.br ou rfernandes@starplast.com.br. Obrigado.

  • Anonymous
    March 16, 2010
    Muito bom o Post PARABÉNS!!! Como procedo para migrar contas com estratégias de nomes diferentes, por exemplo: Domínio Samba = jsilva Domínio AD    = jose.silva É possível ?

  • Anonymous
    July 16, 2010
    Estou usando o Win 2003 virtualizado e o samba Version 3x. Consegui criar a relação de confiança criando um usuário root no windows, pois tive problemas no samba e não consegui de jeito algum criar o usuário Administrator. Quando vou usar o ADMT, consigo selecionar os dominios tranquilamente porém quando passo pra proxima tela sempre recebo o erro de "O SERVIDOR NÃO ESTÁ OPERACIONAL" Alguma dica ?

  • Anonymous
    August 24, 2010
    Pessoal, Estou com um ambiente para migrar e gostaria de saber como crio a relação de confiança para que o AD consiga ler objetos no SAMBA. Gostaria de uma dica sobre o que eu faço no samba para fechar o TRUST. Att, Raphael.