Vamos efetuar o download do arquivo:
# wget http://www.samba.org/samba/ftp/stable/samba-4.1.13.tar.gz
Vamos descompactar o arquivo:
tar -xf samba-4.1.13.tar.gz
Acesse o diretório:
cd samba-4.1.13/
Execute:
# ./configure
Após:
# make
Geralmente este procedimento demora.
Verá algo parecido no final:
'build' finished successfully (7m59.319s)
Depois:
# make install
Verá algo parecido no final:
'install' finished successfully (1m37.254s)
# /usr/local/samba/bin/samba-tool domain provision
Neste momento você está provisionando o domínio.
O Samba irá te fazer perguntas.
O padrão é o que está entre colchetes.
Vamos lá:
Realm [SEUDOMINIO.LOCAL]: (aperte enter como padrão)
Realm [SEUDOMINIO.LOCAL]: (aperte enter como padrão)
Server Role (dc, member, standalone) [dc]: (aperte enter como padrão)
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: (aperte enter como padrão)
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.100.3]:
8.8.8.8 (digite 8.8.8.8)
Acima você pode perceber que ele detectou o DNS que você está usando (192.168.100.3). O 8.8.8.8 será um DNS externo (Google).
Administrator password:
Senha@sua (informe a senha do usuário Administrator de domínio)
Após isso verá algo parecido:
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: sdm01
NetBIOS Domain: SEUDOMINIO
DNS Domain: seudominio.local
DOMAIN SID: S-1-5-21-631880342-2659944935-475803411
# /usr/local/samba/sbin/samba
# /usr/local/samba/bin/smbclient --version
Version 4.1.13
# /usr/local/samba/bin/smbclient -L localhost -U%
Verá uma saída parecida:
Domain=[SEUDOMINIO] OS=[Unix] Server=[Samba 4.1.13]
Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.1.13)
Domain=[SEUDOMINIO] OS=[Unix] Server=[Samba 4.1.13]
Server Comment
--------- -------
Workgroup Master
--------- -------
Se não deu erro, está tudo certo até aqui.
Vamos testar a autenticação:
# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'Senha@sua -c 'ls'
Deverá ver algo bem parecido:
Domain=[SEUDOMINIO] OS=[Unix] Server=[Samba 4.1.13]
. D 0 Tue Mar 1 13:51:05 2016
.. D 0 Tue Mar 1 13:51:11 2016
46677 blocks of size 524288. 40994 blocks available
Vamos testar agora o DNS.
Faça backup do seu resolv.conf:
# cp /etc/resolv.conf /etc/resolv.conf.old
Altero o seu arquivo de DNS:
# vim /etc/resolv.conf
Adicione:
domain SEUDOMINIO.LOCAL
nameserver 127.0.0.1
Provavelmente irá ficar assim:
domain SEUDOMINIO.LOCAL
nameserver 127.0.0.1
nameserver 192.168.100.3
nameserver 8.8.8.8
ATENÇÃO: não retire nenhum DNS de seu resolv.conf, apenas adicione.
No máximo três DNS devem ser informados no resolv.conf.
Agora iremos testar o DNS:
# host -t SRV _ldap._tcp.seudominio.local.
_ldap._tcp.seudominio.local has SRV record 0 100 389 sdm01.seudominio.local.
# host -t SRV _kerberos._udp.seudominio.local.
_kerberos._udp.seudominio.local has SRV record 0 100 88 sdm01.seudominio.local.
# host -t A sdm01.seudominio.local.
sdm01.seudominio.local has address 192.168.100.87
sdm01.seudominio.local has address 192.168.0.1
Configurando o Kerberos:
# cp /usr/local/samba/share/setup/krb5.conf /etc/
Vamos editar o arquivo de configuração do Kerberos:
# vim /etc/krb5.conf
Vamos substituir o REALM pelo seu domínio.
${"SEUDOMINIO.LOCAL"}
Vai ficar assim:
[libdefaults]
default_realm = ${"SEUDOMINIO.LOCAL"}
dns_lookup_realm = false
dns_lookup_kdc = true
Vamos testar o Kerberos:
# kinit administrator@SEUDOMINIO.LOCAL
Insira sua senha do administrator, que você colocou na criação do domínio.
Deverá aparecer algo assim:
warning: Your password will expire in 41 days on Ter 12 Abr 2016 13:51:09 BRT
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@SEUDOMINIO.LOCAL
Valid starting Expires Service principal
01-03-2016 15:05:34 02-03-2016 01:05:34 krbtgt/SEUDOMINIO.LOCAL@SEUDOMINIO.LOCAL
renew until 02-03-2016 15:05:21
Se houve autenticação e o ticket foi gerado, está tudo ok com o kerberos.