Sincronizando Bases OpenLDAP e Active Directory

O objetivo do artigo é a centralização da base de usuários, ou seja, por um fim a vários logins e senhas de uma rede com vários serviços autenticados. Abordarei um cenário que replica alterações na base OpenLDAP para o Active Directory.

[ Hits: 54.884 ]

Por: Evandro Nabor em 14/02/2013


Iniciando a sincronização



Para iniciar a sincronização, acesse /usr/local/lsc e execute o comando:

# bin/lsc -f etc/ -s all -c all

Se tudo ocorrer bem, a saída deverá ser igual a essa:


Feb 04 22:02:59 - INFO - Starting sync for user
Feb 04 22:02:59 - INFO - Connecting to LDAP server ldap://172.31.1.28/dc=texas,dc=local as cn=Manager,dc=texas,dc=local
Feb 04 22:03:00 - INFO - Connecting to LDAP server ldaps://172.31.1.99/DC=texas,DC=local as CN=LSC,CN=Users,DC=texas,DC=local
Feb 04 22:03:01 - INFO - # Adding new entry CN=lverde,CN=Users for user
dn: CN=lverde,CN=Users,DC=texas,DC=local
changetype: add
userPrincipalName: lverde@texas.local
pwdLastSet: -1
sAMAccountName: lverde
unicodePwd:: IgAzAHYANABuAGQAcgBPACIA
userAccountControl: 544
objectClass: organizationalPerson
objectClass: person
objectClass: user
objectClass: top
givenName: lverde
displayName: lverde

Feb 04 22:03:01 - INFO - # Adding new entry CN=bwayne,CN=Users for user
dn: CN=bwayne,CN=Users,DC=texas,DC=local
changetype: add
userPrincipalName: bwayne@texas.local
pwdLastSet: -1
sAMAccountName: bwayne
unicodePwd:: IgAzAHYANABuAGQAcgBPACIA
userAccountControl: 544
objectClass: organizationalPerson
objectClass: person
objectClass: user
objectClass: top
givenName: bwayne
displayName: bwayne

Feb 04 22:03:01 - INFO - # Adding new entry CN=lluthor,CN=Users for user
dn: CN=lluthor,CN=Users,DC=texas,DC=local
changetype: add
userPrincipalName: lluthor@texas.local
pwdLastSet: -1
sAMAccountName: lluthor
unicodePwd:: IgAzAHYANABuAGQAcgBPACIA
userAccountControl: 544
objectClass: organizationalPerson
objectClass: person
objectClass: user
objectClass: top
givenName: lluthor
displayName: lluthor

Feb 04 22:03:02 - INFO - # Adding new entry CN=sman,CN=Users for user
dn: CN=sman,CN=Users,DC=texas,DC=local
changetype: add
userPrincipalName: sman@texas.local
pwdLastSet: -1
sAMAccountName: sman
unicodePwd:: IgAzAHYANABuAGQAcgBPACIA
userAccountControl: 544
objectClass: organizationalPerson
objectClass: person
objectClass: user
objectClass: top
givenName: sman
displayName: sman

Feb 04 22:03:02 - INFO - # Adding new entry CN=enabor,CN=Users for user
dn: CN=enabor,CN=Users,DC=texas,DC=local
changetype: add
userPrincipalName: enabor@texas.local
pwdLastSet: -1
sAMAccountName: enabor
unicodePwd:: IgAzAHYANABuAGQAcgBPACIA
userAccountControl: 544
objectClass: organizationalPerson
objectClass: person
objectClass: user
objectClass: top
givenName: enabor
displayName: enabor

Feb 04 22:03:02 - INFO - All entries: 5, to modify entries: 5, modified entries: 5, errors: 0
Feb 04 22:03:02 - INFO - Starting clean for user
Feb 04 22:03:02 - INFO - All entries: 5, to modify entries: 0, modified entries: 0, errors: 0
Feb 04 22:03:02 - INFO - Starting sync for group
Feb 04 22:03:02 - INFO - # Adding new entry CN=it,CN=Users for group
dn: CN=it,CN=Users,DC=texas,DC=local
changetype: add
member: CN=bwayne,CN=Users,DC=texas,DC=local
member: CN=enabor,CN=Users,DC=texas,DC=local
member: CN=sman,CN=Users,DC=texas,DC=local
cn: it
sAMAccountName: it
objectClass: group
objectClass: top

Feb 04 22:03:02 - INFO - # Adding new entry CN=managers,CN=Users for group
dn: CN=managers,CN=Users,DC=texas,DC=local
changetype: add
member: CN=lverde,CN=Users,DC=texas,DC=local
member: CN=lluthor,CN=Users,DC=texas,DC=local
cn: managers
sAMAccountName: managers
objectClass: group
objectClass: top

Feb 04 22:03:02 - INFO - All entries: 2, to modify entries: 2, modified entries: 2, errors: 0
Feb 04 22:03:02 - INFO - Starting clean for group
Feb 04 22:03:02 - INFO - All entries: 2, to modify entries: 0, modified entries: 0, errors: 0

Consulte o Active Directory e verá que os usuários e grupos foram criados na base.

Caso a saída apresente erros, fique atento para as configurações no arquivo "lsc.properties" e com a questão do certificado, pois perceba que estou sempre utilizando LDAPS para acessar o AD.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação e configuração
   3. Iniciando a sincronização
   4. Senhas
Outros artigos deste autor

Bind consultando zonas em base LDAP

Leitura recomendada

Criando regras simples com IP6Tables

Acesso remoto entre GNU/Linux e Windows

Zoneminder: Substituindo um Unifi NVR

FAN Nagios - Tela inicial do Nagios

Balanceamento de links - Load balance + Failover + Failback

  
Comentários
[1] Comentário enviado por jfernandes em 16/02/2013 - 18:01h

Amigo, parabéns pelo artigo.
Tenho uma questão pra todos ...
Tenho um cliente que tem sua base em LDAP, e por enquanto não quer migrar para o AD da Microsoft, porém, contudo, todavia, ele quer uma solução que vamos instalar ( Xen Desktop ) que precisa do Active Directory da Microsoft para autenticação de seus usuários, não sei se conhecem o Xen Desktop, mas é uma solução de virtualização de estação de trabalho, e necessita de um login no AD.
Pergunta..... com esse seu tutorial, poderei implementar essa solução no cliente ?
Fico no aguardo, e mais uma vez, parabéns pelo artigo.
Joel Fernandes

[2] Comentário enviado por evandronabor em 17/02/2013 - 09:59h

Com certeza voce poderá usa-lo para isso.
Voce pode subir um servidor AD e seguir o meu artigo que todas as suas contas do OpenLDAP serão replicadas para o AD.
Quando a base estiver replicada é so voce colocar o comando de sincronização no crontab para ser executada quando voce quiser para manter a integridade das bases.

A unica questao que é preciso atençao é com relação as senhas pois como eu havia dito não é possivel sincroniza-las.
De uma boa lida no artigo e porcure mais informações no site do LSC. é possivel sim implementa-lo do jeito que voce precisa sem problemas.

Att.

[3] Comentário enviado por fernandofrauches em 22/02/2013 - 09:41h

Parabéns pelo artigo....
Muito bom...
Estou com um problema aqui na empresa relacionado a seu artigo.
No seu artigo vc faz a sincronização nesse sentido OpenLDAP -> Active Directory, é possivel fazer a sincronização no sentido contrario? OpenLDAP <- Active Directory? Se sim, tem alguma dica de como?
Desde ja obrigado.

[4] Comentário enviado por evandronabor em 22/02/2013 - 09:48h

Sim é possivel fazer. Basicamente voce vai inverter o SRC e o DST, verifique no site do LSC tem muitos exemplos de como fazer lá.

[5] Comentário enviado por acunhasp em 26/02/2013 - 14:13h

bom tarde amigo, o meu retorna o seguinte erro:
Error opening the LDAP connection to the destination!
Fev 26 14:05:23 - ERROR - Error while synchronizing ID {uid=edsonb}: java.lang.RuntimeException: java.lang.RuntimeException: Error getting context DN from LDAP provider url
Será que pode me ajudar?

[6] Comentário enviado por lanzao em 10/09/2013 - 12:09h

tem como migrar do ad para o ldap?

[7] Comentário enviado por geowany em 12/03/2014 - 00:51h


[1] Comentário enviado por jfernandes em 16/02/2013 - 18:01h:

Amigo, parabéns pelo artigo.
Tenho uma questão pra todos ...
Tenho um cliente que tem sua base em LDAP, e por enquanto não quer migrar para o AD da Microsoft, porém, contudo, todavia, ele quer uma solução que vamos instalar ( Xen Desktop ) que precisa do Active Directory da Microsoft para autenticação de seus usuários, não sei se conhecem o Xen Desktop, mas é uma solução de virtualização de estação de trabalho, e necessita de um login no AD.
Pergunta..... com esse seu tutorial, poderei implementar essa solução no cliente ?
Fico no aguardo, e mais uma vez, parabéns pelo artigo.
Joel Fernandes


Acredito que instalar o AD não é a melhor solução. Já tentou colocar o samba.schema nesse ldap e adicionar os atributos na contas de usuário para que se tornem samba accounts? Assim fica compatível com os atributos necessários do AD.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts