Nesse post vou explicar como adicionar um servidor Linux em um domínio Samba. Digo servidor, pois recomendo a ferramenta CID, Close in Directory, do Eduardo Moraes, nos casos de ambientes gráficos.

Aqui foi utilizado um Ubuntu 16.04, mas a ideia é a mesma para qualquer distribuição, só observar se alguns arquivos de configuração estão caminhos diferente, como setar o IP no RHEL/CentOs.

O intuito aqui é ajudar quem quer colocar a máquina no domínio, por isso que ele é mais direto com os arquivos de configuração e não com as explicações detalhadas que cada arquivo e comando faz.
Ps: Caso apresente algum erro de autenticação durante o processo, criei um usuário com o hostname no seu AD.

 

Veja a disposição dos servidores na rede para explicação do artigo:

Domínio → dominio.local

Servidor controlador de domínio →192.168.0.4 servidor.dominio.local

Servidor DNS primário → 192.168.0.4

Servidor DNS Secundário →192.168.0.35

Servidor DHCP →192.168.0.1

Como os clientes serão configurados pelo serviço DHCP, só especificarei o nome da máquina cliente:

Desktop cliente → linuxcliente

 

SETAR O IP MANUALMENTE

Editar o arquivo interfaces:

# vim /etc/network/interfaces

auto enp0s3

iface enp0s3 inet static

address 192.168.0.100

netmask 255.255.255.0

gateway 192.168.0.1

dns-nameserver 192.1680.4 192.168.0.35

dns-search dominio.local

 

Editar o arquivo /ETC/HOSTS

Editar o arquivo /etc/hosts para incluir um alias para controlador de domínio e alterar o hostname do desktop cliente (linuxcliente), acrescentando o fqdn, ou seja, o nome do domínio junto ao hostname da máquina cliente.  No entanto, substitua os nomes abaixo pelos correspondentes na sua rede.

 

# vim /etc/hosts

Conteúdo a ser acrescentado:

127.0.0.1       linuxcliente.dominio.local    localhost   linuxcliente

192.168.0.4    servidor.dominio.local servidor

 

Agora vamos verificar se o nome da maquina foi alterado:
# hostname -f

 

Instalar os pacotes necessários

Para que o cliente possa ingressar no domínio, é necessário fazer a instalação dos seguintes pacotes (lembrando que os pacotes abaixo são para distros Debian Like):

# apt install vim ntp krb5-user krb5-config winbind samba samba-common smbclient cifs-utils libpam-krb5 libpam-winbind libnss-winbind

Se durante a instalação do kerberos forem apresentadas algumas telas com perguntas referentes ao KDC, pode continuar com um ENTER e seguir com a instalação dos pacotes.

 

Sincronizar data e hora com o servidor

Edite o arquivo de configuração do serviço NTP usando o Vim:

# vim /etc/ntp.conf

server 192.168.0.4

pool 192.168.0.4

restrict 192.168.0.4


Agora, reinicie o serviço de data e hora:

# /etc/init.d/ntp restart

ou

# service ntp restart

 

Resolução de DNS

Como o IP foi setado manualmente, provavelmente o resolv.conf já está com a configuração correta. Caso não esteja, basta adicionar o search e o nameserver

# vim /etc/resolv.conf

search dominio.local

nameserver 192.168.0.4

nameserver 192.168.0.35

 

Configurar o KERBEROS

Para um usuário autenticar-se no Active Directory, é necessário editar o arquivo /etc/krb5.conf e incluir informações sobre o servidor KDC (controlador de domínio kerberos). Nesse caso, o controlador de domínio com o Active Directory possui um KDC. Use o Vim para editar o arquivo e inclua as seguintes linhas no arquivo:

 

# vim /etc/krb5.conf

Conteúdo acrescentado:

[libdefaults]

default_realm = DOMINIO.LOCAL

[realms]

  DOMINIO.LOCAL  =  {

     kdc  =  servidor.dominio.local

     default_domain  =  DOMINIO.LOCAL

     admin_server  =  servidor.dominio.local

  }

[domain_realm]

.dominio.local = DOMINIO.LOCAL

 

Para fazer o teste de comunicação do nosso ubuntu com o servidor vamos utilizar o kinit. Execute o comando com o seu usuário cadastrado no servidor. No artigo estou usando o usuário “Administrator”.


# kinit Administrator

 

Agora vamos listar o ticket:

# klist

 

O retorno do  klist deverá ser algo parecido com:

Ticket cache: FILE:/tmp/krb5cc_1000

Default principal: administrator@DOMINIO.LOCAL

Valid       starting    Expires                 Service  principal

10-10-2017  12:00:32    09-10-2017  04:10:07    krbtgt/DOMINIO.LOCAL@DOMINIO.LOCAL

renew  until  13-10-2017  12:00:32

 

Configurar o SAMBA

Toda configuração é feita no/etc/samba/smb.conf. Vamos criar um arquivo de backup do smb.conf original e depois criar um arquivo novo em branco:

# mv /etc/samba/smb.conf /etc/samba/smb.conf.original
# vim /etc/samba/smb.conf

 

[global]

  security = ads

 realm= DOMINIO.LOCAL

  workgroup = DOMINIO

 idmap uid = 10000-15000

 idmap gid = 10000-15000

 winbind enum users = yes

 winbind enum groups = yes

 template homedir = /home/%D/%U

 template shell = /bin/bash

 client use spnego = yes

 winbind use default domain = yes

 restrict anonymous = 2

 winbind refresh tickets = yes

 

Agora restart o winbind e o samba

# service winbind restart

# service smbd restart

# service nmbd restart

Ingressar a máquina no domínio

Depois de configurar o Samba, execute o comando abaixo como root:

# net ads join -U Administrator

 

Assim como no Kinit, utilize um usuário com permissão para ingressar no domínio. O retorno do comando deve ser parecido com o que está abaixo:

 

Using short domain name – DOMINIO

Joined ‘LINUXCLIENTE’ to realm ‘DOMINIO.LOCAL’

 

Reinicie o Winbind:

# service winbind restart

 

Agora, faça o teste e liste os grupos e usuários do domínio com o comando wbinfo. Para listar usuários execute:

# wbinfo -u

 

Para listar os grupos execute:

# wbinfo -g

 

Caso não retorne nenhum nome de usuário ou grupo, reinicie o Winbind novamente.

Edite o arquivo NSSWITCH.CONF

Depois ingressar a máquina no domínio, é necessário editar o arquivo /etc/nsswitch.conf para que o sistema possa saber onde buscar informações de login dos usuários que estão se autenticando.

Edite o arquivo usando o Vim:

 

# vim /etc/nsswitch.conf

passwd: compat winbind

group: compat winbind

 

 

A partir desse momento, você já pode testar a maquina normalmente no domínio. Caso apresente algum erro, refaça o processo e verifique os usuários e suas permissões.

Leituras que me ajudaram a escrever esse artigo:
Viva o LinuxStato BlogTecMint

Ao som de Tulipa Ruiz – Proporcional