Como Configurar Samba Active Directory no AlmaLinux

Compartilhe:

Logo marca do samba e almalinux sobre a imagem de um servidor

Se você chegou aqui é por que está precisando aprender como configurar samba active directory no almalinux, não é mesmo ?

E muito provavelmente essa é uma demanda do seu trabalho, por que a empresa que trabalha ou presta serviços quer economizar com licenças e precisa dessa solução no parque tecnológico da empresa.

Para suprir essa necessidade nesse tutorial prático e rico em informações técnicas e teóricas vai ensinar como configurar o samba na função de active directory domain controller em um servidor que tem o almalinux instalado.

Informações técnicas do servidor e domínio

As informações técnicas do servidor usadas no tutorial:

Sistema Operacional: Almalinux versão 10

Endereço IP: 10.10.20.11/24

Hostname: server

Nome NetBIOS do servidor: server # o mesmo que o hostname, deve ter no máximo 15 caracteres (preferencialmente alfanuméricos)

Localização da instalação do samba: /opt/samba

O endereço IP já foi configurado no servidor, mas o hostname e a localização da instalação do samba ainda serão configurados.

As informações técnicas do domínio usadas no tutorial estão abaixo:

Nome do domínio: dlncloud.lan

Nome NetBIOS do domínio: dlncloud

Preparando sistema operacional para instalar o serviço samba

Antes de instalar samba e configurá-lo na função AD DC é necessário verificar se o sistema de arquivos onde será armazenado o samba tem suporte a ACLs e atributos estendidos.

O Samba quando configurado como Active Directory Domain Controller (AD DC) precisa de suporte a ACLs (Listas de Controle de Acesso) e atributos estendidos (Extended Attributes) no sistema de arquivos seja ele ext4, btrfs ou XFS para emular as permissões de arquivos do Windows NTFS.

Como o samba vai ser instalado em /opt/samba, verifique qual é o sistema de arquivos que está montado em /opt executando o comando df:

Veja na coluna type que o tipo de sistema de arquivos é xfs.

Para verificar se o suporte a ACLs no kernel linux em uso foi compilado para xfs, execute o comando:

A saída do comando tem que aparecer o código: CONFIG_XFS_POSIX_ACL=y

Se o sistema de arquivos for ext4 verifique executando o comando:

Na saída do comando tem que aparecer o código: CONFIG_EXT4_FS_POSIX_ACL=y e CONFIG_EXT4_FS_SECURITY=y

Se o sistema de arquivos for btrfs verifique executando o comando execute o comando:

Na saída do comando tem que aparecer o código: CONFIG_BTRFS_FS_POSIX_ACL=y

Tanto o sistema de arquivos xfs quanto o btrfs já tem o suporte a atributos estendidos habilitados por padrão.


Recomendo a leitura da documentação do samba para mais informações sobre a necessidade de ter ACLs e atributos estendidos para o samba.

Configuração do firewall

O Samba AD DC recebe e faz conexões em algumas portas, veja a lista a seguir:

ServiçoPortaProtocolo da camada de Transporte
DNS53TCP / UDP
Kerberos88TCP / UDP
End Point Mapper (DCE/RPC)135TCP
NetBIOS Name Service137UDP
NetBIOS Datagram138UDP
NetBIOS Session139TCP
LDAP389TCP / UDP
SMB over TCP445TCP
Kerberos Kpasswd464TCP / UDP
LDAPS636TCP
Catalogo Global3268TCP
Catalogo Global SSL3269TCP
RPC ports Dynamic49152-65535TCP
NTP123UDP

O Almalinux já vêm com o serviço de firewall instalado e ativo, é um serviço chamado firewalld.

Primeiro inicie o serviço caso esteja parado e em seguida configure o mesmo para iniciar durante o boot:

Execute os comandos a seguir para criar as regras no firewall que permitem conexões nas portas mencionadas anteriormente.

Atualizar sistema operacional

Antes de instalar o samba atualize o almalinux e também instale o pacote que configura o repositório epel(Extra Packages for Enterprise Linux) no sistema.

Caso o sistema tenha atualizado algum pacote importante como por exemplo o systemd ou kernel linux, recomendo que reinicie o servidor.

Instalação do serviço samba no servidor

Os pacotes do samba que estão presentes nos repositórios oficiais do almalinux não foram compilados com a função active directory domain controller, por isso será necessário compilar o código fonte do samba e instalá-lo em seguida.

Instale as dependências necessárias para compilar o samba:

Configure uma variável que receba como valor a versão do samba que será baixada. Para esse tutorial a versão do samba usada é 4.23.4:

Acesse o diretório /usr/src e seguida baixe o código fonte do samba:

Descompacte o arquivo e acesse o diretório que contém o código fonte:

Configure o projeto de compilação do samba executando o script configure:

Explicação das opções:

--with-systemd: Habilita suporte ao systemd.

--prefix: Define a localização onde samba será instalado, nesse exemplo será instalado em /opt/samba.

Compile o código fonte do samba executando o comando make:

Execute o comando make install para concluir o processo de instalação:

Configurando samba para iniciar durante o boot

Copie o arquivo samba.service que está dentro do diretório que contém o código fonte do samba para /etc/systemd/system e altere o nome para samba-ad-dc.service, basta executar o comando a seguir:

Agora edite o arquivo /etc/systemd/system/samba-ad-dc.service, executando os dois comandos a seguir:

Faça o systemd relê as alterações e habilitar o serviço do samba durante o boot:

Localização dos comandos do samba na variável PATH

Essa etapa é importante para não precisar digitar a localização completa dos comandos do samba na linha de comando.

Para que a variável PATH seja alterada sempre que faça login, crie um arquivo com a extensão.sh” dentro de /etc/profile.d.

Em seguida altere as permissões do arquivo e execute o comando source para carregar na sessão atual do shell bash as alterações:

Configurar samba active directory no almalinux

Altere o hostname(também será o nome NetBIOS) que o servidor usará, ele deve ter no máximo 15 caracteres.

Também é necessário editar o arquivo /etc/hosts, incluindo uma entrada com o FQDN(nome de domínio totalmente qualificado) do próprio servidor Samba AD DC.

Altere a linha que contém o IP 127.0.0.1 de localhost, no exemplo a linha:

Substitua por:

Essa entrada garante que o servidor possa resolver corretamente seu FQDN e o hostname para o IP do próprio servidor samba AD DC.

Agora sim execute o comando a seguir para configurar samba active directory no almalinux e também criar o domínio:

Explicação das opções:

domain: É uma operação sobre o domínio.

provision: Define que a operação é criar um domínio.

--domain: Define o nome NetBIOS do domínio.

--realm: Configura o nome do reino kerberos que também é o nome completo do domínio. O nome deve inserido em CAIXA ALTA.

Ao fim da execução do comando você verá informações similares a imagem abaixo:

Após a criação do domínio redefina a senha do usuário administrator(administrador do domínio):

O samba gerou um arquivo krb5.conf personalizado, esse arquivo deve substituir o /etc/krb5.conf do sistema. Copie o arquivo gerado pelo samba para /etc.

Inicie o serviço do samba:

Você acabou de configurar samba active directory no almalinux, mas ainda existem algumas configurações importantes a serem feitas.

Configuração do serviço NTP

O Active Directory faz uso do protocolo Kerberos, que requer uma sincronização de data e hora quase perfeita entre os controladores de domínio e também com os computadores clientes ingressados no domínio para que autenticação seja feita com sucesso.

O samba não tem um serviço NTP, logo é necessário instalar um serviço ntp para garantir a sincronização entre os relógios dos diferentes dispositivos na rede.

O serviço NTP que será instalado e usado é o chrony, para instalá-lo no almalinux execute o comando:

Pare o serviço chrony:


Inclua no fim do arquivo de configuração /etc/chrony.conf a opção confdir:

Crie o diretório /etc/chrony.conf.d que conterá o arquivo de configuração adicional.

Adicione a configuração abaixo no arquivo /etc/chrony.conf.d/samba.conf para permitir acesso da rede com serviço NTP e para o samba se comunicar com chrony através do arquivo de socket:

Substitua o endereço de rede 10.10.20/24 pelo endereço IP da rede do servidor que está instalando o samba.

Altere as permissões do diretório que armazena o arquivo de socket do samba para o chrony ter acesso:

Inicie o serviço chrony:

Ajustes finais após configurar samba active directory no almalinux

Após instalar e configurar samba ad dc no almalinux é necessário fazer alguns ajustes essenciais para o servidor funcionar sem problemas.

O Samba AD DC precisa resolver nomes do domínio para replicar o banco de dados do AD para outros servidores controladores de domínio, também para fins de autenticação e para outros serviços do AD funcionarem.

Por isso o sistema operacional deve usar o endereço IP do próprio servidor samba como servidor DNS que será consultado.

Configurando o novo endereço DNS usando pelo almalinux

O Almalinux usa o NeworkManager para gerenciar as configurações da placa de rede, para alterar o endereço DNS que o sistema vai usar, primeiro liste as conexões existentes:

Na imagem acima o nome da conexão é enp0s3, para alterar a conexão execute o comando a seguir, substituindo a conexão enp0s3 pelo nome da conexão que apareceu no seu servidor:

O endereço DNS que o servidor vai consultar agora é o 127.0.0.1 que faz referência ao próprio servidor. Para efetivar as alterações reinicie o NetworkManager:

Configurando um DNS Forwarder para o samba

O DNS interno do samba não resolve nomes para outros domínios, isso significa que os clientes não vão conseguir resolver nomes para outros domínios e consequentemente nem para internet.

Para contornar essa situação configure um encaminhador dns que o samba vai usar. Edite o arquivo de configuração smb.conf:

E adicione na seção global a configuração a seguir, substituindo 8.8.8.8 pelo endereço do servidor DNS que resolverá nomes de outros domínios:

Salve as alterações e em seguida reinicie o samba:

Tópicos relacionados

Se está precisando configurar o samba como um AD DC em um servidor que tem instalado o Debian ou Rocky Linux, recomendo a leitura dos guias a seguir:

Distros LinuxGuias Técnicos
Rocky LinuxComo configurar o Samba como um AD DC no Rocky Linux
DebianComo configurar o Samba como um AD DC no Debian Linux

Quer aprender a ingressar no domínio uma estação de trabalho linux ? Recomendo a leitura dos tutoriais da lista a seguir:

Distros LinuxTutoriais Completos
Ubuntu LinuxIngressar no domínio AD máquina que tem ubuntu instalado
Linux MintIngressar no domínio AD máquina que tem linux mint instalado

Aprenda mais sobre samba active directory no linux

Acabou de configurar o samba AD DC e está precisando:

  • Aprofundar seus conhecimentos no serviço samba e active directory ?
  • Aprender como criar backups ou atualizá-lo ?
  • Gerenciar o servidor e fazer tarefas administrativas ?

Fique tranquilo(a) pois com o curso servidor linux samba AD você vai aprender isso e muito mais.

anúncio do curso servidor linux samba active directory

E usando o cupom BLOGSAMBA10 você ganha 10% de desconto.

Conclusão

O samba é uma solução cada vez mais adotada pelas empresas e organizações do governo com a finalidade de diminuir os custos de licenciamento da microsoft que é muito caro.

Seguindo cuidadosamente o passo-a-passo do tutorial você conseguiu configurar samba active directory no almalinux e ter um servidor estável e atualizado por anos.

Ficou com alguma dúvida ou quer fazer alguma sugestão deixe seu comentário.

Navegue por tópicos:

Foto de Edson Oliveira
Edson Oliveira

Especialista em Linux, trabalhando com TI tem experiência no gerenciamento, solução de problemas e suporte de servidores linux em ambientes corporativos.

Professor de cursos voltados a linux, tecnologias open source e certificações LPI. Possui as certificações LPIC-1, LPIC-2 e LPIC-3 (Mixed Environment).

Navegue por tópicos:

Você também pode gostar:

Deixe um comentário

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

Aprender Samba AD ainda parece complicado?

Pare de perder tanto tempo tentando configurar o active directory no linux. Aprenda passo a passo como implementar e gerenciar servidores Samba AD DC de forma prática e profissional.

Valorizamos sua privacidade

Utilizamos cookies para aprimorar sua experiência de navegação, exibir anúncios ou conteúdo personalizado e analisar nosso tráfego. Ao clicar no botão “Aceitar todos”, você concorda com nosso uso de cookies.

Para mais informações leia nossa Política de Privacidade.