sexta-feira, 16 de maio de 2014

Instalando e Configurando o Samba 4 como Active Directory no Ubuntu Server 14.04 LTS



Escrito por Francies Silva de Lima.


Olá pessoal.

Tive a necessidade instalar este servidor para um trabalho acadêmico. Procurei muitos tutoriais mas o melhor que eu encontrei foi no canal goduda55 no youtube que estava em inglês. Não tive dificuldades para entender pois tenho conhecimentos superficiais em inglês. Mas ele instala o samba a partir do código-fonte baixado via GIT, não há segredos para compilar e instalar o samba a partir do fonte mas muitos preferem a comodidade de instalar a partir do APT. E, como meu professor pediu que fosse instalado através do APT, tive que me empenhar um pouco mais pois a localização dos arquivos de configuração e a inicialização dos serviços são totalmente diferentes, fora que surgiu várias dificuldades para concluir.

Não vou comentar como se instala o ubuntu server, visto que quem o utiliza já deve ter bons conhecimentos de Gnu/Linux.

Instalei o sistema operacional Ubuntu Server 14.04 LTS numa máquina virtual utilizando o VirtualBox com configurações padrões, apenas para demonstração, não esquecendo de habilitar o suporte ao PAE no processador. A VM possui 512MB de RAM, 8GB de HD, sem suporte a aceleração 3D e o disco estão em uma controladora SATA.

A representação # antes dos comandos indica que todos eles devem ser executados como usuário root.

Preparando o Servidor


Após logar com o seu usuário no servidor, habilite o acesso ao root, assim fica mais fácil de trabalhar na configuração do servidor.


O próximo passo é configurar a interface de rede, ou placa de rede como muitos preferem, para dar início a instalação do servidor.

Depois de logar como root, acesse o arquivo de configuração das interfaces de rede. Eu prefiro usar o vi mas você pode usar o nano como editor.

# vi /etc/network/interfaces

Vai aparecer esta tela:

Como mostra a figura, a interface eth0 está em modo dhcp, como vamos configurar um servidor, a interface deve ficar com um IP estático ou fixo. Após a edição, a configuração deve ficar parecida com a figura abaixo.


No meu caso, estou conectado a minha LAN em modo bridge e apenas peguei um IP livre para demonstração.

Address → endereço IP
netmask → máscara de sub-rede
network → endereço de rede
broadcast → endereço de broadcast ou difusão
gateway → endereço IP do roteador que é necessário para ter acesso à internet.
dns-nameservers → endereço do servidor de dns que será o IP do servidor samba. O endereço IP do dns do google servirá de backup.
dns-search → endereço do domínio da rede. Como exemplo criei o domínio fgre.local

Terminada a configuração, salve o arquivo e saia do editor.

Agora é a vez de editar o arquivo hosts:

# vi /etc/hosts


Agora edite o arquivo para ficar parecido com a imagem abaixo.


Com isso, o nome do servidor estará amarrado ao endereço IP da rede local e com o sufixo do nome de domínio. Feito isso, salve e feche o arquivo.

Em seguida, digite o seguinte comando:

echo nomedoservidor.nomedodominio > /etc/hostname

No meu caso, fica assim:

# echo uchiha.fgre.local >etc/hostname

Este comando vai apagar o conteúdo do arquivo hostname e escrever o novo nome que é “uchiha.fgre.local”. Usando o comando cat, exibo o conteúdo do arquivo hostname.


Feitas as alterações, reinicie o servidor para as mesmas tenham efeito.


Instalando os pacotes


Antes de começarmos, atualize o sistema operacional.

# apt-get update && apt-get upgrade

Após a conclusão dos comandos, vamos iniciar a instalação do samba e das bibliotecas necessárias para o seu funcionamento.

Digite o seguinte comando:

# apt-get install git 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 libpam0g-dev ntp -y


Aguarde o download e a instalação dos pacotes. Na próxima imagem o kerberos vai pedir o nome do domínio da rede e o nome do servidor que será o PDC da rede. No meu exemplo o domínio será FGRE.LOCAL e o nome do servidor é uchiha.






Após esta configuração, aguarde a instalação dos outros pacotes.

Até aqui seguimos as dicas do vídeo do canal goguda55 tech tutorials no youtube. A instalação do samba é feita a partir do código-fonte. Vou fazer a instalação utilizando os pacotes fornecidos pelo APT.

Para instalar o Samba, precisamos instalar os pacotes do servidor e do cliente. Entre com o seguinte comando:

# apt-get install samba smbclient -y


Terminada a instalação, vamos iniciar a configuração do servidor.


Configurando o AD


Agora vamos “levantar” o nosso controlador de domínio.

Acesse a pasta /etc/samba e mude o nome do arquivo smb.conf para smb.conf.original

Feito isso, digite o seguinte comando conforme a imagem abaixo para ativar a função de DC (Domain Controller) ao servidor.


O resultado deve ser parecido com a imagem abaixo.


Verifique se as versões dos pacotes samba e smbclient são iguais com os seguintes comandos.

# samba -V
# smbclient -V



Reinicie o servidor para que os serviços do Samba sejam ativados.

Agora vamos utilizar o software cliente do samba para conectarmos ao servidor com o seguinte comando.

# smbclient -L localhost -U%

O erro abaixo só aparece se você não reiniciar o servidor.


Após o reinício do meu servidor, executei novamente o comando e o smbclient retornou a seguinte mensagem.


Agora vamos nos conectar como administrador do domínio e visualizar o conteúdo da pasta netlogon.

# smbclient //localhost/netlogon -UAdministrator%”P@ssw0rd” -c ´ls´


Agora vamos configurar o servidor de DNS interno do Samba no servidor com o seguinte comando. Ele vai adicionar a linha “domain FGRE.LOCAL” ao final do arquivo /etc/resolv.conf

# echo domain FGRE.LOCAL >> /etc/resolv.conf

Desta forma, o servidor vai passar a resolver os nomes dos computadores do domínio.

A próxima parte da configuração do dns interno é configurar o dns forwarder, ou seja, o endereço de dns que vai encaminhar os pacotes externos da rede. Abra o arquivo /etc/samba/smb.conf com o editor da sua preferência.

# vi /etc/samba/smb.conf

O arquivo vai aparecer conforme a figura abaixo.


E como deve ficar. Lembrado que você pode usar o servidor de DNS externo de sua preferência. Estou usando o do google apenas como demonstração.


Agora vamos configurar o Kerberos para que as estações e servidores windows tenham acesso ao servidor.

Edite o arquivo /usr/share/samba/setup/krb5.conf. Nele será escrito o nome do domínio da rede no campo “default_realm”. Lembrando que deve ser escrito em caixa alta.


Agora vamos criar um ticket no kerberos com o seguinte comando.


Digite a senha do administrator e confirme.

Você receberá uma mensagem que a senha do administrador vai expirar em 41 dias. Execute mais um teste para ter certeza que está tudo certo com o seguinte comando.

# klist -e

Você verá mais uma mensagem de confirmação do ticket. Com isso, terminamos a configuração do servidor.


Agora vamos criar um compartilhamento para os usuários. Crie a pasta e dê permissões conforme o exemplo abaixo.

# mkdir -m 770 /Users
# chmod g+s /Users
# chown root:users /Users

Terminado o procedimento, vamos ativar o compartilhamento da pasta no arquivo /etc/samba/smb.conf

Este é apenas um exemplo de compartilhamento. Dessa forma pode-se criar vários dependendo da necessidade.


Agora vamos retirar o tempo expiração da senha do administrador do domínio com o seguinte comando.

# samba-tool user setexpiry administrator - -noexpiry


Caso as políticas de TI da empresa ou instituição que você trabalha não exija que os usuários criem senhas complexas para logar no domínio, você pode desabilitar senhas complexas no domínio com o seguinte comando.

# samba-tool domain passwordsettings set - -complexity=off


Agora você já pode incluir os computadores no seu novo domínio. Mas não esqueça de colocar no endereço de DNS do servidor no computador que vai ingressar no domínio.


Uma dica legal é que você pode administrar o seu servidor samba utilizando a ferramenta admin pack da microsoft. Fiz um teste com o adminpack no windows 7 e consegui a partir dela criar usuários, grupos, mapear compartilhamentos, entre outras coisas. Não testei todas as funções, mas não tive problemas ao utilizá-la nas funções que eu precisei.

Download Admin Pack Windows 7, clique aqui.

Download Admin Pack Windows 8, clique aqui.

Download Admin Pack Windows 8.1, clique aqui.


Espero que tenha ajudado. Não esqueçam de clicar no +1 para ajudar na divulgação.



"De graça recebestes, de graça dai."  Mateus 10:8


Referênciahttps://www.youtube.com/user/goguda55