Samba + LDAP

Fonte: TecPorto
Saltar para a navegação Saltar para a pesquisa

Instalação

Este tutorial destina-se à utilização de uma combinação de Samba e LDAP para criar domínios NT clássicos ou servidores de partilhas simples. Para a criação de domínios Active Directory, deverá seguir-se o tutorial em Samba como PDC Active Directory.

Nota: Esta instalação presume a existência de um servidor LDAP previamente aprovisionado.

As instruções neste tutorial foram testadas numa instalação Ubuntu Server 18.04. Para outras versões ou distribuições poderá ser necessário proceder a pequenas correcções.

Pacotes a instalar

A seguir apresenta-se uma lista genérica de pacotes com os nomes mais tipicamente utilizados na maioria das distribuições. Deverá corrigir os nomes conforme apropriado para a distribuição específica que estiver a utilizar.

  • samba
  • samba-common
  • samba-common-bin
  • samba-dsdb-modules
  • samba-libs
  • samba-vfs-modules
  • ldap-auth-client
  • ldap-auth-config
  • ldap-utils
  • libpam-ldap
  • shelldap (não obrigatório, mas altamente recomendado)
  • smbldap-tools
  • smbclient

Nota: Em Alpine Linux não há o pacote smbldap-tools, essencial ao funcionamento de Samba com LDAP. Para se conseguir construir esta solução com Alpine Linux terá que se instalar manualmente o pacote smbldap-tools ou utilizar outra máquina ou container com outra distribuição de Linux que tenha o pacote smbldap-tools (Ubuntu, por exemplo), para se fazer as modificações à base de dados LDAP destinadas importar a estrutura adicional e corrigir os atributos dos utilizadores.

TODO (...)

Aprovisionamento do directório LDAP

Após instalação dos pacotes, é preciso adicionar ao directório LDAP o schema contendo as definições das classes e atributos necessários ao Samba. Isto pode ser feito desactivando o serviço slapd temporariamente, para se poder utilizar o comando slapmodify:

 slapmodify -n0 -l samba.ldif

O ficheiro samba.ldif deverá vir com o pacote smbldap-tools e geralmente é colocado em /usr/share/doc/samba/examples/LDAP/

É, também, necessário adicionar os seguintes índices ao directório:

 index displayName                       pres,sub,eq
 index sambaSID                          eq
 index sambaPrimaryGroupSID              eq
 index sambaDomainName                   eq
 index sambaGroupType                    eq
 index sambaSIDList                      eq

E de seguida executar o comando slapindex. Deve agora iniciar de novo o serviço slapd.


Depois deve executar o comando smbldap-config. Não esquecer de preencher os campos devidamente, nomeadamente o Workgroup, que corresponde ao nome de domínio NT, e os campos da estrutura da base de dados LDAP. Atenção que o sufixo (raiz de LDAP) só deve ser usado no primeiro campo, todos os restantes campos são relativos ao do sufixo. Este comando vai gerar ficheiros de configuração, nomeadamente /etc/smbldap-tools/smbldap.conf, /etc/smbldap-tools/smbldap_bind.conf e /etc/samba/smb.conf.

O passo seguinte é a execução da correcção os dados pré-existentes e a adição de dados novos.

Deverá corrigir-se os grupos já existentes primeiro, com o comando smbldap-groupmod -a <nome_do_grupo>.

Posteriormente, pode-se corrigir os utilizadores com o comando smbldap-usermod -a <username>. Será então necessário mudar a password dos utilizadores, dado que não é possível reaproveitar a pré-existente, utilizando o comando smbldap-passwd <username>. Este comando irá actualizar a password existente no campo userPassword no LDAP e criar o campo sambaLMPassword.

TODO (...)

Isto conclui o aprovisionamento do directório LDAP.

Configuração como servidor de partilhas

(...)

Configuração como PDC NT4/Classic PDC

(...)