Configuração Openldap no cliente RHEL 6.6

1

Temos um script de shell que executa o programa perl para conectar-se ao servidor LDAP e fazer entradas.

Este é o único script que usa o ldap. Este servidor está hospedando todos os arquivos relacionados a lotes e executa trabalhos em lote em autosys. Portanto, não queremos autenticação LDAP neste servidor. Nosso único uso do ldap é conectar-se ao servidor LDAP e atualizar as entradas. Alguma outra autenticação LDAP de usuário de aplicativo da web que não nos preocupa agora.

Agora, estamos movendo nossos servidores em lote do Solairs 10 para o RHEL 6.6. A máquina antiga tem o SUNWlldap e estamos tentando configurar o cliente OpenLDAP na nova máquina Linux. O servidor LDAP é o RHEL 5.11 e está usando o openldap.

Instalamos abaixo do rpm na nova máquina.

nss-pam-ldapd-0.7.5-18.2.el6_4.x86_64, 
openldap-2.4.39-8.el6.x86_64, 
pam_ldap-185-11.el6.x86_64, 
apr-util-ldap-1.3.9-3.el6_0.1.x86_64, 
perl-Mozilla-LDAP-1.5.3-4.el6.x86_64, 
compat-openldap-2.3.43-2.el6.x86_64, 
perl-LDAP-0.40-1.el6.noarch.

Configurou o cliente de acordo com o link abaixo:

link

Eu deixei de fora parte de certs. Eu procurei pelos certificados no servidor antigo e não consegui encontrar nenhum deles. Eu não entendo como ele está se conectando sem usar certs e não tenho certeza se precisamos de certs para o nosso propósito.

Abaixo está o script que usa o ldap:

$oid001i.pl $input_file $LDAP_Server $LDAP_Port $LDAP_ID $LDAP_PWD $LDAP_UserBaseDN

Todas essas variáveis são originadas de outro arquivo. Abaixo estão os conteúdos do arquivo

LDAP_Server=servername.company.com
LDAP_Port=1389
LDAP_ID="cn=username,cn=users,dc=company,dc=com"
LDAP_PWD="password"
LDAP_UserBaseDN="cn=users,dc=company,dc=com"

Código Perl para ligação em oid001i.pl :

$ldap = Net::LDAP->new( $LDAP_Server, port=>$LDAP_Port, version => 3);
$mesg = $ldap->bind( $LDAP_ID,password => $LDAP_PWD);
$SearchFor="cn=$cn";
#Perform Search
$mesg = $ldap->search( base   => $LDAP_UserBaseDN, filter => $SearchFor,callback => \&ParseEntry,);

$mesg = $ldap->unbind;   # take down session

Quando executo

$perl oid001i.pl input_file server.company.com port "cn=username,cn=users,dc=company,dc=com" password "cn=users,dc=company,dc=com"

Recebemos este erro:

Can't call method "bind" on an undefined value at oid001i.pl line 21, <IN> line 1.

Eu corri este comando para verificar a conectividade e recebi erros:

$ldapsearch -h servername.company.com -p 1389 -LLLx -b 'cn=users,dc=comapany,dc=com' -s base
Cannot connect to the LDAP server

Estou faltando alguma coisa aqui? Os certs devem se conectar a um servidor LDAP? Há algo mais a ser feito no lado do servidor LDAP? Qualquer ajuda será muito apreciada?

    
por Raghav 14.06.2016 / 16:05

0 respostas