Configuração Inicial do Samba: Servidor Standalone vs. Servidor AD

· 3 minutos de leitura
Configuração Inicial do Samba: Servidor Standalone vs. Servidor AD
Photo by Oleksandr Chumak / Unsplash

O Samba é uma ferramenta poderosa que permite a integração entre sistemas Linux e Windows, oferecendo serviços de compartilhamento de arquivos e impressoras. Dependendo do caso de uso, o Samba pode ser configurado como um simples servidor de compartilhamento de arquivos ou como um servidor de Active Directory (AD), permitindo logon de usuários. Aqui, vamos explorar um arquivo de configuração básico do Samba e destacar quais partes se aplicam a cada tipo de servidor.

Estrutura Básica do Arquivo

A configuração do Samba geralmente reside no arquivo /etc/samba/smb.conf, que é dividido em duas seções principais:

[global]: Contém definições gerais para o servidor.

Compartilhamentos: Define as pastas e impressoras que serão disponibilizadas na rede.

Vamos examinar o exemplo fornecido, linha por linha, e comentar como essas configurações variam de acordo com o uso do servidor.

Seção [global]

A seção [global] contém as definições gerais para o servidor Samba.

workgroup: Define o nome do grupo de trabalho. Para um servidor standalone (apenas compartilhamento de arquivos), este valor pode ser mantido como WORKGROUP ou ajustado de acordo com o ambiente. No caso de um servidor AD, essa linha será substituída pela configuração do domínio.

[global]
   workgroup = WORKGROUP
  

interfaces e bind interfaces only: Definem quais interfaces de rede o Samba usará. Isso é útil se você quiser limitar o serviço a uma rede específica. É mais relevante para um servidor standalone.

;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes

log file e max log size: Especificam onde os logs serão armazenados e o tamanho máximo do arquivo de log, respectivamente. Essas configurações são úteis em ambos os tipos de servidores.

   log file = /var/log/samba/log.%m
   max log size = 1000
   logging = file

server role: Define o papel do servidor. Aqui, ele está configurado como standalone server, que é utilizado quando o servidor não faz parte de um domínio e é usado apenas para compartilhamento de arquivos. Para um servidor AD, esta linha deve ser configurada como server role = active directory domain controller.

   server role = standalone server

obey pam restrictions e relacionadas a senha: Essas linhas controlam como as senhas de usuários Unix são sincronizadas com o Samba. Isso é mais relevante para servidores standalone que usam a autenticação local do sistema.

   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes

map to guest: Define como o Samba trata tentativas de logon com usuários inválidos. Aqui, usuários desconhecidos serão mapeados para guest. Isso é comumente usado em servidores standalone com permissões de acesso anônimas ou de convidado.

   map to guest = bad user

Linhas Comentadas para Ambiente AD

No caso de um servidor AD, algumas linhas adicionais, que estão comentadas neste arquivo, podem ser ativadas:

logon path, logon drive e logon script: Estas configurações são utilizadas em um servidor AD para definir o caminho do perfil do usuário, a unidade de logon e scripts de inicialização ao fazer login no domínio. Esses parâmetros são ignorados em um servidor standalone.

; logon path = \\%N\profiles\%U
; logon drive = H:
; logon script = logon.cmd

add user script e add machine script: Usados para adicionar contas de usuários e máquinas automaticamente. Essas configurações são usadas em um servidor AD para integrar o gerenciamento de contas ao controlador de domínio.

; add user script = /usr/sbin/useradd --create-home %u
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u

Compartilhamentos

Agora, vamos explorar as definições de compartilhamento de arquivos e impressoras.

homes: Define o compartilhamento de diretórios pessoais de usuários. Ele não é navegável e só pode ser acessado por usuários válidos. Este compartilhamento pode ser usado em ambos os cenários (standalone e AD), mas em um servidor AD seria associado às pastas pessoais dos usuários do domínio.

[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S

printers: Compartilha impressoras conectadas ao servidor. Esta configuração pode ser usada em qualquer um dos tipos de servidores.

[printers]
   comment = All Printers
   browseable = no
   path = /var/tmp
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

Conclusão

A configuração do Samba depende do tipo de servidor que você está montando. Se o objetivo for apenas compartilhar pastas e impressoras sem logon de usuários, as opções relacionadas ao AD podem ser ignoradas, mantendo o servidor como standalone. Se você estiver configurando um servidor para funcionar como um controlador de domínio AD, será necessário ajustar as opções relacionadas ao logon e à criação de usuários e máquinas.

Por fim, o Samba é flexível e pode ser facilmente adaptado a diferentes cenários de rede, oferecendo uma solução robusta tanto para servidores simples quanto para ambientes corporativos com AD.