O Migrationtools é um conjunto de scripts em Perl que facilita a migração de usuários, grupos, alias, netgroups, redes, protocolos, RPCs, e serviços de nameservices existentes (arquivos simples, NIS e NetInfo) para LDAP.
Scripts:
# migrate_base.pl:
Cria ou renomea entradas, contexto, incluindo contextos subordinados, como ou = pessoas e ou dispositivos =.
# migrate_aliases.pl:
Migra aliases em /etc/aliases para as entradas em conformidade com o esquema rfc822MailGroup.
# migrate_group.pl:
Migra grupos no arquivo /etc/group
# migrate_hosts.pl:
Migra hosts no arquivo /etc/hosts
# migrate_hosts.pl:
Migra hosts no arquivo /etc/hosts
# migrate_networks.pl:
Migra configurações redes no /etc/networks
# migrate_passwd.pl:
Migra usuários no arquivo /etc/passwd.
# migrate_protocols.pl:
Migra protocolos em /etc/protocols
# migrate_services.pl
Migra serviços em /etc/services
# netgroups migrate_netgroup.pl:
Migra em /etc/netgroup
# migrate_netgroup_byuser.pl:
Migra o mapa netgroup.byuser. Requer revnetgroup
# migrate_netgroup_byhost.pl
Migra o mapa netgroup.byhost. Exige revnetgroup.
# migrate_rpc.pl:
Migra RPCs em /etc/rpc
Download do pacote:
http://www.padl.com/download/MigrationTools.tgz
Descompactando e instalando o pacote:
# mv MigrationTools.tgz /usr/local; cd /usr/local
# tar -zxvf MigrationTools.tgz
# cd MigrationTools-47
Alteremos as seguintes linhas do arquivo "migrate_common.ph"
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "americanet.local";
# Default base
$DEFAULT_BASE = "dc=americanet,dc=local";
# Default Host
$DEFAULT_MAIL_HOST = "localhost";
Iremos agora finalmente migrar os dados em forma de objetos(LDIF)
# ./migrate_base.pl > base.ldif
O comando/script acima irá gerar o arquivo base.ldif, onde internamente possuírá os dados do sistema em forma de objeto no formato LDIF. No entanto, precisaremos apenas de três deles. o "People", o "Group" e o "Aliases".
Edite o arquivo e deixe apenas os que interessam para nosso caso de uso.
Ex:
# vi base.ldif
dn: ou=People,dc=americanet,dc=local
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=americanet,dc=local
ou: Group
objectClass: top
objectClass: organizationalUnit
dn: ou=Aliases,dc=americanet,dc=local
ou: Aliases
objectClass: top
objectClass: organizationalUnit
Salve e saia...(:wq)
Obs. No arquivo slap.conf, é necessário ter o schema definido pela RFC2377,segue o modelo:
#########################################################
objectclass ( 1.3.6.1.1.2.1 NAME 'domainNameForm'
DESC 'RFC2377: domainNameForm object'
SUP domain STRUCTURAL
MUST dc )
objectclass ( 1.3.6.1.1.2.2 NAME 'dcOrganizationNameForm'
DESC 'RFC2377: dcOrganizationNameForm object'
SUP organization STRUCTURAL MUST dc )
objectclass ( 1.3.6.1.1.2.3 NAME 'dcOrganizationalUnitNameForm'
DESC 'RFC2377: dcOrganizationalUnitNameForm object'
SUP organizationalUnit STRUCTURAL MUST dc )
objectclass ( 1.3.6.1.1.2.4 NAME 'dcLocalityNameForm'
DESC 'RFC2377: dcLocalityNameForm object'
SUP locality STRUCTURAL MUST dc )
objectclass ( 1.3.6.1.1.2.5 NAME 'uidOrganizationalPersonNameForm'
DESC 'RFC2377: uidOrganizationalPersonNameForm object'
SUP organizationalPerson STRUCTURAL MUST uid )
#####################################################
Copie e salve como RFC2377.schema e copie para o diretório /etc/openldap/schema e inclua no slapd.conf.
Após adicionar estae esquema podemos incluir os dados importados pelo MigrationTools.
Inclusão do LDIF na base LDAP
Usaremos o ldapadd para adicionarmos o arquivo base.ldif criado anteriormente.
# ldapadd -x -h americanet.local -D 'cn=Manager,dc=americanet,dc=local' -W -f base.ldif
Façamos um teste agora e vejamos o resultado alterado:
# ldapsearch -x -h americanet.local -b 'cn=Manager,dc=americanet,dc=local' '(objectClass)'
Veja que veremos os grupos formados pelos objetos...
Migração dos logins,senhas e Grupos do sistema em formato LDIF
# ./migrate_passwd.pl /etc/passwd users.ldif
# ./migrate_group.pl /etc/group grupos.ldif
Vamos fazer que o LDAP importe esses dados...
# ldapadd -x -h americanet.local -D 'cn=Manager,dc=americanet,dc=local' -W -f users .ldif
# ldapadd -x -h americanet.local -D 'cn=Manager,dc=americanet,dc=local' -W -f grupos.ldif
Verique como ficou a base
# ldapsearch -x -h americanet.local -b 'cn=Manager,dc=americanet,dc=local' '(objectClass)'
O comando abaixo seria uma visualização de uma classe de objeto filtrada por uid
# ldapsearch -x -h americanet.local -b "dc=americanet,dc=local" -D "cn=Manager,dc=americanet,dc=local" -W
"(&(objectclass=account)(uid=americanet))"
Após as entradas adicionadas abaixo segue um print do cliente para acesso a base LDAP chamado LUMA para Linux, com os dados importados:
E assim finaliza mais um artigo...
Nenhum comentário:
Postar um comentário