Tutoriais

De wikipmp
Revisão de 14h29min de 10 de abril de 2018 por Admin (discussão | contribs) (Criou página com ' == Introdução == A partir da versão 4.0, Samba é capaz de executar como um controlador de domínio do Active Directory (DC - AD). Se você estiver instalando Samba em um...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Introdução

A partir da versão 4.0, Samba é capaz de executar como um controlador de domínio do Active Directory (DC - AD). Se você estiver instalando Samba em um ambiente de produção, é recomendado para executar dois ou mais DCs por razões de failover. Esta documentação descrevendo como instalar e configurar SAMBA4 como o primeiro DC para construir uma nova floresta AD.

Com fins de organização e fácil compreendimento vou dividir esse tutorial em três partes.

Informações básicas
  • Sistema utilizado: Debian9 (Stretch) 64x

Preparando o Sistema

  • Instalação limpa do debian9 (netinstall) somente com servidor ssh.
  • Edite os arquivos de host. Onde os mesmos devem conter o nome de domínio totalmente qualificado (FQDN) e o nome do host curto para o endereço IP da LAN da DC.

/etc/hosts:

127.0.0.1 localhost localhost.localdomain
192.168.1.1 DC1.dcserver.net DC1

Nota: DC1 (antes do .) tem que ser o nome da maquina.

/etc/hostname:

DC1
  • Edite o arquivo o de interfaces para configurações estáticas. O ideal é que o servidor não sofra com modificações de DHCP.

/etc/network/interfaces:

iface eth0 inet static
	address 192.168.1.1
	netmask 255.255.255.0
	gateway 192.168.1.254
  • Edite o arquivo de resolução de nome contendo apenas o nome do domínio e seu IP e um DNS valido.

/etc/resolv.conf:

domain dcserver.net
nameserver 192.168.1.1
nameserver 8.8.8.8
  • Instale os seguintes pacotes:

# apt install samba smbclient krb5-user winbind ntp libpam-winbind libnss-winbind


Configuração e Provisionamento

  • Apoś concluir os passos acima, efetuar reboot paras configurações de hostname e IP entrarem em vigor. Verificar se todas as configurações anteriores estejam corretas para não haver problemas com o provisionamento.
  • Remova os arquivos defult de configuração do Samba e Kerberos:

# rm /etc/samba/smb.conf

# rm /etc/krb5.conf

  • Execute o provisionamento Samba:

# samba-tool domain provision --use-rfc2307 --interactive

Onde:

Realm: DCSERVER.NET
Domain: DCSERVER
Server Role (dc, member, standalone) [dc]: dc
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
DNS forwarder IP address (write 'none' to disa	ble forwarding) [192.168.1.1]: 8.8.8.8
Administrator password: Passw0rd
Retype password: Passw0rd
  • No provisionamento foi criado um arquivo de configuração Kerberos no /var/lib/samba/private/krb5.conf, crie uma copia para /etc/krb5.conf.

# cp /var/lib/samba/private/krb5.conf /etc/

  • Kerberos requer um tempo sincronizado em todos os membros do domínio.
Mude as permissões das pastas:

# ls -ld /var/lib/samba/ntp_signd/

Resultando antes da modificação:
drwxr-x--- 2 root root 4096 mai 24 11:21 /var/lib/samba/ntp_signd/

# chown -R root:ntp /var/lib/samba/ntp_signd/

# ls -ld /var/lib/samba/ntp_signd/

Resultando depois da modificação
drwxr-x--- 2 root ntp 4096 mai 24 11:21 /var/lib/samba/ntp_signd/
Edite o arquivo /etc/ntpd.conf
# Local clock. Note that is not the "localhost" address!
server 127.127.1.0
fudge  127.127.1.0 stratum 10

# Where to retrieve the time from
server 0.pool.ntp.org     iburst prefer
server 1.pool.ntp.org     iburst prefer
server 2.pool.ntp.org     iburst prefer

driftfile       /var/lib/ntp/ntp.drift
logfile         /var/log/ntp
ntpsigndsocket  /var/lib/samba/ntp_signd/

# Access control
# Default restriction: Allow clients only to query the time
restrict default kod nomodify notrap nopeer mssntp

# No restrictions for "localhost"
restrict 127.0.0.1

# Enable the time sources to only provide time to this host
restrict 0.pool.ntp.org   mask 255.255.255.255    nomodify notrap nopeer noquery
restrict 1.pool.ntp.org   mask 255.255.255.255    nomodify notrap nopeer noquery
restrict 2.pool.ntp.org   mask 255.255.255.255    nomodify notrap nopeer noquery
  • Configurando o Winbindd para autenticação.
Edite o arquivo /etc/samba/smb.conf acrescentando na seção [global].
template shell = /bin/bash
template homedir = /home/%U
  • Habilite a biblioteca de chave de serviço de nome (NSS) para tornar usuários e grupos de domínio disponíveis para o sistema local:
Edite o arquivo /etc/nsswitch.conf somente nos bancos de dados descritos abaixo.
passwd: files winbind
group:  files winbind
  • Verifique se o link das bibliotecas foram devidamente criados.
PAM_WINBIND

/lib/x86_64-linux-gnu/security/pam_winbind.so

LIBNSS_WINBIND

# ln -s /lib/x86_64-linux-gnu/libnss_winbind.so.2 /lib/x86_64-linux-gnu/libnss_winbind.so # ldconfig


Teste de Funcionameto

Reinicie os serviços ou reboot na maquina. O samba não inicia juntamente com o sistema. "Chame" o samba antes de efetuar os testes. Os resultados dos testes devem ser semelhantes ao mostrados abaixo.

  • Teste se o DC esta funcionando:

# smbclient -L localhost -U%

Resultado:

Domain=[DCSERVER] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]

	Sharename       Type      Comment
	---------       ----      -------
	netlogon        Disk      
	sysvol          Disk      
	IPC$            IPC       IPC Service (Samba 4.5.8-Debian)
Domain=[DCSERVER] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	WORKGROUP            DEVAPP
  • Teste a autenticação DC:

# smbclient //localhost/netlogon -UAdministrator -c 'ls'

Resultado:

Enter Administrator's password: 
Domain=[DCSERVER] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian]
  .                                   D        0  Wed May 24 10:51:37 2017
  ..                                  D        0  Wed May 24 10:51:45 2017

		15415240 blocks of size 1024. 13580456 blocks available
  • Teste se a configuração DNS do Active Directory (AD) funcionam corretamente, consulte alguns registros DNS:

# host -t SRV _ldap._tcp.dcserver.net.

Resultado:

_ldap._tcp.dcserver.net has SRV record 0 100 389 dc1.dcserver.net.
  • Teste o registro de recurso _kerberos SRV baseado no udp no domínio:

# host -t SRV _kerberos._udp.dcserver.net.

Resultado:

_kerberos._udp.dcserver.net has SRV record 0 100 88 dc1.dcserver.net
  • Teste o registro A do controlador de domínio:

# host -t A dcserver.net

Resultado:

dcserver.net has address 192.168.1.1
  • Teste Kerberos, conta domain administrator.

# kinit administrator

Resultado:

Password for administrator@DCSERVER.NET: 
Warning: Your password will expire in 41 days on qua 05 jul 2017 10:51:46 -03
  • Teste liste os tickets em cache do Kerberos:

# klist

Resultado:

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@DCSERVERPMP.NET

Valid starting       Expires              Service principal
24-05-2017 11:39:08  24-05-2017 21:39:08  krbtgt/DCSERVERPMP.NET@DCSERVERPMP.NET
	renew until 25-05-2017 11:39:03


SHOW!