Pacotes a serem instalados.
Instale através dos comandos:
# apt-get install samba
# apt-get install winbind
# apt-get install smbldap-tools
Agora faça:
# smbpasswd -w senha_do_LDAP
ou
# smbpasswd -W
E depois informe a senha - para que não fique armazenado no histórico.
Configuração dos arquivos.
O arquivo
/etc/samba/smb.conf deve ficar assim:
[global]
workgroup = nome_do_grupo
netbios name = SERVIDOR
server string = %h
dns proxy = no
security = user
os level = 255
local master = yes
domain master = yes
preferred master = yes
domain logons = yes
admin users = joao
##parte referente a conexão com LDAP
passdb backend = ldapsam:ldap://127.0.0.1
ldap admin dn = cn=admin,dc=nome_do_domínio,dc=com,dc=br
ldap suffix = dc=nome_do_domínio,dc=com,dc=br
ldap user suffix = ou=Usuarios
ldap group suffix = ou=Grupos
ldap machine suffix = ou=Computadores
ldap passwd sync = yes
unix password sync = no
##parte referente ao winbind
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
winbind trusted domains only = yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
Agora faça:
# net getlocalsid
E seu SID aparecerá, ele será necessário para a confiança entre Samba e LDAP.
Para criar os usuários, aparecerá algo assim:
SID for domain YOURWORKGROUP is: S-1-5-21-1803520230-1543781662-649387223
Este SID é o número de identificação do domínio na rede Windows.
Ele servirá de base para compor a identificação dos usuários e computadores pertencentes ao domínio em questão.
Abra seu browser e digite:
http://localhost/phpldapadmin
Aí você deve criar seus grupos, domínio Samba e usuários.
Os usuários, uma vez criados e associados aos seus grupos, podem ser referenciados pelo Samba. Assim, podemos utilizar um usuário para administrar a rede Windows - diferente do super-usuário root. Basta adicionar a linha:
admin users = joao
na seção global do smb.conf para que o usuário joao tenha poderes de administrador da rede Windows - após reiniciar o serviço.
Com isso, poderemos fazer a segunda integração de serviços, agora entre Samba e Winbind, este último que servirá como interface para autenticar usuários Radius no Samba - e consequentemente LDAP. As ligações todas ficam assim:
[AP] -> [RADIUS] -> [Winbind] -> [Samba] -> [LDAP]
Com o comando:
# net join -U joao
Onde assumimos que o usuário joao é administrador da rede Windows, integramos o serviço Winbind com Samba.
Obs.: IMPORTANTE! Quando o Winbind é iniciado ele gera a pasta /var/cache/samba/winbindd_privileged/, mas a permissão dessa pasta deve ser mudada para que o RADIUS possa efetuar a consulta nele.