Samba3 + LDAP no ArchLinux

Olá pessoal, em meu primeiro artigo gostaria de demonstrar como foi minha trajetória em instalar e configurar o Samba3 autenticando com LDAP no ArchLinux.

[ Hits: 40.327 ]

Por: Wellington Oliveira de Andrade em 08/10/2008


Migrando dados LDAP + Samba



Vamos alterar o código fonte do openldap-migrate_tools para informar o que representa em nossa árvore grupos/usuários:

a - Backup do arquivo original:

# cp /usr/share/openldap/migrate/migrate-common.pl /usr/share/openlda/migrate/migrate-common.pl.original

b - Edite o arquivo utilizando qualquer editor (vi, vim, gedit etc):

# /usr/share/openldap/migrate/migrate-common.pl

Altere as seguintes linhas:

De:

if ($NETINFOBRIDGE) {
   $NAMINGCONTEXT{'aliases'}           = "cn=aliases";
   $NAMINGCONTEXT{'fstab'}             = "cn=mounts";
   $NAMINGCONTEXT{'passwd'}            = "cn=users";
   $NAMINGCONTEXT{'netgroup_byuser'}   = "cn=netgroup.byuser";
   $NAMINGCONTEXT{'netgroup_byhost'}   = "cn=netgroup.byhost";
   $NAMINGCONTEXT{'group'}             = "cn=groups";
   $NAMINGCONTEXT{'netgroup'}          = "cn=netgroup";
   $NAMINGCONTEXT{'hosts'}             = "cn=machines";
   $NAMINGCONTEXT{'networks'}          = "cn=networks";
   $NAMINGCONTEXT{'protocols'}         = "cn=protocols";
   $NAMINGCONTEXT{'rpc'}               = "cn=rpcs";
   $NAMINGCONTEXT{'services'}          = "cn=services";
} else {
   $NAMINGCONTEXT{'aliases'}           = "ou=Aliases";
   $NAMINGCONTEXT{'fstab'}             = "ou=Mounts";
   $NAMINGCONTEXT{'passwd'}            = "ou=People";
   $NAMINGCONTEXT{'netgroup_byuser'}   = "nisMapName=netgroup.byuser";
   $NAMINGCONTEXT{'netgroup_byhost'}   = "nisMapName=netgroup.byhost";
   $NAMINGCONTEXT{'group'}             = "ou=Group";
   $NAMINGCONTEXT{'netgroup'}          = "ou=Netgroup";
   $NAMINGCONTEXT{'hosts'}             = "ou=Hosts";
   $NAMINGCONTEXT{'networks'}          = "ou=Networks";
   $NAMINGCONTEXT{'protocols'}         = "ou=Protocols";
   $NAMINGCONTEXT{'rpc'}               = "ou=Rpc";
   $NAMINGCONTEXT{'services'}          = "ou=Services";
}

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "padl.com";

# Default base
$DEFAULT_BASE = "dc=padl,dc=com";

Para:

if ($NETINFOBRIDGE) {
   $NAMINGCONTEXT{'aliases'}           = "cn=aliases";
   $NAMINGCONTEXT{'fstab'}             = "cn=mounts";
   $NAMINGCONTEXT{'passwd'}            = "cn=usuarios";
   $NAMINGCONTEXT{'netgroup_byuser'}   = "cn=netgroup.byuser";
   $NAMINGCONTEXT{'netgroup_byhost'}   = "cn=netgroup.byhost";
   $NAMINGCONTEXT{'group'}             = "cn=grupos";
   $NAMINGCONTEXT{'netgroup'}          = "cn=netgroup";
   $NAMINGCONTEXT{'hosts'}             = "cn=computadores";
   $NAMINGCONTEXT{'networks'}          = "cn=networks";
   $NAMINGCONTEXT{'protocols'}         = "cn=protocols";
   $NAMINGCONTEXT{'rpc'}               = "cn=rpcs";
   $NAMINGCONTEXT{'services'}          = "cn=services";
} else {
   $NAMINGCONTEXT{'aliases'}           = "ou=Aliases";
   $NAMINGCONTEXT{'fstab'}             = "ou=Mounts";
   $NAMINGCONTEXT{'passwd'}            = "ou=usuarios";
   $NAMINGCONTEXT{'netgroup_byuser'}   = "nisMapName=netgroup.byuser";
   $NAMINGCONTEXT{'netgroup_byhost'}   = "nisMapName=netgroup.byhost";
   $NAMINGCONTEXT{'group'}             = "ou=Grupos";
   $NAMINGCONTEXT{'netgroup'}          = "ou=Netgroup";
   $NAMINGCONTEXT{'hosts'}             = "ou=Hosts";
   $NAMINGCONTEXT{'networks'}          = "ou=Networks";
   $NAMINGCONTEXT{'protocols'}         = "ou=Protocols";
   $NAMINGCONTEXT{'rpc'}               = "ou=Rpc";
   $NAMINGCONTEXT{'services'}          = "ou=Services";
}

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "viva.edu.br";

# Default base
$DEFAULT_BASE = "dc=viva,dc=edu,dc=br";

Salve o arquivo e vamos agora gerar os ldif(s), que serão importados pelo ldap.

Para gerar o arquivo ldif e importar os Grupos utilizaremos os seguintes comandos:

# ./migrate_group.pl /etc/group grupos.ldif (Gerar o arquivo ldif)
# ldapadd -x -D cn=administrador,dc=viva,dc=edu,dc=br -W -f ./grupos.ldif (Adiciona ao ldap todos os grupos contidos em grupos.ldif)

Para gerar o arquivo ldif e importar os usuários utilizaremos os seguintes comandos:

# ./migrate_passwd.pl /etc/passwd ./usuarios.ldif (Gera o arquivo ldif)
# ldapadd -x -D cn=administrador,dc=viva,dc=edu,dc=br -W -f ./usuarios.ldif (Adiciona ao ldap todos os usuários contidos em usuarios.ldif)

Vamos gerar o usuário para o Samba com o comando:

# smbpasswd -W senha (digite a mesma senha que utilizou anteriormente)

Em seguida esse comando populará seu ldap, criando também o domínio do Samba e populando com os grupos necessários:

# smbldap-populate

Se algo sair errado, revise todos os passos e principalmente os lugares com dc=viva,dc=edu,dc=br.

Pronto, está funcionando...

Até o próximo.

Página anterior    

Páginas do artigo
   1. Instalando e configurando o Samba
   2. Configurando pacman.conf / compilando pacotes no ArchLinux
   3. Instalando pacotes necessários para LDAP com Samba
   4. Configurando / testando LDAP
   5. Migrando dados LDAP + Samba
Outros artigos deste autor

Wpad.dat com Proxy Específico por Rede

Leitura recomendada

Montando um compartilhamento com o smbmount

Samba como controlador de domínio no Ubuntu

Migrando perfis de usuário AD para o seu servidor Samba em 2 etapas

Servidor de arquivos integrado com Active Directory (AD) e quota de usuário/grupo

Samba 4 - Compartilhamento de Arquivos

  
Comentários
[1] Comentário enviado por maran em 08/10/2008 - 16:32h

Um bom artigo, so acho que poderia ter explorado um pouco m,ais o lado teorico, pois veja.
Eu uso e abuso do Samba, e a versão nova esta muito boa, porem, imagina este case:

Você expressou sua experiencia, porem um artigo também é mostrar como fazer, e não dar a massa do bolo pronta, pois quem não conhece ficaria perdido, eu não implementaria em meu servidor algo, sem saber a base e o principal, porque??

...

MAis voltando, teve partes muito bem explicadas ;)
LDAP é o que há!
Um abraço,

[2] Comentário enviado por wellington79 em 02/02/2010 - 11:35h

Faltou so uma coisa antes de utilizar o comando:
net getlocalsid

deve-se utilizar o comando
smbpasswd -w "senhadoldap"



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts