Você está na página 1de 3

Como Instalar e Configurar o Samba 4.1.

11
13 de agosto de 2014 Ricardo Galossi 0 comentários Linux, Passo-a-Passo, Samba 4
Pessoal nesse post irei mostrar o passo-a-passo da instalação e configuração do Samba 4.1.11 como controlador de domínio. A finalidade
desse artigo é a compilação, instalação e configuração do Samba 4.1.11. O Samba é um software aberto que é capaz de gerir e
compartilhar arquivos entre diferentes plataformas, como: Microsoft Windows, Linux e Mac. Para aqueles que não estão familiarizados
com o Samba, segue abaixo uma breve descrição.
Descrição do SAMBA
O Samba é um conjunto de softwares de interoperabilidade entre diferentes sistemas operacionais criado por Andrew Tridgell. Ele provê
compartilhamento de arquivos, impressoras e recursos de rede através dos protocolos SMB/CIFS. A partir da versão 4 do Samba ele
também provê o serviço de active directory com igual ou maior eficiência que servidores baseados em sistemas operacionais
da Microsoft.
Com o SAMBA, é possível construir domínios completos, fazer controle de acesso a nível de usuário, compartilhamento, montar um
servidor WINS, servidor de domínio, impressão, etc. Na maioria dos casos o controle de acesso e exibição de diretórios no samba é mais
minucioso e personalizável que no próprio Windows.

Descrição do Active Directory


O Active Directory é uma implementação de serviço de diretório no protocolo LDAP, que por sua vez é um conjunto de Atributos
sobre recursos e serviços existentes na rede, isso significa que é uma maneira de organizar e simplificar o acesso aos recursos de sua rede
centralizando-os. Bem como, reforçar a segurança e dar proteção aos objetos da database contra intrusos, ou controlar acessos dos
usuários internos da rede.
O Active Directory mantém dados como contas de usuários, impressoras,grupos,computadores, servidores,recursos de rede, etc. Ele pode
ser totalmente escalonável, aumentando conforme a nossa necessidade.
Esse serviço de diretório, é composto por objetos, ou seja, todo recurso da nossa rede é representado como um objeto no AD. Esses
objetos possuem propriedades o que são chamados de atributos dos objetos. A base de dados do AD é um arquivo chamado NTDS.dit,
onde todos os recursos são armazenados no mesmo.
Protocolos Envolvidos
Os protocolos que fazem parte do Samba 4 são: DNS, LDAP, Kerberos, NTP, SBM/CIFS e o DHCP. Esse conjunto de protocolos são
responsáveis por nos prover todos esses maravilhosos serviços através do Samba.
Descrição do Laboratório Utilizado
Para nosso ambiente de teste utilizamos uma VM no VirtualBox com 1 Gb de Ram, 1 core de um processador core 2 duo. Estamos
utilizando o Ubuntu Server 14.04 com uma única partição. Se você não esta ambientado com o VitualBox acesse: Como Criar uma VM
no VirtualBox.
Instalação Passo-a-Passo
Primeiramente iremos instalar algumas dependências do Samba, para isso execute o seguinte conteúdo em seu terminal:
# apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev
python-dev libpam0g-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev
attr krb5-user docbook-xsl libcups2-dev acl
Depois de instalar as dependências é preciso realizar uma pequena mudança do sistema de aquivo, para o sistema suportar
o namespace xattr “user” e “system”. para isso acesse o fstab.
# pico /etc/fstab
Localize a linha que monta a partição onde você vai disponibilizar os arquivos para compartilhamento, no meu caso como o sistema só
tem a martição / a linha vai ficar assim:
UUID=d8d936be-e5a4-4048-bcb4-96dc429e5566 / ext4 user_xattr,acl,barrier=1 1 1
Agora precisamos remontar a partição, execute:
# mount -o remount,rw /
Neste passo é importante testar o suporte a xattr, para isso execute os seguintes comandos como root:
# touch test.txt
# setfattr -n user.test -v test test.txt
# setfattr -n security.test -v test2 test.txt
# getfattr -d test.txt
Após executar o último comando você irá receber a seguinte saída:
# file: test.txt
user.test="test"
Não acabou ainda, vamos continuar os testes, execute:
# getfattr -n security.test -d test.txt
Você irá receber a seguinte saída:
# file: test.txt
security.test="test2"
Agora vamos testar o suporte a ACL estendido, execute:
# touch test.txt
# setfacl -m g:adm:rwx test.txt
# getfacl test.txt
Depois você irá receber o seguinte retorno:
# file: test.txt
# owner: root
# group: root
user::rw-
group::r--
group:adm:rwx
mask::rwx
other::r--
Pronto, se tudo deu certo até aqui significa que podemos continuar, agora iremos faxer o download do Samba 4.1.11 do site oficial do
Samba e depois descompactar:
# cd /opt
# wget http://www.samba.org/samba/ftp/stable/samba-4.1.8.tar.gz
Depois de baixar descompacte o arquivo e acesse o diretório criado:
# tar -zxvf samba-4.1.11.tar.gz && cd samba-4.1.11
Nesse passo iremos preparar os arquivos para compilação:
# ./configure --enable-debug --enable-selftest
Depois de concluído iremos compilar, esse passo vai demorar um bocado, então pode ir ao banheiro ou tomar um café:
# make
Agora vamos instalar:
# make install
Pronto, se você chegou até aqui seu samba já esta instalado e pronto para ser usado, iremos começar a configuração propriamente dita..
Configuração Passo-a-Passo
Iremos realizar o provisionamento de um novo domínio utilizando a ferramenta samba-tool, esse carinha vai criar o nosso Active
Directory, ele também é capaz de gerenciar usuários e realizar o gerenciamento do samba. Para isso execute:
# /usr/local/samba/bin/samba-tool domain provision
Depois disso ele vai lhe perguntar o FQDN do Samba, aqui eu escolhi GUIADOTI.LOCAL. Em seguida ele vai perguntar o nome do
domínio, você pode pressionar enter para ser o mesmo do FQDN. Depois é preciso encolher o modo de execução do Samba, como
iremos utilizar o Active Directory iremos escolher o modo dc, que já é o padrão da configuração. No próximo passo iremos escolher o
tipo de DNS do Samba, iremos utilizar o DNS interno do samba. Em seguida é preciso informar um DNS externo caso o DNS interno
não consiga resolver algum nome, particularmente eu gosto de usar o DNS do Open Dns (208.67.222.222). E no próximo passo é preciso
informar a senha do usuário administrator do Samba. Veja abaixo a saída do comando:
OBS: A senha deverá ter um nível de complexidade misturando letras maiúsculas, minúsculas, caracteres especiais (!@#$%) e números.
Também deverá ter no mínimo 8 caracteres. Estou utilizando a senha P4ssW@rd
Realm: GUIADOTI.LOCAL
Domain [GUIADOTI]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.0.1]: 208.67.222.222
Administrator password:
Retype password:
Veja também a imagem da saída. Ao final do processo, depois de confirmar sua senha o samba ira processar as informações e gerar o
arquivo smb.conf, você deverá receber uma saída como essa:

O próximo passo e alterar as configurações do nosso resolv.conf para utilizar o DNS do Samba. Para isso acesse o arquivo e deixe ele da
seguinte maneira:
# pico /etc/resolv.conf
domain GUIADOTI.LOCAL
nameserver 127.0.0.1
Depois iremos iniciar o daemon do Samba:
# /usr/local/samba/sbin/samba
Agora iremos testar essa essa configuração executando o seguinte comando:
# host -t SRV _ldap._tcp.guiadoti.local.
Você deverá receber uma saída parecida com essa:
_ldap._tcp.guiadoti.local has SRV record 0 100 389 ubuntu.guiadoti.local.
Verifique agora os compartilhamentos ativos, para isso execute:
# /usr/local/samba/bin/smbclient -L localhost -U%
A saída deverá ser a seguinte:

Agora iremos testar a autenticação no localhost na pasta netlogon utilizando o usuário administrator, e executar o comando ls para listar
o conteúdo da pasta.
# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'P4ssW@rd' -c 'ls'
A saída deverá ser como a imagem:

Nesse passo iremos testar a autenticação do servidor Kerberos, execute o seguinte comando e informe a sua senha:
# kinit administrator@GUIADOTI.LOCAL
Você irá receber a seguinte saída:

Estamos quase acabando, agora iremos alterar as configurações do NTP, para isso acesse:
# pico /etc/ntp.conf
Apague todo o conteúdo e depois insira o conteúdo abaixo:
server a.ntp.br iburst prefer
server b.ntp.br iburst prefer
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp
ntpsigndsocket /usr/local/samba/var/lib/ntp_signd/
restrict default kod nomodify notrap nopeer mssntp
restrict 127.0.0.1
restrict a.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
restrict b.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
Estamos simplesmente configurando o servidor para sincronizar o horário com o servidor NTP.BR. Depois você pode executar o
comando date e verificar se a hora está correta.
Pronto pessoal, o nosso servidor Samba já esta pronto para ser usado, agora é só adicionar as estações no domínio criado utilizando o
usuario administrator. Lembrando que as estações devem estar configuradas para usar o DNS do servidor samba, senão você não vai
conseguir colocar as máquinas no domínio. Você pode fazer isso automaticamente utilizando seu servidor DHCP, nos próximos posts
irei abordar a instalação e configuração de um servidor DHCP.
Pessoal é isso ai, espero que tenham curtido esse artigo, nos próximos posts irei mostrar como colocar máquinas de diferentes sistemas
operacionais no domínio e explorar um pouco mais as configurações do Samba 4. Não esqueçam de curtir nossas páginas nas redes
sociais, Facebook, G+ e seguir o Guia do Ti no Twitter. Compartilhem e comentem esse artigo, isso é muito importante para divulgação
do nosso trabalho.

Você também pode gostar