
Estou tentando configurar um servidor openldap de teste, nunca tendo trabalhado com openldap antes. Estou usando o pacote openldap-servers padrão em uma máquina baseada em redhat (usando Oracle Linux). Instalei os pacotes e iniciei o servidor.
Agora não tenho ideia de como fazer com que o servidor faça algo útil; Não consigo navegar até ele usando luma ('Nenhum objeto' ao tentar acessar a entrada de nível superior), os documentos do openldap são obtusos sobre como você realmente coloca um servidor em uma configuração básica de trabalho e todas as informações on-line é para o arquivo slapd.conf antigo, e não para o novo slapd.d e cn=config.
Como faço para que uma instalação do openldap empacotada Vanilla funcione onde posso navegar até o dn raiz em luma?
Responder1
Eu sinto sua dor.
Tente isto (foi testado no Scientific Linux 6.5, portanto deve funcionar também no OL):
- Instale servidores OpenLDAP:
yum install openldap-servers openldap-clients
) - começar
slapd
:service slapd start
(e talvezchkconfig slapd on
) - Crie senhas para
cn=config
seu usuário administrador LDAP normal comslappasswd
. Observe a saída disso. - Crie um arquivo LDIF com o seguinte conteúdo:
dn: olcDatabase={0}config,cn=config changetype: modificar adicione: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj dn: olcDatabase={2}bdb,cn=config changetype: modificar adicione: olcRootPW olcRootPW: {SSHA}TXcmvaldskl312012cKsPK1cY2321+aj - substituir: olcRootDN olcRootDN: cn=admin,dc=seu,dc=base,dc=com - substituir: olcSuffix olcSufixo: dc=seu,dc=base,dc=com
- Os valores para
olcRootPW
devem ser substituídos pela saídaslappaswd
anotada anteriormente. - Naturalmente,
olcSuffix
eolcRootDN
deve ser adaptado ao seu novo DN base. Alimente tudo isso ao servidor LDAP com o seguinte comando:
ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif
Depois disso, você poderá se conectar a ambos cn=config
e dc=your,dc=base,dc=com
via LDAP.
Responder2
Antes de iniciar o servidor OpenLDAP, você precisa primeiro configurar algumas coisas.
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 seguintes e defina-as com os valores desejados.
suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"
Normalmente o seu DN base (definido como suffix
no arquivo) são os componentes do seu nome de domínio, separados por vírgulas e prefixados com dc=
. Então, serverfault.com
pode se tornar dc=serverfault,dc=com
. Você rootdn
deve estar sob esse sufixo.
Você também precisa alterar a linha que define a senha root. Você pode configurá-lo para um valor de texto simples ou usá-lo slappasswd
para criar um hash. Em seguida, você precisa colocar o valor do texto simples ou o valor do hash slappasswd
em uma linha semelhante a esta:
rootpw myultrasecurepassword
Esquemas
É uma boa ideia, neste momento, começar a pensar nos esquemas que deseja usar. Um esquema define os atributos que um objeto pode ter, portanto, você precisa 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 geralmente são 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 usados no Arch Linux, então pode ser necessário ajustá-los para se adequarem ao Oracle Linux.
Sobre slapd.conf
vs.slapd.d
O OpenLDAP mudou da configuração offline (feita em slapd.conf
) para configuração online, armazenando dados em uma cn=config
árvore especial encontrada em slapd.d
. Modificar os ldif
arquivos slapd.d
é um processo doloroso, por isso é muito mais fácil editar slapd.conf
como acima e depois convertê-los para o novo slapd.d
formato.
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 seu usuário e grupo LDAP nesse diretório recursivamente e você estará pronto para prosseguir. Isso precisa ser feito toda vez que você editar slapd.conf
- lembre-se de parar o servidor OpenLDAP antes de fazer isso!
Execução inicial
Antes de poder realmente usar o diretório, você precisa criar o DN base (e o usuário root). Crie um .ldif
arquivo contendo linhas semelhantes a esta:
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. Precisamos apenas enviar essas informações para o diretório LDAP:
ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif
Obviamente, altere o DN raiz e o nome do arquivo ldif para corresponder ao que você possui.
Agora você deve ter um diretório LDAP funcional configurado e pronto para ser preenchido!
O wiki do Arch Linux é uma ótima fonte de informações sobre este tópico - vejahttps://wiki.archlinux.org/index.php/OpenLDAPehttps://wiki.archlinux.org/index.php/LDAP_Authenticationse você quiser saber mais.