Archive for the 'SMBLDAP-TOOLS' Category

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

gq

 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.