Configuração simples Samba + LDAP

Precisei configurar o Samba+LDAP no Alferes Linux (distribuição da Polícia Militar de Minas Gerais) e como só encontrei poucas e confusas informações na internet, resolvi escrever este artigo.

[ Hits: 198.497 ]

Por: Geovanny Junio da Silva em 14/12/2005 | Blog: http://comonus.com


Para quem usa Squid autenticado



Dica para quem usa Squid com autenticação.

Se você usa Squid com autenticação, pode editar o squid.conf e alterar a seguinte linha:

auth_param basic program /usr/lib/squid/smb_auth -W seudominio -U ip_do_seu_servidor_de_domínio

para:

auth_param basic program /usr/lib/squid/ldap_auth -b ou=users,dc=seudominio,dc=com,dc=br ip_do_servidor_slapd

Qualquer dúvida entre em contato: geosun13@yahoo.com.br

Valeu pessoal e desculpa por qualquer erro.

Geovanny Junio

Página anterior    

Páginas do artigo
   1. Configuração do daemon Slapd
   2. Configuração do cliente LDAP
   3. Configuração do Samba
   4. Para quem usa Squid autenticado
Outros artigos deste autor

Kingfisher Quota Manager - Instalação e configuração

Configuração fácil de um servidor PPP

Leitura recomendada

Logando o Windows XP no Samba

Inicialização do Linux

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

Integrando o Debian-BR-CDD ao domínio Active Directory

Samba: Servidor de arquivos Linux com estações Windows

  
Comentários
[1] Comentário enviado por robsontex em 14/12/2005 - 12:14h

Muito bom o seu artigo. Estava pensando em testar essa solução Samba + LDAP e usarei o seu artigo como base.

Valew

[2] Comentário enviado por agk em 14/12/2005 - 13:53h

Nossa, muito bom esse artigo, explica quase tudo o que eu precisava saber, só faltou explicar como adicionar/modificar/excluir os usuários na base LDAP.
[ ]'s.

[3] Comentário enviado por thiagop em 14/12/2005 - 17:15h

Artigo muito bom mesmo, vou dar uma pesquisada maior para ver se consigo usar SSL na autenticação. :)


[]'s

[4] Comentário enviado por robsontex em 15/12/2005 - 10:14h

Agk,

Existe um artigo muito bom aqui no Viva o linux explicando esses conceitos do LDAP. Dá uma olhada no link abaixo:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4028

[5] Comentário enviado por agk em 15/12/2005 - 15:25h

Olá. eu li o artigo do nosso colega francisco, mas ele é bem técnico no que tange a manipulação da base ldap. O que eu quis dizer quando me referi a manupulação da base ldap foi utilizar algum utilitário como o phpadmin que eu já testei, mas que possui muitas opções e para que está iniciando é bastante complicado entender quais os objetos e classes que se deve inserir para criar os usuários, grupos, nomes de máquinas no caso de máquinas com windows autenticando com samba + ldap.
A questão é bastante complexa, mas com certeza pode-se aprender muito ainda com ldap, pois de forma alguma este ou o artigo do nosso colega Francisco enceram o assunto, mas com certeza cada um deles dá sua parcela de contribuição para tornar mais fácil o entendimento do LDAP.
[ ]'s.

[6] Comentário enviado por 1c3roger em 21/12/2005 - 03:34h

Muito bom o seu artigo, parabens.

Estou fazendo alguns testes com LDAP e SAMBA e seu artigo ajudou muito. Só estou com um "pequeno" problema....Quando dou aquele comando getent para verificar se foram criados os grupos/usuários do Linux quando é feita a "população" do LDAP ele não me traz novas entradas.

O smbldap-tools deveria fazer isso ou não? Aqui não funciona e sem incluir tais grupos e usuários do /etc/passwd e no /etc/group o Samba não autentica os usuários.

Qual pode ser o problema? Estou usando Fedora.

Obrigado

[7] Comentário enviado por geovannyjs em 21/12/2005 - 12:51h

Olá, aparentemente o problema está na configuração do cliente, os nomes dos pacotes rpm são diferentes dos do debian, para ser sincero eu nunca implementei o samba+ldap em sistemas baseados em red hat.

[8] Comentário enviado por cobosit em 23/01/2006 - 08:51h

esse e meu primo

[9] Comentário enviado por locolinux em 30/01/2006 - 14:56h

Bom dia,
Estou com esse erro:

# smbldap-populate
Using workgroup name from sambaUnixIdPooldn (smbldap.conf): sambaDomainName=linuxnewmedia
Using builtin directory structure
Use of uninitialized value in string ne at /usr/sbin/smbldap-populate line 169.
Use of uninitialized value in concatenation (.) or string at /usr/sbin/smbldap-populate line 173.
erreur LDAP: Can't contact master ldap server (IO::Socket::INET: connect: Conexão recusada) at /usr/share/perl5/smbldap_tools.pm line 160.

Será que vc pode me ajudar ??

Obrigado desde já

[10] Comentário enviado por cesarfontenele em 12/02/2006 - 14:44h

Esse erro é pq o servidor está parado. Inicie o LDAP!

Abraços

[11] Comentário enviado por NCC1701A em 14/02/2006 - 17:27h

Senhores,

Debian 3.1r1 apenas pacotes estaveis

Estou com uma dificuldade em integrar o LDAP e o SAMBA, de pois de tudo instalado e funcionado, domínio ativo e maquinas Windows logando perfeitamente no SAMBA+LDAP, aparece o seguinte problema.. A conta ROOT local para deixa funcionar em quase todos os aplicativos (gnome e etc) apenas o terminal local e o SSH continua funcionar.

Parando o SLAPD volta ao normail

Isso acontece apos o comando smbldap-populate , que não apresenta nenhum erro.

[12] Comentário enviado por xnd em 14/02/2006 - 21:03h

Cara, estou tentando implementar o samba+ldap no ubuntu e estou com esse erro após executar o smbldap-populate:

Populating LDAP directory for domain webxcorp.net (S-1-5-21-1756842648-457970910-2166727064)
(using builtin directory structure)

adding new entry: dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 2.
adding new entry: ou=Usuarios,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 3.
adding new entry: ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 4.
adding new entry: ou=Computadores,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 5.
adding new entry: ou=Idmap,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 6.
adding new entry: uid=root,ou=Usuarios,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 7.
adding new entry: uid=nobody,ou=Usuarios,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 8.
adding new entry: cn=Domain Admins,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 9.
adding new entry: cn=Domain Users,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 10.
adding new entry: cn=Domain Guests,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 11.
adding new entry: cn=Domain Computers,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 12.
adding new entry: cn=Administrators,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 16.
adding new entry: cn=Account Operators,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 18.
adding new entry: cn=Print Operators,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 19.
adding new entry: cn=Backup Operators,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 20.
adding new entry: cn=Replicators,ou=Grupos,dc=net
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 471, <GEN1> line 21.
adding new entry: sambaDomainName=webxcorp.net,dc=net
failed to add entry: invalid DN at /usr/sbin/smbldap-populate line 471, <GEN1> line 21.

Please provide a password for the domain root:
No such object at /usr/share/perl5/smbldap_tools.pm line 341, <DATA> line 283.

[13] Comentário enviado por mritto em 20/04/2006 - 14:41h

Caros,

Estou com aplicando o ldap+samba no ubuntu mas qdo faço as alterações no slapd e tento startar ele apresenta o seguinte erro:
sudo /etc/init.d/slapd start
Starting OpenLDAP: running BDB recovery, slapd - failed:
/etc/ldap/slapd.conf: line 76: index attribute "sambaSID" undefined

alguém pode me ajudar???

[14] Comentário enviado por agk em 24/04/2006 - 09:02h

Caro colega mritto,

"Starting OpenLDAP: running BDB recovery, slapd - failed:"
Se refere ao pacote db4.2-util que você não tem instalado, instale-o.

"/etc/ldap/slapd.conf: line 76: index attribute "sambaSID" undefined"
Refere-se aos índices, aqui podem ocorrer algumas situações, talvez você não tenha definido o schema do samba na seção schemas ou não tenha copiado o schema do samba para o diretório de schemas.
Lembre-se que toda vez que você for mexer nos índices, para o servidor ldap e reindexar, pois senão você vai começar a ter erros de param_index failed. Para reindexar é só usar o slapindex.
[ ]'s.

[15] Comentário enviado por mritto em 26/04/2006 - 09:56h

Caro amigo agk,
muito obrigado pela atenção mas o pacote db4.2-util já estava instalado... agora o q eu não sei é como usar o slapindex

[16] Comentário enviado por agk em 27/04/2006 - 15:42h

A sim, desculpe, para usar o slapindex é só você dar um stop na base e depois rodar o comando slapindex como root.
Se você tiver mais que uma base você tem que especificar a base para rodar o slapindex, se for apenas uma é só slapindex mesmo.
[ ]'s.

[17] Comentário enviado por eltonaugusto em 01/06/2006 - 15:48h

blz, funcionou direitinho!!! a base ldap com os usuários cadastrados esta perfeito, so que o windows não loga no servidor... nem o squid autentica os usuarios cadastrados, que pode ter acontecido hein???

[18] Comentário enviado por marceferreira em 21/06/2006 - 12:32h

Alguem pode me ajudar, segui a dica acima o erro eh no smbldap-populate:

Using workgroup name from sambaUnixIdPooldn (smbldap.conf): sambaDomainName=3cta.eb.mil.br
Using builtin directory structure
Use of uninitialized value in string ne at /usr/sbin/smbldap-populate line 169.
Use of uninitialized value in concatenation (.) or string at /usr/sbin/smbldap-populate line 173.
adding new entry: dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 2.
adding new entry: ou=Usuarios,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 3.
adding new entry: ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 4.
adding new entry: ou=Computadores,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 5.
adding new entry: ou=Idmap,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 6.
adding new entry: sambaDomainName=3cta.eb.mil.br,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 7.
adding new entry: uid=Administrator,ou=Usuarios,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 8.
adding new entry: uid=nobody,ou=Usuarios,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 9.
adding new entry: cn=Domain Admins,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 10.
adding new entry: cn=Domain Users,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 11.
adding new entry: cn=Domain Guests,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 12.
adding new entry: cn=Domain Computers,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 13.
adding new entry: cn=Administrators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 19.
adding new entry: cn=Print Operators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 20.
adding new entry: cn=Backup Operators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 21.
adding new entry: cn=Replicators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 460, <GEN1> line 21.

[19] Comentário enviado por marceferreira em 21/06/2006 - 17:38h

Amigo desconsidere o comentário anterior descobri o problema.
Grato....

[20] Comentário enviado por nemphilis em 22/06/2006 - 12:29h

Parabéns pelo artigo amigo...



marceferreira, o interessante eh postar o problema resolvido, se possível, claro.... Abraço

[21] Comentário enviado por marceferreira em 23/06/2006 - 09:56h

Em breve estarei criando um artigo para instalar o LDAP e dai colocarei como referencia o acima com as devidas correções.

Parabéns pelo artigo.

[22] Comentário enviado por fabio_aragao em 18/07/2006 - 15:44h

Amigos, gostaria de configurar um BDC com linux para sincrozinar com um server em linux que ja temos.
como devo configurar ??

[23] Comentário enviado por citelli em 26/07/2006 - 02:41h

Alguém sabe algum script utilizando o smbldap-useradd onde eu consiga cadastrar contas no samba e no ldap em lote, tipo puxando um arquivo de texto com os seguintes parametros:
Nome o Usuario- login -RG ou CPF
nomedousuario|matricula|senha
Já tentei um script que tenho aqui mas ele sempre pede a senha, lembrando que não estou usando o comando normal para adicionar o usuario no Samba ( smbpasswd -a user senha ) pra mim não dá tem que ser usando o smbldap-passwd!! por favor me ajudem galera! Abraço a todos!


[24] Comentário enviado por rguidolini em 16/08/2006 - 10:29h

Ola pessoal, estou tentando configurar um cliente ldap no ubuntu 5.10, fiz todos os passos que encontrei num bom artigo mas tenho problemas e não consigo falar com o autor, então eu achei este artigo ( também muito bom ) mas não consegui resolver os prablemas ainda. Acontece o seguinte: eu tenho acesso ao banco de dados do ldap pois quando tento criar um usuário que sei que já existe no ldap o sistema me informa que ele já existe, mas se uso o comando su <usuario> a mensssagen retornada é: su: Authentication service cannot retrieve authentication info.
Outro problema é que se edito o arquivo /etc/pam.d/gdm como manda o artigo e reinicio o pc, o gdm não funciona e nem loga mais em modo texto.
Algue pode me ajudar?

[25] Comentário enviado por joao.claudio em 09/10/2006 - 18:15h

Ai galera, quem puder me ajuda!!! Fiquei o dia todo mas não consegui fazer o LDAP rodar, segue o log:

Oct 9 21:10:44 localhost slapd[1253]: @(#) $OpenLDAP: slapd 2.2.23 (May 30 2005 08:52:42) $ ^I@pulsar:/home/torsten/packages/openldap/openldap2.2-2.2.23/debian/build/servers/slapd
Oct 9 21:10:44 localhost slapd[1253]: daemon: IPv6 socket() failed errno=97 (Address family not supported by protocol)
Oct 9 21:10:44 localhost slapd[1253]: bdb_db_init: Initializing BDB database
Oct 9 21:10:44 localhost slapd[1253]: /etc/ldap/slapd.conf: line 57: rootpw can only be set when rootdn is under suffix
Oct 9 21:10:44 localhost slapd[1253]: slapd stopped.
Oct 9 21:10:44 localhost slapd[1253]: connections_destroy: nothing to destroy.

Email: joao.claudio25@globo.com

[26] Comentário enviado por jefnews em 26/10/2006 - 21:25h

preciso de ajuda, eu tentei o smldap-populate e deu estes erros

Populating LDAP directory for domain labinf (S-1-5-21-2361030257-4025969176-2396496703)
(using builtin directory structure)

adding new entry: dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 2.
adding new entry: ou=Usuarios,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 3.
adding new entry: ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 4.
adding new entry: ou=Computadores,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 5.
adding new entry: ou=Idmap,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 6.
adding new entry: uid=root,ou=Usuarios,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 7.
adding new entry: uid=nobody,ou=Usuarios,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 8.
adding new entry: cn=Domain Admins,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 9.
adding new entry: cn=Domain Users,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 10.
adding new entry: cn=Domain Guests,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 11.
adding new entry: cn=Domain Computers,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 12.
adding new entry: cn=Administrators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 16.
adding new entry: cn=Account Operators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 18.
adding new entry: cn=Print Operators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 19.
adding new entry: cn=Backup Operators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 20.
adding new entry: cn=Replicators,ou=Grupos,dc=dal
failed to add entry: no global superior knowledge at /usr/sbin/smbldap-populate line 495, <GEN1> line 21.
adding new entry: sambaDomainName=labinf,dc=dal
failed to add entry: invalid DN at /usr/sbin/smbldap-populate line 495, <GEN1> line 21.

Please provide a password for the domain root:
No such object at /usr/share/perl5/smbldap_tools.pm line 353.

[27] Comentário enviado por joao.claudio em 01/11/2006 - 11:19h

Galera quando executo o coamando net getlocalsid
Dá o seguinte erro:
[2006/11/01 14:07:07, 0] lib/smbldap.c:smbldap_search_suffix(1176)
smbldap_search_suffix: Problem during the LDAP search: (No such object)
Acredito que seja algum objeto faltando, porém como instalo esse objeto?

[28] Comentário enviado por ernanimarx em 21/02/2007 - 23:04h

server:~# smbldap-populate
Use of uninitialized value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 140, <CONFIGFILE> line 17.
Use of uninitialized value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 140, <CONFIGFILE> line 18.
Use of uninitialized value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 140, <CONFIGFILE> line 51.
Populating LDAP directory for domain eca (S-1-5-21-1586721280-2504631117-330380434)
(using builtin directory structure)

entry dc=eca,dc=com already exist.
entry ou=Usuarios,dc=eca,dc=com already exist.
entry ou=Grupos,dc=eca,dc=com already exist.
entry ou=Computadores,dc=eca,dc=com already exist.
entry ou=Idmap,dc=eca,dc=com already exist.
entry uid=root,ou=Usuarios,dc=eca,dc=com already exist.
entry uid=nobody,ou=Usuarios,dc=eca,dc=com already exist.
entry cn=Domain Admins,ou=Grupos,dc=eca,dc=com already exist.
entry cn=Domain Users,ou=Grupos,dc=eca,dc=com already exist.
entry cn=Domain Guests,ou=Grupos,dc=eca,dc=com already exist.
entry cn=Domain Computers,ou=Grupos,dc=eca,dc=com already exist.
entry cn=Administrators,ou=Grupos,dc=eca,dc=com already exist.
entry cn=Account Operators,ou=Grupos,dc=eca,dc=com already exist.
entry cn=Print Operators,ou=Grupos,dc=eca,dc=com already exist.
entry cn=Backup Operators,ou=Grupos,dc=eca,dc=com already exist.
entry cn=Replicators,ou=Grupos,dc=eca,dc=com already exist.
entry sambaDomainName=eca,dc=eca,dc=com already exist. Updating it...

Please provide a password for the domain root:
Use of uninitialized value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 140, <CONFIGFILE> line 17.
Use of uninitialized value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 140, <CONFIGFILE> line 18.
Use of uninitialized value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 140, <CONFIGFILE> line 51.
Changing UNIX and samba passwords for root
New password:
Retype new password:
server:~#


galera ta dando isso no meu populate... o q deve seR?

[29] Comentário enviado por lipecys em 11/09/2007 - 14:00h

E aí pessoal, muito bom artigo.
Só estou com uma dúvida, depois que configurar o Cliente LDAP, tem a conf do SAMBA, essa configuração tem que ser feita nos dois PC's? Tanto no servidor quanto no cliente?

Obrigado

[30] Comentário enviado por ardaz em 14/05/2008 - 21:04h

Seguinte camarada isso é erro na configuração do smb.conf, verifique no log do samba que le te mostra onde.

[31] Comentário enviado por Joao Tacone em 19/02/2009 - 18:45h

Estou com um problema,

quando eu crio o usuário com o comando smbldap-useradd, ele não autentica no samba, acredito que não esteja sendo criado no samba, porque no ldap ele cria corretamente...

alguém ja esteve com esse problema antes ??


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts