Samba 4

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 7

Samba 4: configurando o Samba como

Controlador de Domínio do Active


Directory
8 de novembro de 2017 admin 0 comentários Active Directory, Bind9, Controlador de
Domínio, Samba 4

Introdução
Esta documentação descreve como configurar o Samba como o primeiro DC a criar uma
nova floresta AD.

Cenário
Este estudo de caso foi feito sobre uma versão do Debian 9 64 bits limpa.

Preparação
 Selecione um nome de host para o AD DC (Não utilize os termos NT4 apenas
como nome do host, como PDCou BDC).
 Use um endereço de IP estático no DC.
 Desative ferramentas, como resolvconf, que atualizem automaticamente
seu /etc/resolv.confarquivo de configuração do resolvedor de DNS. AD
DCs e membros do domínio devem usar um servidor DNS que seja capaz de
resolver as zonas DNS AD.
 Verifique se nenhum processo do Samba está sendo executado:ps ax | egrep
“samba | smbd | nmbd | winbindd”

ps ax | egrep "samba | smbd | nmbd | winbindd"

 Configure o /etc/hosts

127.0.0.1 localhost
200.132.XXX.XXX dc3.AD.SAMUEL dc3

 Remova qualquer versão anterior do smb.conf

smbd -b | grep "CONFIGFILE"

CONFIGFILE: /etc/samba/smb.conf

rm /etc/smb.conf

 Remova todos os arquivos de banco de dados do Samba,


como *.tdbe *.ldbarquivos (somente os arquivos!).

smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"


LOCKDIR: /var/run/samba
STATEDIR: /var/lib/samba
CACHEDIR: /var/cache/samba
PRIVATE_DIR: /var/lib/samba/private

 Remova qualquer /etc/krb5.confarquivo existente :

rm /etc/krb5.conf

Instalando o Samba via Repositório


A linha abaixo instala o Samba na versão do repositório( Version 4.5.12-Debian em
08/11/2017). Também instala algumas ferramentas básicas necessárias:

apt -y install samba krb5-config winbind smbclient

Basta aceitar as configurações padrão dando ENTER.

Provisionando o Samba como Controlador de


Domínio(DC) e com BIND9_DLZ como DNS Backend
Primeiro é necessário remover ou renomear o smb.conf default:

mv /etc/samba/smb.conf /etc/samba/smb.conf.org

Comando para provisonamento:

samba-tool domain provision

# specify Realm
Realm [AD.SAMUEL]: AD.SAMUEL
# specify Domain name
Domain [ADDC]: SAMUEL
# Enter with default because it sets DC
Server Role (dc, member, standalone) [dc]:
# Enter with default because it uses Built-in DNS
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE)
[SAMBA_INTERNAL]: BIND9_DLZ
# confirm DNS setting and Enter if it's OK
# set admin password
# Do not set trivial password, if you input it, configuration wizard
shows error and stops
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=srv,DC=world
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=srv,DC=world
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at
/var/lib/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: dc3
NetBIOS Domain: SAMUEL
DNS Domain: AD.SAMUEL
DOMAIN SID: S-1-5-21-2545056461-174665597-1916133120

Copiar o arquivo de configuração Kerberos gerado pelo provisionamento:

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

Parar e desativar rotinas paralelas do Samba e habilitar script samba-ad-dc:

systemctl stop smbd nmbd winbind


systemctl disable smbd nmbd winbind
systemctl unmask samba-ad-dc
systemctl start samba-ad-dc
systemctl enable samba-ad-dc

Teste inicial do Samba e mapeamentos


smbclient -L localhost -U%
Domain=[SAMUEL] OS=[Windows 6.1] Server=[Samba 4.5.12-Debian]

Sharename Type Comment


--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.5.12-Debian)
Domain=[SAMUEL] OS=[Windows 6.1] Server=[Samba 4.5.12-Debian]

Server Comment
--------- -------
Workgroup Master
--------- -------
WORKGROUP DC3

Confirmar nível de domínio


samba-tool domain level show
domain and forest function level for domain 'DC=addc,DC=SAMUEL'

Forest function level: (Windows) 2008 R2


Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2

Configurando DNS Backend com BIND9_DLZ


Foi optado pela instalação do Bind via repositório como a própria documentação do
Samba recomenda:

apt-get install bind9

Verifica a versão instalada:

named -v

BIND 9.10.3-P4-Debian <id:ebd72b3>

Habilita o módulo correspondente a descomentando a linha correspondente no arquivo:


na versão Samba 4.8.x /var/lib/samba/bind-dns/named.conf e em versões anteriores
/var/lib/samba/private/named.conf:

dlz "AD DNS Zone" {


# For BIND 9.8.x
# database "dlopen
/usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so";

# For BIND 9.9.x


# database "dlopen
/usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";

# For BIND 9.10.x


database "dlopen
/usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_10.so";

# For BIND 9.11.x


# database "dlopen
/usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_11.so";
};

Definir uma entrada nas configurações do BIND apontando para o arquivo gerado pelo
Samba (/var/lib/samba/private/named.conf):

nano /etc/bind/named.conf

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

#Entrada do Samba no BIND


include "/var/lib/samba/private/named.conf";

Instalar pacote DNS Utils (nsupdate)

Usado no processo de atualização dinâmica do DNS.

apt-get install dnsutils

Para verificar:

which nsupdate

Atualização Dinâmica do DNS via Kerberos

Nas configurações do DNS Bind faça uma entrada com a seguinte linha no
arquivo /etc/bind/named.conf.options):

tkey-gssapi-keytab "/var/lib/samba/private/dns.keytab";

Ajuste as permissões de acesso do Bind no arquivo dns.keytab:

chmod 640 /var/lib/samba/private/dns.keytab


chown root:bind /var/lib/samba/private/dns.keytab

A permissão do Bind no arquivo /etc/krb5.conf deve ser a seguinte:

ls -l /etc/krb5.conf

-rw-r--r-- 1 root bind 104 nov 8 13:42 /etc/krb5.conf

Checando a configuração do BIND:

named-checkconf

Iniciando o serviço do DNS:

/etc/init.d/bind9 start

Testando as atualizações dinâmicas do DNS:

samba_dnsupdate --verbose --all-names

Configurando o Resolvedor de DNS


nano /etc/resolv.conf

domain AD.SAMUEL.ifrs.edu.br
nameserver 200.132.XXX.XXX
Configure com o endereço do próprio servidor.

Testar autenticação do Administrator na pasta


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

Verificar resolução de nomes do DC:


LDAP:

host -t SRV _ldap._tcp.AD.SAMUEL.


_ldap._tcp.AD.SAMUEL.ifrs.edu.br has SRV record 0 100 389
dc3.AD.SAMUEL

Kerberos:

host -t SRV _kerberos._udp.AD.SAMUEL.


_kerberos._udp.AD.SAMUEL has SRV record 0 100 88 dc3.AD.SAMUEL.

DNS:

host -t A dc3.AD.SAMUEL.
dc3.AD.SAMUEL has address 200.132.XXX.XXX

Verificar e listar Tickets do Kerberos


kinit administrator
Password for administrator@AD.SAMUEL:
Warning: Your password will expire in 41 days on qua 20 dez 2017
13:42:36 -02
klist

Solução de Problemas
Para resolução de problemas relacionados ao DNS é possível rodar o seguinte script de
auto-reconfiguração que corrige diversos problemas automaticamente:

samba_upgradedns --dns-backend=BIND9_DLZ
Reading domain information
DNS accounts already exist
No zone file /usr/local/samba/private/dns/SAMDOM.EXAMPLE.COM.zone
DNS records will be automatically created
DNS partitions already exist
dns-DC1 account already exists
See /usr/local/samba/private/named.conf for an example configuration
include file for BIND
and /usr/local/samba/private/named.txt for further documentation
required for secure DNS updates
Finished upgrading DNS

Reinicie o serviço bind e teste novamente:


samba_dnsupdate --verbose --all-names

Você também pode gostar