Configurando SMB/Samba com Autenticação de Usuário, Restrição de IP e Mais Opções Avançadas

· 2 minutos de leitura
Configurando SMB/Samba com Autenticação de Usuário, Restrição de IP e Mais Opções Avançadas

O Samba é uma ferramenta poderosa que permite o compartilhamento de arquivos entre sistemas Linux e Windows. Neste tutorial, vamos configurar um compartilhamento de rede no Samba com autenticação de usuário e senha, restrição por IP, e incluir algumas opções avançadas de segurança e controle de acesso.

Passo 1: Instalar o Samba

Comece instalando o Samba no servidor Linux. Execute os seguintes comandos:

sudo apt update
sudo apt install samba

Passo 2: Criar a Pasta para Compartilhar

Crie a pasta que será compartilhada. No exemplo abaixo, criamos uma pasta chamada compartilhado:

sudo mkdir /compartilhado

Defina permissões para que o Samba possa gerenciar os arquivos corretamente:

sudo chmod 770 /compartilhado

Passo 3: Criar um Usuário Samba

Adicione um usuário para autenticação no Samba. Exemplo com o usuário usuario_smb:

sudo smbpasswd -a usuario_smb

Digite a senha para o usuário quando solicitado.

Passo 4: Configurar o Samba

Faça uma cópia do arquivo de configuração do Samba:

Abra o arquivo de configuração do Samba:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf-backup
sudo nano /etc/samba/smb.conf

Adicione a seguinte configuração ao final do arquivo para configurar a pasta compartilhada:

[compartilhado]
   path = /compartilhado
   browseable = yes
   read only = no
   valid users = usuario_smb
   guest ok = no
   write list = usuario_smb
   force user = nobody
   hosts allow = 192.168.1.100
   create mask = 0660
   directory mask = 0770
   force group = usuarios_samba
   max connections = 10
   veto files = /*.mp3/*.exe/

Explicação Detalhada dos Parâmetros

Básico:

  1. path: Define o caminho da pasta compartilhada no sistema.
  2. browseable: Define se o compartilhamento é visível na rede.
  3. read only: Controla se a pasta é de leitura apenas ou se os usuários podem escrever.
  4. valid users: Lista os usuários que têm permissão de acesso. Neste caso, apenas usuario_smb.
  5. guest ok: Desativa o acesso anônimo (não autenticado).

Controle de Escrita:

  1. write list: Define quem pode escrever, mesmo com o read only = yes. Aqui, o usuario_smb pode modificar os arquivos.
  2. force user: Todos os arquivos criados terão como proprietário o usuário nobody.

Segurança e Restrição de Acesso:

  1. hosts allow: Apenas o IP 192.168.1.100 pode acessar este compartilhamento. Você pode adicionar mais IPs ou faixas de IPs.
  2. create mask: Define as permissões padrão para arquivos criados. 0660 significa que o proprietário e o grupo têm permissões de leitura e escrita.
  3. directory mask: Define as permissões padrão para novos diretórios. 0770 permite leitura, escrita e execução para o proprietário e grupo.
  4. force group: Define que todos os arquivos criados pertencem ao grupo usuarios_samba.
  5. max connections: Limita o número de conexões simultâneas ao compartilhamento para evitar sobrecarga.
  6. veto files: Bloqueia certos tipos de arquivos no compartilhamento, como .mp3 e .exe, por questões de política ou segurança.

Passo 5: Reiniciar o Serviço Samba

Após salvar as alterações, reinicie o serviço para aplicar as novas configurações:

sudo systemctl restart smbd

Passo 6: Permitir o Tráfego Samba no Firewall

Se estiver usando um firewall, libere o tráfego para o Samba:

sudo ufw allow Samba

Passo 7: Testar o Compartilhamento

Acesse o compartilhamento de um computador na rede usando o explorador de arquivos do Windows e insira o IP do servidor Linux:

\\<IP_do_Servidor>

Você será solicitado a inserir o nome de usuário e a senha configurada.

Considerações Finais

Neste tutorial, vimos como configurar o Samba com autenticação, restrição de IP e várias opções avançadas. Isso proporciona maior segurança e controle sobre quem pode acessar e o que pode ser feito no compartilhamento de arquivos. Com esses ajustes, você tem uma base sólida para criar compartilhamentos seguros e eficientes em um ambiente de rede.

Se tiver dúvidas, deixe um comentário abaixo!