PDC Samba + OpenLdap [RESOLVIDO]

1. PDC Samba + OpenLdap [RESOLVIDO]

Cleber Rocha
cl2b2r

(usa Debian)

Enviado em 20/04/2010 - 14:13h

Olá pessoal do VOL

Estou tentando implementar um PDC Samba com autenticação em OpenLdap usando como base um Debian Lenny. O problema é que tenho seguido vários tutorias e... nada! Quando não dá erro direto ao tentar popular a base de dados, eu simplesmente não consigo fazer login com meu próprio usuário após reiniciar a máquina (Por enquanto ambiente virtual com VBox).
Por Favor, alguém me ajude a resolver isto. Dependo disto mudar um servidor com Microsoft Win2003 Server que tem um AD mas que, hoje, não é usado para nada além de logar os usuários de forma centralizada.

Grato a todos desde já! ;-)


  


2. PDC Samba + OpenLdap

Gilmar Silva
gssilva

(usa Ubuntu)

Enviado em 20/04/2010 - 15:09h

Boa tarde...

Veje bem, se seu samba não consegue autenticar um usuário é por duas razões:

1-As senhas da base LDAP (atributo userPassword) e do samba (sambaNTpasword e SambaLMpassword) não são as mesmas;

2-O samba não consegue se comunicar com o OpenLDAP. Para verificar isto rode os comandos abaixo:
a) getent passwd (retorna a base de usuários - inclusive LDAP;
b) ldapsearch -xLLL (retorna todas as entradas da base ldap);
c) netstat -auntp | grep 389 (retorna a porta em que o openldap está escutando);
3-Para a autenticação funcionar é FUNDAMENTAL que o sistema esteja também autenticando na base LDAP. Se isso não estiver ocorrendo, você precisa modificar o PAM por meio dos arquivos localizados em "/etc/pam.d/" e instalar os modulos do PAM e o NSS (libnss-ldap e libpam-ldap) e configurar os arquivos "/etc/nsswith.conf, /etc/libnss-ldap.conf e pam_ldap.conf" para orientar o sistema Debian a buscar também os usuários da base ldap.

Dúvidas? Poste aqui os seus arquivos de configurações e suas dúvidas que vamos lhe orientar.

Falou!!!


3. Re: PDC Samba + OpenLdap [RESOLVIDO]

Cleber Rocha
cl2b2r

(usa Debian)

Enviado em 20/04/2010 - 15:51h

Te agradeço meu caro! No entanto, a verdade é que não passei nem da configuração básica do Ldap. Ele já dá erro nas configurações e testes do slapd.conf . Vou fazer o seguinte:
Vou postar o passo-a-passo do que fiz e os erros que deram. Aí vcs terão melhores condições de saber do que exatamente estou falando e poderão ajudar.

Grato ;-)


4. slapd.conf e syslog

Cleber Rocha
cl2b2r

(usa Debian)

Enviado em 22/04/2010 - 01:03h

Olá pessoal, segue meus arquivos slapd.conf e syslog para analise.
Obs: Retirei todas as linhas que estão comentadas no slapd.conf ficando, portanto, somente as linhas válidas do arquivo.


allow bind_v2

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema

pidfile /var/run/slapd/slapd.pid

argsfile /var/run/slapd/slapd.args

loglevel none

modulepath /usr/lib/ldap
moduleload back_hdb

sizelimit 500

tool-threads 1

backend hdb
database hdb

suffix "dc=casa,dc=com"

rootdn "cn=manager,dc=casa,dc=com"
rootpw {SSHA}D9JJhbVt4JejBfqvU6tRfZq96+rC7cHs

directory "/var/lib/ldap"

dbconfig set_cachesize 0 2097152 0

dbconfig set_lk_max_objects 1500

dbconfig set_lk_max_locks 1500

dbconfig set_lk_max_lockers 1500

index objectClass eq

lastmod on

checkpoint 512 30

access to attrs=userPassword,shadowLastChange
by dn="cn=manager,dc=casa,dc=com" write
by anonymous auth
by self write
by * none

access to dn.base="" by * read

access to *
by dn="cn=manager,dc=casa,dc=com" write
by * read


--------------------------------------x---------------------------------------------

###syslog###

Apr 21 21:34:57 debian slapd[2926]: @(#) $OpenLDAP: slapd 2.4.11 (Nov 26 2009 09:17:06) $#012#011root@SD6-Casa:/tmp/buildd/openldap-2.4.11/debian/build/servers/slapd
Apr 21 21:34:57 debian slapd[2927]: slapd starting
Apr 21 21:42:37 debian slapd[2927]: daemon: shutdown requested and initiated.
Apr 21 21:42:37 debian slapd[2927]: slapd shutdown: waiting for 0 threads to terminate
Apr 21 21:42:37 debian slapd[2927]: slapd stopped.
Apr 21 21:42:41 debian slapd[3118]: @(#) $OpenLDAP: slapd 2.4.11 (Nov 26 2009 09:17:06) $#012#011root@SD6-Casa:/tmp/buildd/openldap-2.4.11/debian/build/servers/slapd
Apr 21 21:42:41 debian slapd[3118]: could not stat config file "/etc/ldap/schema/samba.schema": No such file or directory (2)
Apr 21 21:42:41 debian slapd[3118]: slapd destroy: freeing system resources.
Apr 21 21:42:41 debian slapd[3118]: slapd stopped.
Apr 21 21:42:41 debian slapd[3118]: connections_destroy: nothing to destroy.
Apr 21 21:43:20 debian kernel: [ 856.484133] UDF-fs: No VRS found
Apr 21 21:43:20 debian kernel: [ 856.487981] ISO 9660 Extensions: Microsoft Joliet Level 3
Apr 21 21:43:20 debian kernel: [ 856.488080] ISO 9660 Extensions: RRIP_1991A
Apr 21 21:56:34 debian kernel: [ 1650.613741] atkbd.c: Spurious NAK on isa0060/serio0. Some program might be trying access hardware directly.


Notem que coloquei aqui somente as linhas do syslog que tem a ver com o ldap. Quem puder ajudar ficarei imensamente grato. ;-)


5. smdldap-populate

Cleber Rocha
cl2b2r

(usa Debian)

Enviado em 22/04/2010 - 03:43h

Pessoal, o erro que eu disse aparecer quando tento popular a base de dados é o que vai aí abaixo:

erreur LDAP: Can't contact master ldap server for writing (IO::Socket::INET: connect: Connection refused) at /usr/share/perl5/smbldap_tools.pm line 277

Grato a quem puder ajudar. ;-)


6. + Uma tentativa

Claonilton Vieira Silva Júnior
claonilton

(usa Ubuntu)

Enviado em 24/04/2010 - 14:26h

Mesmo que o Slapd esteja iniciado, talvez o samba.schema não seja o da versão do seu samba... para conseguir esse schema você pode instalar o pacote samba-doc e atualizar o schema do seu ldap:
exemplo:

1 - apt-get install samba-doc
2 - zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
3 - Reiniciar o servidor e tentar popular mais uma vez...

Veja tb:
netstat -atn | grep "389" , para certificar que o serviço foi iniciado


7. :(

Cleber Rocha
cl2b2r

(usa Debian)

Enviado em 25/04/2010 - 07:11h

Valeu pela dica! Mas, eu fiz isso e continuou dando o mesmo problema. Alguém aí conhece algum tutorial completo que pode ser usado com sucesso no Debian Lenny? Por que se houver isso eu tento me guiar passo a passo por ele. Pra mim não é difícil recomeçar, minha máquina de teste é uma instalação no Virtual Box e eu tomei o cuidado de copiar o .vdi logo depois da instalção justamente para se desse algum problema sério (como esse ao que parece) eu poder recomeçar tudo do zero. Acredito que alguém já deve ter tido êxito em fazer isso funcionar, então, ajuda aí vai! Eu e a comunidade seremos muito gratos!


8. PDC Samba + OpenLdap

Gilmar Silva
gssilva

(usa Ubuntu)

Enviado em 26/04/2010 - 14:54h

Boa tarde cara...

Faz o seguinte...

1-Edite o arquivo do seu OpenLDAP e substitua a linha "loglevel none" por "loglevel 1024" e reinicie o OpenLDAP. O nível de log 2024 faz com que o log do OpenLDAP seja gerado com muito mais detalhes.

2- Se você instalou o Samba via APT instale também o pacote "samba-doc" e procure pelo arquivo "samba.schema.gz" - use o comando "updatedb" e em seguida "locate" para localiar o arquivo. Após localizá-lo, copie-o para o diretório de esquemas, entre nele, e descompacte o arquivo de esquema com o comando "gunzip samba.schema.gz". OBS: Todos os arquivos de schemas (esquemas) devem, obrigatoriamnete, existir e estar no diretporio "/etc/ldap/schema".
3-Edite o arquivo de Configuração do OpenLDAP e chame-o com a linha "include /etc/ldap/schema/samba.schema";
3-Lembre-se: a ordem das diretivas no arquivo de configuração do OpenLDAP é importante. Sempre faça backup do arquivo de configuração original e o tome como modelo para iniciar a configuração. Aí vai uma configuração que testei e funcionou:

# Definição de schemas e de objectClass
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/openldap.schema
include /etc/ldap/schema/collective.schema
include /etc/ldap/schema/corba.schema
include /etc/ldap/schema/duaconf.schema
include /etc/ldap/schema/dyngroup.schema
include /etc/ldap/schema/java.schema
include /etc/ldap/schema/ppolicy.schema
include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/misc.schema

# Politicas de senhas
#overlay ppolicy

# Arquivo de informação de processos slapd
pidfile /var/run/slapd/slapd.pid

# Lista de argumentos que são repassados ao servidoe slapd
argsfile /var/run/slapd/slapd.args

# Nivel de LOG
loglevel 1024

# Módulos carregados dinamicamente
modulepath /usr/lib/ldap
moduleload back_hdb

# Número máximo de entradas que é retornado para uma operação de busca
sizelimit 500

# Montante real de CPU que é usado para a indexação.
tool-threads 30

# Tipo de armazenamento - se for o único, todas as diretivas são apliadas a ele
backend hdb

# Tipo de base de dados.
database hdb

# Base do diretório
suffix "dc=casa,dc=com"

# Especificação do superusuário da base de dados
rootdn "cn=manager,dc=casa,dc=com"

# Especificação da semha criptografa do superusuário
rootpw {SSHA}mZIjhztHJKFvdoUE2vxk/2TY1ZQX2wf6

# localização do banco de dados
directory "/var/lib/ldap"

# Quantidade de memória RAM para o cache
dbconfig set_cachesize 0 100097152 0

# Núḿero de objetos que podem ser bloqueados ao mesmo tempo
dbconfig set_lk_max_objects 1500

# Número de bloqueios
dbconfig set_lk_max_locks 1500

# Número de travas
dbconfig set_lk_max_lockers 1500

# Opções de indexação para a base
index objectClass,uidNumber,gidNumber,memberUID,uniqueMember eq
index sambaSID,sambaPrimaryGroupSID,sambaDomainName,sambaGroupType,sambaSIDList eq
index cn,sn,uid,displayName pres,sub,eq
index default sub

# Salvar o tempo e data em que as entradas foram modificadas
lastmod on

# Checagem periódica da base de dados
checkpoint 512 30

# Controle de acessos à base de dados
access to attrs=userPassword,shadowMax,shadowLastChange
by self write
by dn="cn=manager,dc=casa,dc=com" write
by anonymous auth
by * none

access to attrs=sambaLMPassword,sambaNTPassword,sambaPwdLastSet,sambaPwdMustChange,sambaPwdCanChange,sambaPasswordHistory
by self write
by dn="cn=manager,dc=casa,dc=com" write
by anonymous auth
by * none

access to dn.base="" by * read

access to *
by dn="cn=manager,dc=casa,dc=com" write
by * read

4-Outro fator bastante problemático para quem está começando a usar o OpenLDAP é que as permissões do diretório "/var/lib/ldap", onde está a base de dados, são alteradas ao rodar comandos como "ldapadd", "slapcat", "slpindex".
5-Ao usar o arquivo de configuração anterior execute o seguinte procedimento:
a) Pare o servidor OpenLDAP "/etc/init.d/slapd stop";
b) Exclua a base de dados original "rm -rf /var/lib/ldap *";
c) Coloque as permissões corretas para o diretório da base de dados "chmod -R 755 /var/lib/ldap; chown -R openldap:openldap /var/lib/ldap";
d) Reconfigure o servidor OpenLDAP e responda as perguntas feitas pelo DPKG "dpkg-reconfigure slapd";
e) Edite o arquivo de Configuração do OpenLDAP e deixe-o como acima;
f) Pare o servidor OpenLDAP e execute o comando "slapindex";
g) Antes de iniciar o serviço, gere a senha do administrador da base com o comando "slappaswd" e digite a senha desejada e copie a saída do comando e o coloque no lugar do equivalente na linha "rootpw".
h) Inicie o OpenLDAP.

Se houver erros, posta aqui o LOG.

Você também pode seguir essse tutorial aqui:

http://www.vivaolinux.com.br/artigo/Samba-+-LDAP-+-Squid-no-Debian/
http://www.vivaolinux.com.br/artigo/Tutorial-completo-de-implementacao-de-LDAP-+-Samba-+-Squid/

Falou...



9. Migração LDAP

Jean Rafael Schultz
jeanrafael

(usa Debian)

Enviado em 11/05/2010 - 10:42h

Bom Dia Pessoal,

Estou migrando meu samba 3.0.24-6etch4 e slapd 2.3.30-5 para outro servidor samba 2:3.2.5-4 lenny9.

A questão é a seguinte:

1.Com uma base nova consigo colocar um computador no domínio e realizar a autenticação dos usuários.

2.Quando executo a importação da minha base antiga para o servidor novo, consigo colocar o computador no domínio mais não consigo autenticar os usuários, sendo apresentada a seguinte mensagem de erro:

LOG COM NIVEL 1
[2010/05/10 16:14:21, 1] rpc_server/srv_netlog_nt.c:_netr_LogonSamLogon(1060)
_netr_LogonSamLogon: user IELUSC_NOVO\jeanrafael has user sid S-1-5-21-760609835-2470346947-312454466-6898
but group sid S-1-5-21-1719875013-3276036848-2980268975-513.
The conflicting domain portions are not supported for NETLOGON calls

LOG COM NIVEL 10
Primary group is 0 and contains 0 supplementary groups
[2010/05/10 16:47:45, 3] smbd/sec_ctx.c:pop_sec_ctx(432)
pop_sec_ctx (65534, 65534) - sec_ctx_stack_ndx = 0
[2010/05/10 16:47:45, 5] auth/auth.c:check_ntlm_password(295)
check_ntlm_password: PAM Account for user [jeanrafael] succeeded
[2010/05/10 16:47:45, 2] auth/auth.c:check_ntlm_password(308)
check_ntlm_password: authentication for user [jeanrafael] -> [jeanrafael] -> [jeanrafael] succeeded
[2010/05/10 16:47:45, 5] auth/auth_util.c:free_user_info(1985)
attempting to free (and zero) a user_info structure
[2010/05/10 16:47:45, 10] auth/auth_util.c:free_user_info(1989)
structure was created for jeanrafael
[2010/05/10 16:47:45, 5] rpc_server/srv_netlog_nt.c:_netr_LogonSamLogon(981)
_netr_LogonSamLogon: check_password returned status NT_STATUS_OK
[2010/05/10 16:47:45, 1] rpc_server/srv_netlog_nt.c:_netr_LogonSamLogon(1060)
_netr_LogonSamLogon: user IELUSC_NOVO\jeanrafael has user sid S-1-5-21-760609835-2470346947-312454466-6898
but group sid S-1-5-21-1719875013-3276036848-2980268975-513.

OBS:
-O SID no /etc/smbldap-tools/smbldap.conf configurei o mesmo SID da base antiga
-Consigo localizar os objetos com slapsearch -Xll
-Executo o comando net groupmap list e os grupos aparecem
-Executo o comando getent passw e os usuários da base são listados


10. Re: PDC Samba + OpenLdap [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/06/2010 - 20:29h

Pessoal,

Hoje tenho o samba como pdc no dominio + dns usando um dominio local...por exemplo no meu /etc/hosts esta assim:

10.33.0.1 samba.nfa samba

no meu dhcp + dns o meu dominio está como samba.nfa e nfa e estou querendo colocar meus usuários do samba + squid para autenticar no ldap mas vi nas configurações do ldap que ele pede para colocar o .com.br como meu dominio é local como eu coloco na configurações do ldap abaixo:

include /etc/ldap/schema/samba.schema
suffix “dc=NFA,dc=com,dc=br”==> como não tenho .com.br e que coloco aqui? ou tenho que colocar .com.br dentro do /etc/hosts e nas zonas do DNS??
password-hash {MD5}
rootdn “cn=admin,dc=empresa,dc=com,dc=br”
rootpw (senha MD5)
access to






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts