Instalação de um DC Active Directory com Samba 4 no Debian Squeeze
Samba é um software livre responsável por prover interação de computadores rodando sistemas operacionais do tipo Unix (Linux, por exemplo) e em sua versão 4 ele permite a integração com o Active Directory possibilitando que o controlador do AD não seja obrigatoriamente um computador executando Microsoft Windows.
Este pequeno roteiro mostra como realizar uma simples instalação do Samba 4 no Debian Linux Squeeze criando um domínio Active Directory. O suporte ao serviço de DNS será feito com o recurso interno do próprio Samba.
Iremos assumir que o domínio criado será o “smb.mps.eti.br” com o nome NetBIOS “SMB” e o sistema de arquivos do local da instalação é um EXT3/4.
PREPARAÇÃO
Para começar certifique-se que a partição onde o samba será executado possua suporte às listas de controle de acesso.
Por exemplo, altere no /etc/fstab as partições necessárias, adicionando a opção em negrito:
# /etc/fstab: static file system information.
#
# Use ‘blkid’ to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# / was on /dev/vda1 during installation
UUID=b6124042-d43b-4ee3-a292-d4c1d3e5acf1 / ext3 errors=remount-ro,acl 0 1
# swap was on /dev/vda5 during installation
UUID=d7b701cd-cc01-49b2-b743-9c38bb4187ba none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
Remonte o sistema de arquivos ativando a opção (no meu caso, apenas o / (barra) foi alterado):
# mount -o remount /
Em seguida instale as dependência do Samba no Debian:
apt-get install build-essential libacl1-dev libattr1-dev \
libblkid-dev libgnutls-dev libreadline-dev python-dev \
python-dnspython gdb pkg-config libpopt-dev libldap2-dev \
dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev
COMPILAÇÃO E INSTALAÇÃO
Após ter baixado a versão do Samba (4.0.5 na época de escrita deste roteiro) e descompactado ele, execute os comandos a seguir dentro do diretório de códigos fonte do Samba:
# ./configure
# make
Com a compilação realizada com sucesso é hora de instalar:
# make install
Por padrão o Samba será instalado em “/usr/local/samba”.
CRIAÇÃO DO DOMÍNIO DO ACTIVE DIRECTORY
O próximo passo é a criação do domínio Active Directory que o Samba irá atender, execute o comando:
# /usr/local/samba/bin/samba-tool domain provision
As seguintes informações serão solicitadas:
Realm: é o sufixo que será adicionado a todas as máquinas que ingressarem no domínio Active Directory (ex: SMB.MPS.ETI.BR).
Domain: é o nome do domínio do Active Directory (ex: SMB).
Server Role: é o tipo de papel que o este computador com Samba irá desempenhar, dc – Domain Controller, member – Membro do domínio, standalone – Perfil único deste domínio (para nosso caso, escolha “dc”).
DNS backend: é o mecanismo a ser utilizado para o serviço de DNS (nosso caso: SAMBA_INTERNAL).
DNS forwarder IP address: é o serviço de DNS que irá receber solicitações quando o DNS do Samba não souber como atender (você pode colocar o DNS da sua rede ou desabilitar este recurso colocando “none”).
Administrator password: Senha do administrador do Active Directory.
Terminada a configuração é exibido um resumo da configuração, no meu caso ficou:
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: samba4
NetBIOS Domain: SMB
DNS Domain: smb.mps.eti.br
DOMAIN SID: S-1-5-21-1279073790-2063725205-4060377033
Como indicado no resumo, é preciso atualizar o arquivo do Kerberos, para isso faça um backup do seu arquivo e depois copie o do Samba para seu devido lugar.
# cp /etc/krb5.conf /etc/krb5.conf-old
# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf
Altere o arquivo resolv.conf para apontar para o DNS local, ficando parecido com:
domain smb.mps.eti.br
search smb.mps.eti.br
nameserver 127.0.0.1
TESTES
A partir desse ponto o Samba está instalado e você pode iniciá-lo:
# /usr/local/samba/sbin/samba
Se preferir pode iniciá-lo com a opção interativa e com um único processo para fins de testes:
# /usr/local/samba/sbin/samba -i -M single
Você pode realizar alguns testes com os comandos abaixo.
Pegando um ticket do Kerberos no Realm do Samba (forneça a senha que configurou acima).
# kinit administrator@SMB.MPS.ETI.BR
O comando deve retonar algo como:
Warning: Your password will expire …
E depois liste o ticket com:
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@SMB.MPS.ETI.BR
Valid starting Expires Service principal
04/11/13 09:44:03 04/11/13 19:44:03 krbtgt/SMB.MPS.ETI.BR@SMB.MPS.ETI.BR
renew until 04/12/13 09:44:00
Testando o DNS:
# host -t SRV _ldap._tcp.smb.mps.eti.br.
_ldap._tcp.smb.mps.eti.br has SRV record 0 100 389 samba4.smb.mps.eti.br.
# host -t SRV _kerberos._udp.smb.mps.eti.br.
_kerberos._udp.smb.mps.eti.br has SRV record 0 100 88 samba4.smb.mps.eti.br.
# host -t A smb.mps.eti.br.
smb.mps.eti.br has address 10.0.0.1
FINALIZAÇÃO
Com os testes realizados com sucesso, o Samba está pronto para utilização. O ideal será você inicializá-lo com um script em /etc/rc.d (não iremos cobrir esta configuração).
Para gerenciar o Active Directory e o DNS você pode utilizar as ferramentas da própria Microsoft.
REFERÊNCIA
Samba AD DC HOWTO – https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO
Este artigo foi lido 13609 vezes!
Deixe o seu comentário