Samba + LDAP
Índice
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
(...)