Samba 27: Configurando Samba Como um Membro do Domínio – Parte 02

ATENÇÃO: APENAS LEIA ESSE ARTIGO, NÃO SE PREOCUPE EM EXECUTAR COMANDOS.

 

……………………………

Antes de falarmos sobre como configurar o smb.conf devemos preparar o  computador para que ele possa ser unido ao domínio. Abaixo estão as informações de nosso ambiente:

  • Domínio: lab.local
  • Nome da Distro Controladora de Domínio: server01
  • Ip do controlador de domínio: 192.168.0.40
  • Nome da Distro que Uniremos: ubuntu20 – Essa distro é um Ubuntu Server em sua versão 20

 

Na verdade, juntamente com o server01, possuímos o server02 que também é um controlador do domínio  lab.local.

Iremos somente preparar o ubuntu20. Em outro artigo iremos juntá-lo como membro outro do domínio lab.local.

Temos um computador chamado Ubuntu, com interface gráfica, que será preparado e configurado em outro artigo futuro.

Então nosso ambiente ficará assim:

 

 

 

 

Preparando o Computador ubuntu20 que Será Membro

 

Horário e Data

Estar com horário correto é muito importante!

Verifique se o horário do computador que será membro está atualizado.

Aproveite para verificar horário e data do servidor server01 que é controlador do domínio.

Pode verificar o horário pelo terminal executando “date”

elder@ubuntu20:~$ date
Fri Dec 10 18:14:42 -03 2021

Para alterar pode executar “date mês+dia+hora+minuto+ano”. Veja abaixo alterando para  02/01/2021 às 12:10

elder@ubuntu20:~$ date 010212102021

 

O Apropriado seria configurar servidor de tempo NTP, Assim data e hora seriam pegos por um servidor de tempo na internet. Temos os posts abaixo sobre esse assunto. Escolha um deles:

 

DNS

Devemos editar o arquivo /etc/resolv.conf  e colocar nele o conteúdo abaixo. Pode editar usando seu editor de texto predileto, como vim, vi, nano, emacs.

elder@ubuntu20:~$ sudo vim /etc/resolv.conf

Abrir o arquivo com o editor vim e deixei esse conteúdo:

search lab.local
domain lab.local
nameserver 192.168.0.40
nameserver 192.168.0.41

Os IPs acima são dos servidores server01 e server02 que são controladores de domínio. Poderia acrescentar o  dns do google: “nameserver 8.8.8.8

Às vezes o arquivo /etc/resolv.conf pode ser gerenciado por um programa, como o

  • NetworkManager: Se for gerenciado pelo NetworkManager pode executar o comando nmtui. É bem fácil de configurar a rede com ele. É um interface gráfica por meio do terminal.
  • systemd-resolved: Temos esse artigo falando a respeito: Cliente DNS Gerenciado pelo systemd-resolved

 

Resolução de Nomes Locais

O nome da distro a ser membro é ubuntu20. Ao executarmos “Ping ubuntu20.lab.local” o ping  deverá responder positivamente. Assim como server01.lab.local ou server02.lab.local deverão responder com sucesso. Para isso devemos editar o arquivo /etc/hosts e colocar o conteúdo abaixo. Pode editar usando seu editor de texto predileto, como vim, vi, nano, emacs:

elder@ubuntu20:~$ sudo vim /etc/hosts

Abri o /etc/hosts com o vim  e deixei somente esse texto:

127.0.0.1 localhost
192.168.0.43 ubuntu20.lab.local ubuntu20
192.168.0.40 server01.lab.local server01
192.168.0.41 server02.lab.local server02

Obs.: Se houver uma linha iniciada com “127.0.1.1” pode apagá-la. Mas mantenha  a linha iniciada com “127.0.0.1”

 

 

Instalando Samba

Aqui iremos considerar que estamos em um computador sem o samba instalado ou compilado.

Execute “apt install samba

elder@ubuntu20:~$ sudo apt install samba  -y

 

Instalando o Kerberos

Precisamos do kerberos para autenticação dos usuários. Instalei usando “apt install krb5-user”

Quando perguntado pelo domínio digite lab.local

elder@ubuntu20:~$ sudo apt install krb5-user    -y

Por segurança, faça um backup do arquivo original /etc/krb5.conf

elder@ubuntu20:~$ sudo cp  /etc/krb5.conf /etc/krb5.conf.bkp

Acesse o arquivo /etc/krb5.conf

elder@ubuntu20:~$ sudo vim /etc/krb5.conf

apague todo o conteúdo e digite o abaixo:

[libdefaults]
    default_realm = LAB.LOCAL
    dns_lookup_realm = false
    dns_lookup_kdc = true

 

 

Instalando winbind, libnss-winbind e libpam-winbind

O winbind é o programa que se comunica com o controlador de domínio, em nosso caso o server01 ou server02, e busca de lá os usuários e grupos.

 

elder@ubuntu20:~$ sudo apt install winbind    -y

 

nsswitch

winbind precisa conversar com o Name Service Switch(nsswitch). Para essa conversa acontecer precisamos instalar a bibliotecla libnss-winbind

elder@ubuntu20:~$ sudo apt install libnss-winbind -y

Abra o aquivo /etc/nsswitch.conf

elder@ubuntu20:~$ sudo vim /etc/nsswitch.conf

nas linhas passwd  e group, no lugar da palavra “systemd” coloque a palavra “winbind”:

passwd:         files winbind
group:          files winbind
shadow:         files
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

 

pam

Se você for logar no ubuntu com usuários do domínio lab.local então terá que instalar a biblioteca libpam-winbind

elder@ubuntu20:~$ sudo apt install libpam-winbind -y

Somente instale. Como o computador ubuntu20 não possui interface gráfica então não configuraremos o módulo PAM para logar com usuário e senha. Na verdade ele nem precisaria ser instalado aqui.

 

Testando DNS, Resolução de Nomes e Kerberos

 

Agora iremos testar as instalações e configurações acima.

DNS

Execute “nslookup server01.lab.local”. Deverá receber o resultado parecido com o abaixo:

elder@ubuntu20:~$ nslookup server01.lab.local
Server:		127.0.0.53
Address:	127.0.0.53#53

Non-authoritative answer:
Name:	server01.lab.local
Address: 192.168.0.40

Obs.: Se tentar “nslookup 192.168.0.40” poderá receber erro. Até aqui é normal visto não ter registro de zona reversa ainda.

Execute o comando “host -t SRV _ldap._tcp.lab.local” para testarmos registro SRV.

elder@ubuntu20:~$ host -t SRV _ldap._tcp.lab.local
_ldap._tcp.lab.local has SRV record 0 100 389 server01.lab.local.
_ldap._tcp.lab.local has SRV record 0 100 389 server02.lab.local.

 

Kerberos

Execute o comando “kinit administrator“. administrator aqui é o nome do usuário administrador no samba. Será solicitada a senha, basta inserir.

elder@ubuntu20:~$ kinit administrator
Password for administrator@LAB.LOCAL: 
Warning: Your password will expire in 31 days on Tue Jan 11 19:02:35 2022

Agora execute “klist” para listarmos os tickets do kerbero

elder@ubuntu20:~$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: administrator@LAB.LOCAL

Valid starting     Expires            Service principal
12/10/21 19:47:46  12/11/21 05:47:46  krbtgt/LAB.LOCAL@LAB.LOCAL
	renew until 12/11/21 19:47:38

 

 

Continua…

Preparamos o ubuntu20 para ser membro do domínio.

Instalamos e configuramos os programas necessários.

Realizamos testes com de DNS e Kerberos. Se houver algum erro nesses testes provavelmente você terá problemas com as etapas seguintes.

Nos artigos seguintes iremos configurar o arquivo smb.conf, explicar sobre os diferentes comportamentos dos back ends e juntar o ubuntu20 como membro do domínio.

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *