OpenLDAP com smbldap-tools
clodonil September 1st, 2008
O Smbldap-tools é uma ferramenta de gerenciamento do servidor LDAP. Com ele é possível criar usuário, grupos e popular a base LDAP. O smb (smbldap) dá a dica que essa é uma ferramenta para criação de contas de usuário para o SAMBA.
Essa ferramenta vem substituir o uso dos comandos do SAMBA para a criação do usuário. Quem já configurou um servidor SAMBA sabe que os usuários criados com o comando smbpasswd obrigatóriamente deve estar criado na conta do sistema Linux. A criação desta conta do usuário no sistema não faz sentido já que estamos querendo que todos os usuários fiquem centralizados no LDAP. Portanto o smbldap-tools é um conjunto descript em perl que permite a criação de contas diretamente na base LDAP, sem precisar criar a conta no sistema.
Algumas das caractéristicas do smbldap-tools:
- Cria a estrutura do LDAP, tais como: usuário, grupos e computadores;
- Controla o id e gid do usuário;
- Definições de particularidades do sistema, tais como criptografia.
Para o funcionamento do smbldap-tools, é necessário o arquivo smb.conf. Portanto é aconselhavem a instalação do SAMBA.
A instalação do smbldap-tools é bem simples. Essa ferramenta encontra-se em todos (que conheço) as distribuições Linux.
No Ubuntu-Server podemos fazer a instalação utilizando o comando apt-get:
[root@cabeca]#apt-get install smbldap-tools
Antes de entrar na configuração, é necessário encontrar o SID do samba. SID é o ID do sistema para localizar usuários, grupos e computadores. Para encontrar o SID do samba execute net getlocalsid. Com essa informação vamos configurar o smbldap-tools.
Normalmente os arquivos de configuração não estão presentes no arquivo /etc/smbldap-tools após a instalação. É necessário copia-lós do diretório de exemplos que estão em /usr/share/doc/smbldap-tools/examples/ para o diretório /etc/smbldap-tools/.
- /etc/smbldap-tools/smbldap.conf
# Coloque aqui o SID do SAMBA
SID=S-1-5-21-3427200827-1333373418-835043165
# Dominio do servidor SAMBA
sambaDomain=DOMINIO.SAMBA
# Servidor de Backup (LDAP)
slaveLDAP=x.x.x.x
slavePort=389
# Servidor Principal (LDAP)
masterLDAP=x.x.x.x
masterPort=389
# Se o servidor LDAP tiver suporte a TLS, mude o valor para 1
ldapTLS=0
verify=require
# Dominio LDAP
suffix=dc=dominio,dc=ldap
#A estrutura do LDAP
# Conta dos usuarios
usersdn=ou=People,${suffix}
# Conta dos Computadores
computersdn=ou=Computers,${suffix}
#Conta de grupos
groupsdn=ou=Groups,${suffix}
#Conta de idmap
idmapdn=ou=Idmap,${suffix}
# Armazena o proximo ID
sambaUnixIdPooldn=sambaDomainName=${sambaDomain},${suffix}
# Define o escopo da busca
scope=sub
#Define o tipo de criptografia que serao utiliza nas contas
# Unix(CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)
hash_encrypt=CRYPT
crypt_salt_format=%s
# Define se o usuario vai ter shell
userLoginShell=/bin/bash
# Define o home do usuario (SAMBA)
userHome=/home/%U
# Define as permissoes de acesso ao home
userHomeDirectoryMode=700;
# Gecos
userGecos=System User
# define um grupo padrão
defaultUserGid=513
# Define um grupo padrao para as contas dos computadores
defaultComputerGid=515
# Define o diretorio de shell
skeletonDir=/etc/skel
#Define o tempo da validade da senha
defaultMaxPasswordAge=45
# Configuracao do SAMBA
userSmbHome=\\dominio.samba\%U
userProfile=\\dominio.samba\dominio.samba\%U
userHomeDrive=L:
userScript=logon.bat
mailDomain=dominio.samba
with_smbpasswd=0
smbpasswd=/usr/bin/smbpasswd
slappasswd=/usr/sbin/slappasswd
Também é necessário configurar o arquivo smbldap_bind.conf. Neste arquivo é configurado as senhas do servidores LDAP.
- /etc/smbldap-tools/smbldap_bind.conf
masterDN=cn=Manager,dc=dominio,dc=ldap masterPw=senha slaveDN=cn=Manager,dc=dominio,dc=ldap slavePw=senha
Com a figuração do smbldap-tools temos todos os pré-requisitos necessários para rodar o comando smbldap-populate. Esse comado vai criar as seguintes estrutura na base LDAP:
- ou=Users
- ou=grupo
- ou=Computers
- ou=idmap
- cn=root
- sambaUnixIdPooldn

Figura 1 – GQ
A fígura 1 mostra a estrutura do LDAP após rodar o smbldap-populate.
Já que vamos utilizar o Gosa para fazer o gerenciamento da base LDAP, para que instalar o smbldap-tools? Utilizamos o smbldap-tools básicamente para duas tarefas:
- Cadastrar as contas de máquinas automaticamente;
- Alteração da senha do usuário pelo Windows;
Nas duas situações o procedimento é automatizado, não precisando da interação do admistrador.
Quando um computador é colocado no domínio, é preciso alterar ou cadastrar a conta do computador na base LDAP, acrescentar informações referente ao domínio. Neste processo também utilizamos o smbldap-tools.
O próximo passo é a configuração do Gosa para gerenciar a base LDAP. Com ele o procedimento para criação de usuário e grupo passa a ser um procedimento simples.