O Samba, um software amplamente utilizado para integração de redes Linux e Windows, permite que servidores Linux atuem como controladores de domínio (AD) ou servidores de arquivos. Entre suas funcionalidades mais importantes está a capacidade de gerenciar compartilhamentos de arquivos e diretórios, oferecendo controle granular sobre acessos e permissões. Este artigo tem como objetivo explicar, de forma didática, os conceitos fundamentais para configurar compartilhamentos no Samba AD, ajudando iniciantes a entenderem as possibilidades e melhores práticas.
O que é um Compartilhamento no Samba?
No contexto do Samba, um compartilhamento é um recurso que torna arquivos e diretórios acessíveis a usuários em uma rede. Esses compartilhamentos podem ser configurados para atender a diferentes requisitos, como:
- Segurança: Restringindo o acesso a determinados usuários ou grupos.
- Permissões: Definindo quem pode ler, escrever ou modificar arquivos.
- Facilidade de Gerenciamento: Usando grupos do Active Directory para administrar acessos.
Estrutura do smb.conf
O arquivo de configuração principal do Samba é o smb.conf
. Ele é dividido em seções, como:
- [global]: Configurações gerais, como nome do domínio e autenticação.
- [nome_do_compartilhamento]: Definição de cada compartilhamento, incluindo permissões e comportamento.
Exemplo básico de uma seção de compartilhamento:
[public]
path = /srv/samba/public
read only = no
guest ok = yes
Neste exemplo, o diretório /srv/samba/public
está acessível para qualquer usuário, sem necessidade de autenticação.
Conceitos Fundamentais
1. Usuários e Grupos
No Samba AD, os controles de acesso geralmente são baseados em:
- Usuários: Identificados pelo formato
dominio\usuario
. - Grupos: Definidos no Active Directory, permitem gerenciar permissões de forma centralizada.
2. Permissões de Arquivo
As permissões no Samba são influenciadas por:
- Permissões do sistema de arquivos (chmod, chown).
- Parâmetros do smb.conf, como
read only
ewrite list
.
3. Parâmetros Importantes
- valid users: Especifica quem pode acessar o compartilhamento.
- read only: Controla se os arquivos podem ser apenas lidos.
- write list: Define quem pode escrever, mesmo que
read only = yes
. - force user/group: Garante que os arquivos criados pertençam a um usuário ou grupo.
- create mask e directory mask: Define as permissões padrão para novos arquivos e pastas.
- vfs objects: Habilita módulos extras, como auditoria ou “lixeira”.
Exemplo Prático de Configuração
Vamos supor um cenário onde há um diretório compartilhado para o departamento financeiro, acessível apenas a um grupo do AD chamado finance
.
[financeiro]
path = /srv/samba/financeiro
valid users = @dominio\finance
read only = no
create mask = 0660
directory mask = 0770
force group = finance
vfs objects = recycle
recycle:repository = /srv/samba/lixeira_financeiro
recycle:keeptree = yes
recycle:versions = yes
Explicação:
- path: Diretório compartilhado.
- valid users: Apenas membros do grupo
finance
podem acessar. - read only: Arquivos podem ser modificados.
- create mask: Novos arquivos têm permissão
660
(leitura e escrita para dono e grupo). - vfs objects: Habilita o uso de “lixeira”.
Boas Práticas
- Planeje a Hierarquia de Grupos: Organize os grupos no AD para refletir os níveis de acesso necessários.
- Evite “valid users” Desnecessários: Prefira gerenciar permissões via grupos.
- Testes Frequentes: Use o comando
testparm
para verificar sua configuração antes de aplicá-la. - Auditoria: Considere ativar logs para monitorar o uso de compartilhamentos.
Conclusão
Gerenciar compartilhamentos no Samba AD é uma tarefa essencial para qualquer administrador de sistemas. Entender os conceitos e as configurações do smb.conf
ajuda a criar soluções seguras e eficientes. Se você é iniciante, comece com configurações simples e evolua à medida que ganha confiança.