Configuração básica do openldap usando a configuração do slapd.d

12

Estou tentando configurar um servidor openldap de teste, não tendo trabalhado com o openldap antes. Estou usando o pacote padrão openldap-servers em uma máquina baseada em redhat (usando o Oracle Linux). Eu instalei os pacotes e iniciei o servidor.

Agora não tenho ideia de como fazer com que o servidor faça algo útil; Eu não posso navegar para ele usando luma ('Nenhum objeto assim' ao tentar acessar a entrada de nível superior), os documentos openldap são obtusos de como você realmente obter um servidor para uma confuração de trabalho básica e todas as informações on-line é para o arquivo slapd.conf antigo, em vez do novo slapd.d e cn = config.

Como faço para que uma instalação openldap embalada em baunilha funcione onde posso navegar até a raiz dn na luma?

    
por thecoop 09.04.2014 / 13:11

2 respostas

18

Eu sinto sua dor.

Tente isso (ele foi testado no Scientific Linux 6.5, então deve funcionar no OL também):

  • Instalar servidores OpenLDAP: yum install openldap-servers openldap-clients )
  • inicie slapd : service slapd start (e talvez chkconfig slapd on )
  • Crie senhas para cn=config e seu usuário administrador normal do LDAP com slappasswd . Observe a saída disso.
  • Crie um arquivo LDIF com o seguinte conteúdo:
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj

dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj
-
replace: olcRootDN
olcRootDN: cn=admin,dc=your,dc=base,dc=com
-
replace: olcSuffix
olcSuffix: dc=your,dc=base,dc=com
  • Os valores para olcRootPW devem ser substituídos pela saída de slappaswd anotada anteriormente.
  • Naturalmente, olcSuffix e olcRootDN devem ser adaptados ao novo DN base.
  • Alimente tudo isso no servidor LDAP com o seguinte comando:

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

Depois disso, você deve conseguir se conectar aos dois cn=config e dc=your,dc=base,dc=com via LDAP.

    
por 09.04.2014 / 14:27
8

Antes de iniciar o servidor OpenLDAP, você precisa configurar algumas coisas primeiro.

Configuração básica

Você precisa configurar um usuário root e uma senha, além de definir seu DN base. Em slapd.conf , procure as linhas que seguem as linhas e defina-as para os valores desejados.

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

Normalmente, seu DN base (definido como suffix no arquivo) é o componente do seu nome de domínio, separado por vírgulas e prefixado com dc= . Portanto, serverfault.com pode se tornar dc=serverfault,dc=com . Seu rootdn deve estar nesse sufixo.

Você também precisa alterar a linha que define a senha do root. Você pode configurá-lo para um valor de texto simples ou usar slappasswd para criar um hash. Em seguida, você precisa colocar o valor de texto sem formatação ou o valor com hash fora de slappasswd em uma linha como esta:

rootpw myultrasecurepassword

Esquemas

É uma boa ideia começar a pensar nos esquemas que você deseja usar. Um esquema define os atributos que um objeto pode ter, portanto, é necessário incluir os esquemas que contêm os atributos necessários. Esses esquemas estão incluídos na parte superior de slapd.conf e os que estão aqui são geralmente os esquemas básicos absolutos de que você precisará:

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

Esses caminhos são os usados no Arch Linux, então você pode precisar ajustá-los para caber no Oracle Linux.

Sobre slapd.conf vs slapd.d

O OpenLDAP mudou da configuração off-line (feita em slapd.conf ) para a configuração on-line, armazenando dados em uma árvore cn=config especial encontrada em slapd.d . No entanto, modificar os arquivos ldif em slapd.d é um processo difícil, por isso é muito mais fácil editar slapd.conf como acima e convertê-lo no novo formato slapd.d .

Primeiro, remova tudo em slapd.d . Em seguida, execute o seguinte comando, certificando-se de ajustar os caminhos para o Oracle Linux:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Em seguida, basta definir o proprietário para o usuário e grupo LDAP nesse diretório de forma recursiva, e você deve estar pronto para usá-lo. Isso precisa ser feito toda vez que você editar slapd.conf - lembre-se de parar o servidor OpenLDAP antes de executá-lo!

Execução inicial

Antes de poder realmente usar o diretório, você precisa criar o DN base (e o usuário root). Crie um arquivo .ldif , contendo linhas semelhantes às seguintes:

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

Agora inicie o servidor OpenLDAP. Nós só precisamos empurrar essa informação para o diretório LDAP:

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

Obviamente, mude o DN da raiz e o nome do arquivo ldif para corresponder ao que você tem.

Agora você deve ter um diretório LDAP em funcionamento configurado e pronto para ser preenchido!

O wiki do Arch Linux é uma ótima fonte de informações sobre esse tópico - veja link e link se você quiser saber mais.

    
por 09.04.2014 / 15:03