Configuração simples Samba + LDAP
Precisei configurar o Samba+LDAP no Alferes Linux (distribuição da Polícia Militar de Minas Gerais) e como só encontrei poucas e confusas informações na internet, resolvi escrever este artigo.
Configuração do daemon Slapd
A distribuição Alferes Linux é baseada no Knoppix, que como vocês sabem, é da descendência do Debian.
Vamos começar pelos pacotes a serem instalados:
Vamos começar pelos pacotes a serem instalados:
- slapd-2.2.26
- ldap-utils.2.2.26
- db4.2-util
- libldap-2.2.26
- libldap2-2.1.30
- libnss-ldap
- libpam-ldap
# A linha abaixo habilita suporte a versão 2 da libldap
allow bind_v2
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
# Para o funcionamento do Samba+ldap é necessário a inclusão da
# linha abaixo, o arquivo samba.schema pode ser encontrado nos fontes
# do Samba.
include /etc/ldap/schema/samba.schema
schemacheck on
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd.args
loglevel 256
modulepath /usr/lib/ldap
moduleload back_bdb
backend bdb
checkpoint 512 30
database bdb
# Na linha abaixo deve ser especificado o nome do domínio, usei o
# domínio seudominio.com.br, repare que no lugar de cada . entra
# um ,dc=
suffix "dc=seudominio,dc=com,dc=br"
# Aqui é especificado o nome do root, usei como exemplo "admin"
rootdn "cn=admin,dc=seudominio,dc=com,dc=br"
# Na linha abaixo você deve colocar a chave gerada com o seguinte
# comando:
slappasswd -h {SSHA} -s suasenhaderoot
rootpw {SSHA}a3RkMdmTUeNdaNxwk5UaA6A0740ZY8mJ
directory "/var/lib/ldap"
index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUID,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
lastmod on
access to
attrs=userPassword,sambaLMPassword,sambaNTPassword
by dn="cn=admin,dc=seudominio,dc=com,dc=br" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=seudominio,dc=com,dc=br" write
by * read
allow bind_v2
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
# Para o funcionamento do Samba+ldap é necessário a inclusão da
# linha abaixo, o arquivo samba.schema pode ser encontrado nos fontes
# do Samba.
include /etc/ldap/schema/samba.schema
schemacheck on
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd.args
loglevel 256
modulepath /usr/lib/ldap
moduleload back_bdb
backend bdb
checkpoint 512 30
database bdb
# Na linha abaixo deve ser especificado o nome do domínio, usei o
# domínio seudominio.com.br, repare que no lugar de cada . entra
# um ,dc=
suffix "dc=seudominio,dc=com,dc=br"
# Aqui é especificado o nome do root, usei como exemplo "admin"
rootdn "cn=admin,dc=seudominio,dc=com,dc=br"
# Na linha abaixo você deve colocar a chave gerada com o seguinte
# comando:
slappasswd -h {SSHA} -s suasenhaderoot
rootpw {SSHA}a3RkMdmTUeNdaNxwk5UaA6A0740ZY8mJ
directory "/var/lib/ldap"
index objectClass,uidNumber,gidNumber eq
index cn,sn,uid,displayName pres,sub,eq
index memberUID,mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
lastmod on
access to
attrs=userPassword,sambaLMPassword,sambaNTPassword
by dn="cn=admin,dc=seudominio,dc=com,dc=br" write
by anonymous auth
by self write
by * none
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=seudominio,dc=com,dc=br" write
by * read
Depois de concluída a edição do arquivo, você pode inicializar o serviço slapd com o seguinte comando:
# /etc/init.d/slapd start
Pronto, seu servidor slapd está rodando.
Valew