Samba 4 - Active Directory Open Source - Ubuntu 14.04.4

Neste artigo quero mostrar como configurar o Samba 4 (AD) com o Ubuntu Server 14.04.4. Esta aplicação foi testada em ambiente virtualizado (VirtualBox, Vmware esxi) e fisicamente (servidor único). Ressalto que não conseguiria implementar a estabilidade que consegui sem os colaboradores da comunidade torture e davirodrigues.

[ Hits: 41.663 ]

Por: Perfil removido em 09/03/2016


Compilação e instalação do Samba 4.1.13



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.

Página anterior     Próxima página

Páginas do artigo
   1. Preparando o ambiente
   2. Compilação e instalação do Samba 4.1.13
   3. Iniciando o Samba 4 com o sistema
   4. Compartilhando pastas na rede
Outros artigos deste autor

Criando aplicação para detectar informações do sistema em Kylix

Migrando para Linux sem medo

Distribuições Linux no Samsung Chromebook ARM (XE303C12)

O Filho à Casa Torna

Instalando placa de som de modo rápido, fácil e prático

Leitura recomendada

Ambientes mistos e agora?

Samba + DHCP + Webmin em 3 distribuições Linux

Backup de arquivos das estações de sua rede com Samba PDC

Autenticando cliente Linux Ubuntu 8.10 no PDC Samba com perfil móvel

Integrando o Debian-BR-CDD ao domínio Active Directory

  
Comentários
[1] Comentário enviado por removido em 09/03/2016 - 13:50h

Segue correção de uma linha no meio da página 2 do artigo:

/usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'Senha@sua' -c 'ls'

Estava faltando uma aspas simples.

[2] Comentário enviado por duanioliveira em 09/03/2016 - 17:00h

Somente como um adendo, nas primeiras vezes em que fui implementar o Samba 4, percebi que ele sempre dava problema quando havia muito trafego ou muito acesso simultâneo.
Depois de pesquisar e verificar, notei que a partição /run/lock ficava sempre quase cheia, e quando chegava ao 100% ela travava o Samba.
Então indico a seguinte adição no fstab

tmpfs /run/lock tmpfs rw,noexec,nosuid,nodev,size=52428800 0 0
afim de aumentar a partição e não ocorrer mais esse travamento.
Muito bom artigo!

Abraço

[3] Comentário enviado por slack_history em 10/03/2016 - 08:30h


[2] Comentário enviado por duanioliveira em 09/03/2016 - 17:00h

Somente como um adendo, nas primeiras vezes em que fui implementar o Samba 4, percebi que ele sempre dava problema quando havia muito trafego ou muito acesso simultâneo.
Depois de pesquisar e verificar, notei que a partição /run/lock ficava sempre quase cheia, e quando chegava ao 100% ela travava o Samba.
Então indico a seguinte adição no fstab

tmpfs /run/lock tmpfs rw,noexec,nosuid,nodev,size=52428800 0 0
afim de aumentar a partição e não ocorrer mais esse travamento.
Muito bom artigo!

Abraço


Obrigado pela dica duanioliveira .
Abraço.

[4] Comentário enviado por al0ne_battousai em 11/03/2016 - 07:07h

Somente como comentário a esse excelente artigo, eu pessoalmente não gosto de usar o DNS interno do Samba por dois motivos, personalização ( cache, views, proteção, etc) e capacidade de atender a grande demanda. Mas também por conta dele não suportar, nativamente, DNS reverso e consultas recursivas, infelizmente.

Sempre condiciono minha instalação com o Bind e o DHCP ( quando necessário) no Samba 4 para uma melhor experiência de uso.

Parabéns pelo artigo

[5] Comentário enviado por slack_history em 11/03/2016 - 11:37h


[4] Comentário enviado por al0ne_battousai em 11/03/2016 - 07:07h

Somente como comentário a esse excelente artigo, eu pessoalmente não gosto de usar o DNS interno do Samba por dois motivos, personalização ( cache, views, proteção, etc) e capacidade de atender a grande demanda. Mas também por conta dele não suportar, nativamente, DNS reverso e consultas recursivas, infelizmente.

Sempre condiciono minha instalação com o Bind e o DHCP ( quando necessário) no Samba 4 para uma melhor experiência de uso.

Parabéns pelo artigo


Obrigado pela sua opinião al0ne_battousai.

[6] Comentário enviado por Beastie em 07/04/2016 - 10:21h

Ótimo artigo amigo. Parabéns!
--------------------------------------------------------------------------------------------------
Mundo FreeBSD - Conteúdo 100% FreeBSD
http://mundofreebsd.com.br/
--------------------------------------------------------------------------------------------------

[7] Comentário enviado por Rbrtto em 20/04/2016 - 11:07h

Alguém Poderia me ajudar. sou iniciante em linux.

Na Hora de "testar o Kerberos" estar aparecendo o seguinte "kinit: KDC reply did not match expectations while getting initial credentials" . Obs: estou inserindo a mesma senha do administrator, que usei na criação do domínio, mas mesmo assim continua aparecendo isso. "kinit: KDC reply did not match expectations while getting initial credentials".




[8] Comentário enviado por slack_history em 20/04/2016 - 16:10h


[7] Comentário enviado por Rbrtto em 20/04/2016 - 11:07h

Alguém Poderia me ajudar. sou iniciante em linux.

Na Hora de "testar o Kerberos" estar aparecendo o seguinte "kinit: KDC reply did not match expectations while getting initial credentials" . Obs: estou inserindo a mesma senha do administrator, que usei na criação do domínio, mas mesmo assim continua aparecendo isso. "kinit: KDC reply did not match expectations while getting initial credentials".






Por favor, mostra a saída de # cat /etc/krb5.conf

[9] Comentário enviado por Rbrtto em 20/04/2016 - 16:48h

A saída de # cat /etc/krb5.conf

[libdefaults]
default_realm = ${house.local}
dns_lookup_realm = false
dns_lookup_kdc = true

[10] Comentário enviado por slack_history em 20/04/2016 - 17:16h


[9] Comentário enviado por Rbrtto em 20/04/2016 - 16:48h

A saída de # cat /etc/krb5.conf

[libdefaults]
default_realm = ${house.local}
dns_lookup_realm = false
dns_lookup_kdc = true



Faltou as aspas e deixar o domain maiúsculo.

Deixe como o abaixo e teste novamente.

[libdefaults]
default_realm = ${"HOUSE.LOCAL"}
dns_lookup_realm = false
dns_lookup_kdc = true

[11] Comentário enviado por vinnysquincaglia em 10/06/2016 - 19:49h

preciso ter um dns na rede para fazer ele funcionar? ou pode ser o dns padrao do roteador da minha rede tipo 192.168.1.1.

a senha precisa ser complexa?

qualquer computador consegue gerenciar tipo tenho um ruindows 7 consigo gerenciar um computador com ruindows 10?


[12] Comentário enviado por removido em 11/07/2016 - 16:01h


[11] Comentário enviado por vinnysquincaglia em 10/06/2016 - 19:49h

preciso ter um dns na rede para fazer ele funcionar? ou pode ser o dns padrao do roteador da minha rede tipo 192.168.1.1.

a senha precisa ser complexa?

qualquer computador consegue gerenciar tipo tenho um ruindows 7 consigo gerenciar um computador com ruindows 10?




vinnysquincaglia
Sim. O samba 4 é exigente referente ao Dns.
Pode ser o dns do teu roteador sim.
A senha do administrator precisa ser complexa sim.
Você consegue gerenciar com Windows 7 , 8, 10 e edições server instalando o RSAT ( Administração remota de servidores) .
OBS: No caso do Windows Server , apenas habilite a função de Administração remota de Servidor.

[13] Comentário enviado por lucashlx em 21/09/2016 - 15:53h

Olá...seu samba4 as atualizações dinâmicas via DNS funciona normalmente ? no meu não tenho que inserir manualmente os registros A.

[14] Comentário enviado por wiliamtakashi em 28/06/2017 - 13:51h

Primeiramente gostaria de agradecer, nunca havia criado um ad antes, e com este artigo fui capaz de criar um com sucesso.
Aproveitando, há algumas partes do artigo em que tive problemas, e gostaria de citar aqui a solução que encontrei para cada caso, ajudando outros que venham a passar pelas mesmas dificuldades:

- Na preparação do ambiente, o libgnutls-dev já não estava presente no repositório do Debian 8.8, sistema que utilizei, por isso tive que instalar o libgnutls28-dev no lugar;

- Na instalação e configuração do SAMBA, tive que adicionar as linhas abaixo no arquivo /etc/krb5.conf, substituindo os IPs pelo IP do computador com SAMBA instalado para que o teste de DNS funcionasse:

[realms]
SEU.DOMINIO = {
kdc = 172.16.22.3
admin_server = 172.16.22.3
}

-Ainda na instalação e configuração do SAMBA, como já citado em comentários anteriores, está faltando uma aspa simples no teste de autenticação, o correto seria assim:

/usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'Senha@sua' -c 'ls'

[15] Comentário enviado por aeps em 24/07/2017 - 10:17h

Bom dia,

Poderiam me ajudar com uma duvida, acredito que meu problema esteja no DNS.
Instalado e configurado o servidor não pinga mais por exemplo no uol.com.br, Uso um roteado que fornece acesso a internet.
Como verificar onde esta o erro e possível correção?

[16] Comentário enviado por clzera em 15/03/2018 - 14:06h


[15] Comentário enviado por aeps em 24/07/2017 - 10:17h

Bom dia,

Poderiam me ajudar com uma duvida, acredito que meu problema esteja no DNS.
Instalado e configurado o servidor não pinga mais por exemplo no uol.com.br, Uso um roteado que fornece acesso a internet.
Como verificar onde esta o erro e possível correção?


Você pode estar tendo um problema que tive também, bom pelo menos eu deleto o arquivo resolv.conf, crio na mão e em seguida uso o comando chattr +i resolv.conf, assim quando reinicia não muda o arquivo.

Aprendi isso nesse link https://www.vivaolinux.com.br/dica/Bloquear-modificacoes-em-um-arquivo-com-chattr


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts