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.
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.
[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.
[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.
[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?
[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.