Salve pessoal, estou reescrevendo alguns posts relacionados com o Samba 4 e desta vez, como prometido irei fazer a instalação via repositório do Samba 4 no Ubuntu 16.04 LTS.
Para esse Post preciso de uma instalação do Ubuntu com o Sistema Básico apenas, e no máximo o servidor SSH. Vamos ao nosso ambiente.
Configuração do Servidor Samba:
Hostname: ubtsmbdc01
Tipo do Servidor (Role): Domain Controler
Endereço IP: 192.168.1.10/24
Domínio: empresa.net
Configuração Cliente DNS: Forwarding (IP: 192.168.1.1)
Default Gateway: 192.168.1.1
Verificar os atributos de sistema de arquivos:
$ sudo tune2fs -l /dev/sda1 | grep 'mount options'
Os opções de montagem ´acl,user_xattr´ devem estar ativos, caso não estejam usar o comando abaixo.
$ sudo tune2fs -o acl,user_xattr /dev/sda1
Para remontar
$ sudo mount -o remount /
Vamos criar um mapeamento estático para o nosso servidor:
$ sudo vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.10 ubtsmbdc01.empresa.net ubtsmbdc01
Instalar o Samba 4 e alguns outros pacotes
$ sudo apt-get install samba krb5-user winbind smbclient ldap-utils acl attr ntp
Preencha como nas imagens abaixo:
Vamos realizar alguns ajustes no servidor de hora NTP (adicione no final do arquivo)
$ sudo vi /etc/ntp.conf
# Relogio Local
server 127.127.1.0
fudge 127.127.1.0 stratum 10
# Configurações adicionais para o Samba 4
ntpsigndsocket /var/lib/samba/ntp_signd/
restrict default mssntp
disable monitor
Vamos reiniciar o servidor NTP
$ sudo systemctl restart ntp
Testando
$ sudo ntpq -p
Vamos parar alguns serviços antes de configurar o Samba 4
$ sudo systemctl stop smbd
$ sudo systemctl stop nmbd
$ sudo systemctl stop winbind
Agora vamos remover o smb.conf da distribuição
$ cd /etc/samba
$ sudo mv smb.conf smb.conf.old
Vamos provisionar o Samba 4
$ sudo samba-tool domain provision --use-rfc2307 --interactive
Preencha os campos conforme a sua necessidade, neste caso pressionei ENTER e aceitei o valor padrão. A senha deve ser preenchida com o mínimo de 8 caracteres e deve conter letras (maiúscula/minúscula), números e caracteres de pontuação devido ao complexidade de senha estar ativa.
Vamos iniciar os serviços que foram parados anteriormente.
$ sudo /etc/init.d/samba-ad-dc restart
Vamos atualizar o resolv.conf, mas ele não pode ser editado manualmente então siga esta instrução e acrescente as seguintes linhas.
$ sudo vi /etc/network/interfaces
dns-nameservers 192.168.1.10
dns-search empresa.net
Copiar o arquivo krb5.conf do samba 4 para o /etc e sobrescrever o existente.
$ sudo cp /var/lib/samba/private/krb5.conf /etc
Ainda temos um pequeno ajuste de permissão para o servidor NTP acessar o socket do Samba 4
$ sudo chown root:ntp /var/lib/samba/ntp_signd/
Feito o ajuste vamos reiniciar o servidor NTP
$ sudo systemctl restart ntp
Vamos testar, e verificar se o serviço está ok.
Começando pelo DNS
$ host -t A empresa.net
empresa.net has address 192.168.1.10
$ host -t SRV _kerberos._udp.empresa.net
_kerberos._udp.empresa.net has SRV record 0 100 88 ubtsmbdc01.empresa.net.
$ host -t SRV _ldap._tcp.empresa.net
_ldap._tcp.empresa.net has SRV record 0 100 389 ubtsmbdc01.empresa.net.
Algumas consultas externas:
$ host mundotibrasil.com.br
mundotibrasil.com.br has address 193.34.144.172
mundotibrasil.com.br has IPv6 address 2a02:c205:2004:8003::1
$ host -t MX kernel.org
kernel.org mail is handled by 999 bl-ckh-le.kernel.org.
kernel.org mail is handled by 10 mail.kernel.org.
kernel.org mail is handled by 30 ns2.kernel.org.
kernel.org mail is handled by 30 ns4.kernel.org.
Pronto, nosso servidor DNS resolve endereços locais e encaminha os externos sem problema e com os registros SRV _kerberos e _ldap validados podemos seguir com o teste do mecanismo de autenticação Kerberos.
Para tal, faça:
$ kinit administrator@EMPRESA.NET
Password for administrator@EMPRESA.NET:
Warning: Your password will expire in 41 days on Ter 12 Jul 2016 14:54:19 BRT
$ klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@EMPRESA.NET
Valid starting Expires Service principal
31-05-2016 16:43:45 01-06-2016 02:43:45 krbtgt/EMPRESA.NET@EMPRESA.NET
renew until 01-06-2016 16:43:38
Nosso servidor Ubuntu 16.04 LTS está com o Samba 4 instalado, configurado, e provisionado. Espero que tenham gostado desse Post. Até o próximo quando irei realizar a instalação do Samba 4 no novo CentOS 7, mas desta vez será compilado.
Fonte: https://wiki.samba.org/index.php/Setup_a_Samba_Active_Directory_Domain_Controller
Fonte: https://wiki.samba.org/index.php/Time_synchronisation
Bom dia vc já fez a conf dele já colocando junto ao um Windows Server 2012 pois li artigo e achei bacana.
Lucas, eu ainda não usei o Samba 4 junto com o Windows Server 2012, somente com o 2003 e 2008.
Abraços
Muito obrigado pelo artigo, muito bom. Estava precisando.
Borges, de nada rsrs
Abraços
Esse eu ainda vou testar Ricardo, obrigado!
Gostaria de sua sugestão:
Pretendo montar um servidor de arquivos então pensei em fazer de duas maneiras:
Sistema principal = Opensuse + SAMBA apenas como servidor de arquivos pois o PDC eu quero colocar em outra máquina
Ou
Sistema principal = Open suse + XenServer –> Virtualizar o Debian 8.4 + SAMBA 4.2
3 – HDS sendo
1 sistema e dois para espelhar os arquivos – na máquina virtual
Não queria fazer algo complexo porém penso na questão de confiabilidade dos recursos
Sua opinião seria muito importante
obrigado
Evaristo,
Gosto da 2a Opção, estou fazendo um POC aqui no trabalho com 2 servidores AD Samba 4 e estão funcionando muito bem virtualizados (VMWare ESXi).
Abraços
Alguem teve problema com GPO no samba 4.4.4?
root@srv-smb:/dev# /usr/local/samba/bin/samba-tool ntacl sysvolcheck
ERROR(): uncaught exception – (61, ‘No data available’)
File “/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/__init__.py”, line 175, in _run
return self.run(*args, **kwargs)
File “/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/ntacl.py”, line 270, in run
lp)
File “/usr/local/samba/lib/python2.7/site-packages/samba/provision/__init__.py”, line 1723, in checksysvolacl
fsacl = getntacl(lp, dir_path, direct_db_access=direct_db_access, service=SYSVOL_SERVICE)
File “/usr/local/samba/lib/python2.7/site-packages/samba/ntacls.py”, line 81, in getntacl
xattr.XATTR_NTACL_NAME)
Também estou na mesma situação.
Fiz a configuração do começo ao fim, funcionou redondo. Meus parabens pelo tutorial!
Obrigado Odir.
nao consigo colocar pra funcionar a resolução de nomes no dns, quando faço o comando host -t A empresa.net da outro ip e nao o meu ip local
Johnym tive o mesmo problema, havia errado o ip da minha maquina em vi /etc/network/interfaces na linha dns-nameservers
funcionou aqui…
Ricardo Pinheiro, ótimo tutorial…. realmente funciona…. Agora qual retorno você tem desse comando: smbclient -L localhost -U%
Pra mim retorna um erro.
Seria muito pedir a configuração completa da interface de rede do servidor (interfaces)??
ok fiz um teste copilando no Ubuntu 14.04 LTS Desktop usando samba. 4.5.0 e funcionou sem problema.
Agora estou testando no Ubuntu 16.04 LTS Server e tenho um problema quando executo:
teste@srv-dc1:/etc/samba$ sudo smbclient -L localhost -U%
Domain=[JGAMASYSTEM] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]
tree connect failed: NT_STATUS_CONNECTION_DISCONNECTED
O que pode ser?
Abraço
para o meu problema eu encontrei uma solução, mas não sei explicar porque.
no smb.conf acrescentar a linha abaixo no [global] e depois reiniciar o samba
server signing = Auto
teste@srv-dc1:/etc/samba$ sudo smbclient -L localhost -U%
Domain=[JGAMASYSTEM] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]
Sharename Type Comment
——— —- ——-
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.3.9-Ubuntu)
Domain=[JGAMASYSTEM] OS=[Windows 6.1] Server=[Samba 4.3.9-Ubuntu]
Server Comment
——— ——-
Workgroup Master
——— ——-
WORKGROUP TC7200-DMS
fonte: https://bugzilla.samba.org/show_bug.cgi?id=11910
Boa tarde Ricardo.
Seu tutorial é show de bola.
Hoje trabalho com 4 servidores Samba 4, mas com uma versão um pouco antiga (Zentyal 4.3.4).
Ainda não ocorreu, mas se meu servidor principal morrer, posso montar um novo Samba 4.5 e transforma-lo em principal ? Assim consigo matar todos os servidores Zentyal e mantenho todos com samba atualizado.
Sabe onde posso encontrar a documentação para essa tarefa ?
Obrigado pela ajuda
Segui a risca o tuto, porem o meu relata este erro:
diego@DC0:~$ kinit administrator@epc-wvg.net
kinit: Cannot contact any KDC for realm ‘epc-wvg.net’ while getting initial credentials
diego@DC0:~$ klist
klist: Credentials cache file ‘/tmp/krb5cc_1000’ not found
Diego, encontrei a solução:
Adicione as linhas abaixo no arquivo krb5.conf:
[realms]
SEU.DOMINIO = {
kdc = 172.16.22.3 #IP da sua máquina samba4
admin_server = 172.16.22.3 #IP da sua máquina samba4
}
Funcionou após esse ajuste.
Otimo Tutorial!
Jony Campos, tive o mesmo problema, reiniciei para funcionar
Ricardo,
Parabéns pelo post, realmente ótimo.
Fiz todo o procedimento, todos os testes OK.
maquinas no domínio, porem quando clico com o botão direito em alguma OU a guia das GPOs não aparece, o que pode ser?
Abraço
Diego
Peguei este erro quando instalei o RSAT numa maquina W10, depois que instalei o RSAT numa W7 funcionou de boas.
fiz aqui, tive muitos erros com o ubuntu 14.04
senhores boa noite, preciso da ajuda de voces.
root@not-asus:/home/oseas# host -t SRV _ldap._tcp.cdfarinha.local
Host _ldap._tcp.cdfarinha.local not found: 3(NXDOMAIN)
Aonde devo ter errado?
To com o mesmo erro…
Excelente tutorial! Gostaria de saber como podemos fazer para atualizar o Samba para a versão 4.5.5 nesta mesma instalação. Grande abraço e obrigado por compartilhar conosco. Gilberto Mendes,
Olá!!! ao executar o comando kinit administrator@EMPRESA.NET, retorna este erro kinit: Cannot find KDC for realm “EMPRESA.NET” while getting initial credentials
sai dai valdir .\.
alguém conseguiu fazer o samba inciar automaticamente na inicialização do linux?