Mudanças entre as edições de "Tutoriais"
(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...') |
(Sem diferença)
|
Edição das 14h29min de 10 de abril de 2018
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
- Edite o arquivo
# 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].
- Edite o arquivo
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.
- Edite o arquivo
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!