Serviço LDAP no Debian
Este artigo foi baseado em Debian Wheezy. |
O que é o LDAP?
Existem milhares de definições sobre LDAP nos livros e páginas da Internet. No entanto, para um rápido entendimento, seria mais fácil dizer que LDAP é um banco de dados que segue padrões descritos em RFCs. É como se estivéssemos trabalhando com um banco que tivesse campos com nomes predefinidos.
O objetivo principal deste arquivo é mostrar como configurar o LDAP em um Debian e, a seguir, como realizar a conexão de clientes via PAM.
Instalação do LDAP
Primeiramente, deveremos instalar o servidor e pacote de comandos básicos.
# apt-get install slapd ldap-utils
Pacote slapd contém...
Depois de emitido o comando de instalação, uma janela surgirá, solicitando uma senha de administrador para o usuário admin. Utilize a senha 123, pois teremos que trocá-la logo em seguida. O próximo passo será fazer um configuração mais detalhada do LDAP. Para isso, emita o comando:
# dpkg-reconfigure slapd
A partir deste ponto, teremos uma sequência de telas com perguntas.
Tela (1): Omitir a configuração do servidor OpenLDAP?
- Nesta tela deverá ser respondido Não, para que possamos continuar a configuração detalhada do LDAP.
Tela (2): Nome do domínio DNS
- Aqui deverá ser digitado o domínio da rede que terá os seus usuários cadastrados no LDAP. Apenas como exemplo, darknet.com.br. O LDAP transformará isso em dc=darknet,dc=com,dc=br.
- A abreviatura dc significa Domain Component.
Tela (3): Nome da organização
- Neste ponto deverá ser informado o nome da organização. Exemplo: Darknet Redes e Solucoes
- É importante não usar acentuação ou cedilha neste passo.
Tela (4): Senha do administrador
- Agora deverá ser digitada a senha definitiva do admin, que será o usuário administrador do LDAP.
- Preocupe-se em utilizar uma senha forte e confiável.
Tela (5): "Backend" de base de dados a ser usado
- O LDAP utiliza um sistema de banco de dados para armazenar as informações. Nesta fase, um sistema deverá ser escolhido.
- Atualmente, a opção recomendada é o HDB, que é baseado no antigo BDB.
- É interessante ressaltar que o HDB está em fase de substituição pelo MDB. Caso esta opção esteja disponível, use-a. Caso contrário, selecione o HDB.
(7) Não, a não ser (/var/lib/ldap)
(8) Sim
(9) Não
Instalação completa. Para ver o resultado:
$ ldapsearch -xb dc=darknet,dc=com,dc=br
Migrando uma base passwd/shadow/group
Procedimentos na máquina que contém os usuários
# apt-get install migrationtools
edite /etc/migrationtools/migrate_common.ph
procure as linhas
$DEFAULT_MAIL_DOMAIN = "padl.com"; $DEFAULT_BASE = "dc=padl,dc=com";
alterar
$DEFAULT_MAIL_DOMAIN = "darknet.com.br"; $DEFAULT_BASE = "dc=darknet,dc=com,dc=br";
Criar arquivos secundários do /etc/passwd e /etc/group (se precisar do group). O shadow será lido. No Debian começa em 1000.
# awk -F: '$3 > 999' /etc/passwd | sort -nt: -k 3 > /tmp/passwd.new
Se for o caso
# awk -F: '$3 > 999' /etc/group | sort -nt: -k 3 > /tmp/group.new
Alterar 999 para 499 em outras distros.
Criar arquivos no formato ldif. Executar dentro do dir do mt.
# cd /usr/share/migrationtools # ./migrate_passwd.pl /tmp/passwd.new /tmp/passwd.ldif
Observe o conteúdo do arquivo /tmp/passwd.ldif. Os hashes das senhas dos usuários deverão existir, significando que as mesmas foram exportadas.
Mover para a máquina servidora ldap e apagar o arquivo em /tmp.
Procedimentos na máquina com serviço LDAP
A seguir, deveremos gerar um arquivo que será utilizado para estabelecer a área da árvore LDAP que receberá os usuários. Assim, dentro do diretório /tmp, crie o arquivo people.ldif com o seguinte conteúdo:
dn: ou=People,dc=darknet,dc=com,dc=br ou: People objectclass: organizationalUnit
fazer grupo tb
Ainda dentro de /tmp, importar os usuários para a base:
# ldapadd -WD "cn=admin,dc=darknet,dc=com,dc=br" -f people.ldif
Será pedida a senha de administrador e ocorrerá a consequente importação. A sequir,
# ldapadd -WD "cn=admin,dc=darknet,dc=com,dc=br" -f /tmp/passwd.ldif
Importado. Verificação:
# ldapsearch -xb dc=darknet,dc=com,dc=br
Se for o caso
# ./migrate_group.pl /tmp/group.new /tmp/group.ldif
Adicionando usuários na base
Configuração dos clientes
- apt-get install --no-install-recommends libnss-ldap
telas
- apt-get install libpam-ldap
telas
configurar host nos arquivos
backup do pam
alterar pam (mkhome SFC)
alterar nsswitch
arquivos de senhas
phpldapadmin
Usar versão do Wheezy.