> For the complete documentation index, see [llms.txt](https://docs.userauth.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.userauth.com.br/configurando-o-seu-userauth/escolha-as-suas-autenticacoes/opcoes-de-autenticacoes-avancadas/integrando-userauth-com-dc-samba.md).

# Integrando UserAuth com DC Samba

## **Integração com Controlador de domínio SAMBA**

### Pré-requisitos <a href="#pre-requisitos" id="pre-requisitos"></a>

Para autenticar usuários previamente cadastrados num Servidor PDC SAMBA (com o recurso de **Controlador de Domínio** ativado) no pfSense® com o UserAuth, faz-se necessários alguns pré-requisitos. A maioria das configurações são implementadas no lado do próprio Servidor SAMBA.

Abaixo, descreveremos um passo a passo a ser seguido:

### **PASSO 1**

O primeiro pré-requisito para usarmos autenticação de usuários no UserAuth através de servidor SAMBA, é verificar a versão do pacote no seu servidor Linux. O formato do arquivo de Log interpretado pelo UserAuth só está disponível a partir do SAMBA 4.10, [conforme documentação oficial](https://www.samba.org/samba/history/samba-4.10.0.html)

<figure><img src="/files/GHjk00LujmOxwLJzanWN" alt=""><figcaption></figcaption></figure>

Para verificar a versão do pacote SAMBA instalada no seu servidor Linux, basta executar o seguinte comando (logado como root):

```
    smbd --version
```

<figure><img src="/files/EtoVUUmcCwFv8pHuV5ZG" alt=""><figcaption></figcaption></figure>

### **PASSO 2**

O primeiro passo é verificar no servidor SAMBA se a versão do serviço “smbd” já possui suporte a JSON. Para validar este ponto, basta executar o comando abaixo, conforme a [documentação oficial do próprio SAMBA disponível na internet](https://wiki.samba.org/index.php/Setting_up_Audit_Logging).

<figure><img src="/files/zfCe9CCF5LNVNBUjGhmw" alt=""><figcaption></figcaption></figure>

```
smbd -b | grep HAVE_JSON_OBJECT
```

Após verificar se o suporte ao JSON está ativado, é necessário ativar o recurso de log incluindo a linha abaixo no arquivo *smb.conf* e reiniciar o serviço do SAMBA.

<figure><img src="/files/iSknmMuhcZkYU1oVAWjf" alt=""><figcaption></figcaption></figure>

### **PASSO 3**

Neste segundo passo iremos possibilitar ao pfSense® ler os logs do servidor SAMBA. Neste sentido, iremos utilizar o **NFS** – um recurso bem conhecido em servidores Unix-Like. Neste ponto, o pré-requisito é a instalação de alguns pacotes no seu Servidor SAMBA.

O exemplo abaixo aborda um exemplo de comando em servidores Debian/Ubuntu Linux:

```
apt install nfs-util nfs-kernel-server
```

**OBS:** O nome dos pacotes pode variar de acordo com versão da distribuição Linux que vocês está utilizando.

Após a instalação deve-se parametrizar o arquivo ***/etc/exports***. Esta configuração irá implementar uma ACL permitindo a leitura dos logs somente por intermédio do IP do seu servidor pfSense®.

<figure><img src="/files/OUkuaz1UgYnZ4c5LHb7K" alt=""><figcaption></figcaption></figure>

Neste exemplo o IP “192.168.65.1” é o IP do Firewall pfSense® onde o UserAuth está instalado. Após o procedimento o serviço “NFS” precisa ser reiniciado no seu Servidor SAMBA.

Ainda, pode ser necessário (dependendo da configuração atual do SAMBA) alterar a permissão da pasta de logs.

```
chmod +rx /var/log/samba

chmod -R +r /var/log/samba
```

**Arquivo de log**

O arquivo que é lido pela UserAuth para identificar os eventos de autenticação dos usuários no dominio é o ***/var/log/samba/log.smbd***, caso o samba não esteja encaminhando o log dos eventos para este arquivo deve-se aplicar este parâmetro no arquivo de configuração do serviço e reinicia-lo.

```
log file = /var/log/samba/log.smbd
```

<figure><img src="/files/g8y7Flhv9o85TUTT3HcG" alt=""><figcaption></figcaption></figure>

Alem disso, os log gerados pela autenticação podem ser conferidos neste arquivo a cada autenticação.

```
tail -f /var/log/samba/log.smbd
```

<figure><img src="/files/G7H7hAXgBDE57NsLtjCv" alt=""><figcaption></figcaption></figure>

## Configurando Integração com SAMBA <a href="#configurando-integracao-com-samba" id="configurando-integracao-com-samba"></a>

Com todos os pré-requisitos satisfeitos, basta configurar a integração no UserAuth com o Servidor PDC SAMBA. Acesse a aba *Domains* da ferramenta e adicionar uma nova configuração, preenchendo as informações conforme descrição de cada campo.

<figure><img src="/files/0YHJpeOpfHxEjg3d1ap0" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/i8X8kRnSGXSbQVN2xSPY" alt=""><figcaption></figcaption></figure>

Feita a configuração, pode-se acompanhar o status da integração na aba “Logs”. A ferramenta mostrará que foi capaz de montar a unidade remota (NFS) para leitura dos logs.

Neste momento, o UserAuth será capaz de identificar automaticamente os usuários que fizerem login nas estações ingressadas no **PDC SAMBA**, da mesma forma como procede com um Servidor Windows Active Directory.

<figure><img src="/files/QFJAm2gOquob6s69gMku" alt=""><figcaption></figcaption></figure>

<div align="center"><figure><img src="/files/aCOR2cDl0hFlfshZtQxX" alt=""><figcaption></figcaption></figure></div>

## Alterando origem dos grupos <a href="#alterando-origem-dos-grupos" id="alterando-origem-dos-grupos"></a>

Para configurar/alterar a pesquisa dos grupos de origem dos usuários para o Servidor SAMBA, basta acessar a dashboard inicial da ferramenta UserAurh e selecionar a opção: “*Samba LDAP groups*”.

<div align="center"><figure><img src="/files/TImZD5tbXBpYp6e9oOEv" alt=""><figcaption></figcaption></figure></div>

Leitura dos usuários nos grupos configurados.

<figure><img src="/files/gmO9SDG73Ptnro2P2p21" alt=""><figcaption></figcaption></figure>
