Instalação do OpenLDAP
Nota
Se você precisar instalar somente os binários "ldap*" do lado cliente, páginas
de manual, bibliotecas e arquivos de cabeçalho correspondentes
(referidos como instalação “client-only”), [então] emita estes
comandos, em vez dos seguintes (nenhuma suíte de teste
disponível):
patch -Np1 -i ../openldap-2.6.8-consolidated-1.patch &&
autoconf &&
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--enable-dynamic \
--disable-debug \
--disable-slapd &&
make depend &&
make
Em seguida, como o(a) usuário(a) "root
":
make install
Deveria existir um(a) usuário(a) e um grupo dedicado(a) para
assumir o controle do processo de segundo plano "slapd" depois de ele ser
iniciado. Emita os seguintes comandos como o(a) usuário(a)
"root
":
groupadd -g 83 ldap &&
useradd -c "Proprietário(a) do Processo de Segundo Plano OpenLDAP" \
-d /var/lib/openldap -u 83 \
-g ldap -s /bin/false ldap
Instale o "OpenLDAP" executando os
seguintes comandos:
patch -Np1 -i ../openldap-2.6.8-consolidated-1.patch &&
autoconf &&
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib \
--disable-static \
--disable-debug \
--with-tls=openssl \
--with-cyrus-sasl \
--without-systemd \
--enable-dynamic \
--enable-crypt \
--enable-spasswd \
--enable-slapd \
--enable-modules \
--enable-rlookups \
--enable-backends=mod \
--disable-sql \
--disable-wt \
--enable-overlays=mod &&
make depend &&
make
Os testes são frágeis e erros podem fazer com que os testes abortem
antes de finalizarem. Alguns erros podem ocorrer devido a problemas
de temporização. Os testes duram cerca de uma hora e o tempo
independe da CPU devido a atrasos nos testes. Na maioria dos
sistemas, os testes executarão até o teste test065-proxyauth for mdb
. Para testar os
resultados, emita: make
test.
Agora, como o(a) usuário(a) "root
":
make install &&
sed -e "s/\.la/.so/" -i /etc/openldap/slapd.{conf,ldif}{,.default} &&
install -v -dm700 -o ldap -g ldap /var/lib/openldap &&
install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d &&
chmod -v 640 /etc/openldap/slapd.{conf,ldif} &&
chown -v root:ldap /etc/openldap/slapd.{conf,ldif} &&
install -v -dm755 /usr/share/doc/openldap-2.6.8 &&
cp -vfr doc/{drafts,rfc,guide} \
/usr/share/doc/openldap-2.6.8
Explicações do Comando
--disable-static
: Essa
chave impede a instalação das versões estáticas das bibliotecas.
--disable-debug
: Essa chave
desabilita o código de depuração no "OpenLDAP".
--enable-dynamic
: Essa
chave força as bibliotecas do "OpenLDAP" a serem vinculadas dinamicamente aos
aplicativos executáveis.
--enable-crypt
: Essa chave
habilita usar senhas do crypt(3).
--enable-spasswd
: Essa
chave habilita a verificação de senha do "SASL".
--enable-modules
: Essa
chave habilita o suporte a módulo dinâmico.
--enable-rlookups
: Essa
chave habilita pesquisas reversas de nomes de dispositivos
clientes.
--enable-backends
: Essa
chave habilita todas as estruturas de retaguarda disponíveis.
--enable-overlays
: Essa
chave habilita todas as sobreposições disponíveis.
--disable-sql
: Essa chave
desabilita explicitamente a estrutura "SQL" de retaguarda. Omita
essa chave se um servidor "SQL" estiver instalado e você for usar
uma estrutura "SQL" de retaguarda.
--disable-wt
: Essa chave
desabilita explicitamente a estrutura "WiredTiger" de retaguarda.
Omita essa chave se o "WiredTiger" estiver instalado e você for
usar uma estrutura "WiredTiger" de retaguarda.
--libexecdir=/usr/lib
: Essa
chave controla onde o diretório "/usr/lib/openldap
" está instalado. Tudo nesse
diretório é uma biblioteca, de forma que ele pertence a
"/usr/lib
" em vez de "/usr/libexec
".
--enable-slp
: Essa chave habilita o
suporte a "SLPv2". Use-a se você tiver instalado o "OpenSLP".
--disable-versioning
: Essa chave
desabilita o versionamento de símbolos nas bibliotecas do
OpenLDAP. O padrão é o de ter
versionamento de símbolos. Observe que se você tiver construído
aplicativos usando esse pacote com versionamento de símbolos e
removeu os símbolos, os aplicativos possivelmente falhem na
execução.
Nota
Você pode executar "./configure
--help" para ver se existe outra chave que você
possa passar para o comando "configure" para habilitar
outras opções ou pacotes de dependência.
"install ...",
"chown ..." e
"chmod ...": Ter
arquivos de configuração do "slapd" e bases de dados "ldap" em
"/var/lib/openldap" legíveis por qualquer pessoa é um PROBLEMA DE
SEGURANÇA, especialmente porque um arquivo armazena a senha do(a)
administrador(a) em TEXTO SIMPLES. É por isso que o modo 640 e a
titularidade de propriedade "root:ldap" foi usado. O proprietário é
o(a) "root", de forma que somente o(a) "root" consegue modificar o
arquivo, e o grupo é o "ldap", de forma que o grupo que titulariza
o processo de segundo plano "slapd" consiga ler, mas não modificar
o arquivo em caso de uma brecha de segurança.
Configurando o OpenLDAP
Arquivos de
Configuração
-
Para o cliente do "LDAP": "/etc/openldap/ldap.conf
" e "~/.ldaprc
"
-
Para o servidor do "LDAP", dois mecanismos de configuração
são usados: um arquivo legado de configuração "/etc/openldap/slapd.conf
" e o sistema
recomendado "slapd-config", usando uma base
de dados "LDIF" armazenada em "/etc/openldap/slapd.d
".
Informação de Configuração
Configurar os servidores "slapd" pode ser complexo.
Proteger o diretório do "LDAP", especialmente se você estiver
armazenando dados não públicos, como bases de dados de senhas,
também pode ser uma tarefa desafiadora. Para a finalidade de
configurar o "OpenLDAP", você
precisará modificar ou o arquivo "/etc/openldap/slapd.conf
" (método antigo) ou o
arquivo "/etc/openldap/slapd.ldif
"
e, em seguida, usar o "ldapadd" para criar a base de
dados de configuração do "LDAP" em "/etc/openldap/slapd.d
" (recomendado pela
documentação do "OpenLDAP").
Atenção
As instruções acima instalam uma estrutura vazia do "LDAP" e um
arquivo "/etc/openldap/slapd.conf
" padrão, que são
adequados para testar a construção e outros pacotes que usem o
"LDAP". Não os use em um servidor de produção.
Recursos para te ajudar com tópicos como escolha de configuração
de diretório, definições de estrutura de retaguarda e base de
dados, configurações de controle de acesso, execução como um(a)
usuário(a) diferente de "root
" e
configuração de um ambiente "chroot" incluem:
Unidade do
systemd
Para automatizar a inicialização do servidor do "LDAP" na
inicialização do sistema, instale a unidade
"slapd.service
" inclusa no
pacote "" "blfs-systemd-units-20240801"
usando o seguinte comando:
make install-slapd
Nota
Você precisará modificar o "/etc/default/slapd
" para incluir os
parâmetros necessários para a tua configuração específica.
Veja-se a página de manual do "slapd" para informações de
parâmetros.
Testando a Configuração
Inicie o servidor do "LDAP" usando o
"systemctl":
systemctl start slapd
Verifique o acesso ao servidor do "LDAP" com o seguinte comando:
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
O resultado esperado é:
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts
#
#
dn:
namingContexts: dc=my-domain,dc=com
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1