15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
31.10.2024

Como Instalar e Configurar Samba no Ubuntu: Um Guia Completo Passo a Passo

Samba é um poderoso conjunto de software de código aberto que permite o compartilhamento contínuo de arquivos e impressoras entre computadores executando Windows e sistemas operacionais tipo Unix, como Ubuntu. Ao instalar e configurar adequadamente o Samba, você pode preencher a lacuna entre ambientes Linux e Windows, permitindo que usuários em ambas as plataformas compartilhem arquivos, diretórios e até impressoras em uma rede local ou de longa distância.

Quer você esteja gerenciando um laboratório doméstico, uma rede de pequena empresa ou um ambiente de servidor de produção, este guia abrangente o orienta em cada etapa da instalação, configuração e proteção do Samba no Ubuntu — incluindo opções avançadas que a maioria dos tutoriais ignora.

Pré-requisitos

Antes de começar, certifique-se de que você tem:

  • Um servidor ou máquina executando Ubuntu 20.04, 22.04 ou 24.04
  • Acesso Sudo ou root ao sistema
  • Uma compreensão básica da linha de comando Linux
  • Conectividade de rede entre as máquinas que você deseja conectar

Se você estiver executando Samba em um servidor remoto, um ambiente de hospedagem confiável e de alto desempenho é essencial. VPS Hosting da AlexHost oferece acesso root completo, recursos dedicados e a flexibilidade para configurar seu servidor exatamente como necessário.

Passo 1: Atualizar Pacotes do Sistema

Antes de instalar qualquer novo software, é crítico atualizar o índice de pacotes do seu sistema e atualizar os pacotes existentes para suas versões mais recentes. Isso garante compatibilidade e protege contra vulnerabilidades conhecidas.

sudo apt update && sudo apt upgrade -y

Aguarde a conclusão do processo antes de prosseguir.

Passo 2: Instalar Samba

Instale o pacote Samba usando o gerenciador de pacotes APT:

sudo apt install samba -y

Após a conclusão da instalação, verifique se foi bem-sucedida verificando a versão do Samba:

smbd --version

Você deve ver uma saída semelhante a:

Version 4.15.13-Ubuntu

Você também pode verificar se o serviço Samba está em execução:

sudo systemctl status smbd

A saída deve mostrar o serviço como active (running).

Passo 3: Fazer Backup do Arquivo de Configuração Padrão do Samba

Antes de fazer qualquer alteração, sempre faça backup do arquivo de configuração original. Isso permite restaurar os padrões se algo der errado:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Esta é uma prática recomendada que muitos guias ignoram, mas que administradores de sistema experientes sempre seguem.

Passo 4: Criar e Configurar um Diretório Compartilhado

4.1 Criar o Diretório

Decida qual diretório você deseja compartilhar pela rede. Para este guia, criaremos uma pasta dedicada chamada shared dentro do diretório inicial:

mkdir ~/shared

4.2 Definir Permissões do Diretório

Defina as permissões apropriadas no diretório. Para um ambiente compartilhado onde vários usuários precisam de acesso de leitura e escrita:

chmod 777 ~/shared

> Nota de Segurança: A configuração chmod 777 concede permissões completas de leitura, escrita e execução a todos os usuários. Embora conveniente para testes, isso não é recomendado para ambientes de produção. Em uma configuração de produção, use permissões mais restritivas, como chmod 770 e gerencie o acesso por meio da associação de grupo.

Passo 5: Configurar Samba — Editar smb.conf

Abra o arquivo de configuração principal do Samba usando um editor de texto:

sudo nano /etc/samba/smb.conf

Role até o final do arquivo e adicione o seguinte bloco de configuração:

[SharedFolder]
   path = /home/username/shared
   available = yes
   valid users = username
   read only = no
   browsable = yes
   public = yes
   writable = yes

Substitua username pelo seu nome de usuário real do Ubuntu.

Compreendendo Cada Diretiva

DiretivaDescrição
pathO caminho absoluto para o diretório sendo compartilhado
availableSe o compartilhamento está disponível para usuários
valid usersRestringe o acesso aos usuários listados
read onlyDefina como no para permitir acesso de escrita
browsableSe o compartilhamento aparece ao navegar pela rede
publicPermite acesso sem autenticação (use com cuidado)
writablePermite que usuários escrevam arquivos no compartilhamento

Após fazer suas alterações, salve o arquivo pressionando CTRL + O, depois Enter e saia com CTRL + X.

Validar a Configuração

Antes de reiniciar o Samba, teste seu arquivo de configuração para erros de sintaxe:

testparm

Este comando analisa o arquivo smb.conf e relata qualquer problema. Corrija qualquer erro antes de prosseguir.

Passo 6: Criar uma Conta de Usuário Samba

Samba mantém seu próprio banco de dados de senhas separado das senhas do sistema Linux padrão. Você deve adicionar uma senha específica do Samba para qualquer usuário que precise acessar o compartilhamento.

sudo smbpasswd -a username

Você será solicitado a inserir e confirmar uma senha. Esta senha será necessária ao conectar à pasta compartilhada de uma máquina Windows ou Linux remota.

> Dica: Use uma senha forte e única para cada usuário Samba. Evite reutilizar senhas do sistema.

Para ativar a conta de usuário no Samba (se foi desativada anteriormente):

sudo smbpasswd -e username

Passo 7: Configurar o Firewall

Se você tiver UFW (Uncomplicated Firewall) ativado no seu servidor Ubuntu, você precisa permitir o tráfego Samba através do firewall:

sudo ufw allow samba

Verifique se a regra foi adicionada:

sudo ufw status

Samba usa as seguintes portas:

  • TCP 445 — SMB sobre TCP (principal)
  • TCP 139 — Serviço de sessão NetBIOS
  • UDP 137 & 138 — Serviços de nome e datagrama NetBIOS

Passo 8: Reiniciar e Ativar Serviços Samba

Aplique suas alterações de configuração reiniciando os serviços Samba:

sudo systemctl restart smbd
sudo systemctl restart nmbd

Ative ambos os serviços para iniciar automaticamente na inicialização do sistema:

sudo systemctl enable smbd
sudo systemctl enable nmbd

O serviço nmbd lida com a resolução de nomes NetBIOS, que é importante para que clientes Windows descubram seu servidor Samba por nome na rede local.

Passo 9: Acessar a Pasta Compartilhada de um Sistema Windows

De qualquer computador Windows na mesma rede, você agora pode conectar ao seu compartilhamento Samba do Ubuntu:

  1. Abra o Explorador de Arquivos
  2. Na barra de endereços, digite o caminho de rede para sua máquina Ubuntu:
   ubuntu_ip_addressSharedFolder

Substitua ubuntu_ip_address pelo endereço IP real do seu servidor Ubuntu (por exemplo, 192.168.1.100SharedFolder)

  1. Quando solicitado, insira o nome de usuário Samba e senha que você configurou no Passo 6
  2. A pasta compartilhada agora aparecerá no Explorador de Arquivos, e você pode ler, escrever, copiar e excluir arquivos como faria com qualquer pasta local

Mapear o Compartilhamento como uma Unidade de Rede (Opcional)

Para acesso persistente, você pode mapear o compartilhamento Samba como uma unidade de rede no Windows:

  1. Clique com o botão direito em Este PC no Explorador de Arquivos
  2. Selecione Mapear unidade de rede
  3. Escolha uma letra de unidade e insira o caminho de rede
  4. Marque Reconectar ao entrar para montagem automática

Passo 10: Acessar o Compartilhamento Samba de Outro Sistema Linux

Em outra máquina Linux, você pode conectar ao compartilhamento Samba usando a ferramenta de linha de comando smbclient.

Primeiro, instale smbclient se ainda não estiver presente:

sudo apt install smbclient -y

Depois conecte ao compartilhamento:

smbclient //ubuntu_ip_address/SharedFolder -U username

Insira a senha Samba quando solicitado. Você será colocado em um shell interativo semelhante a FTP onde pode usar comandos como ls, get, put e cd para navegar e transferir arquivos.

Montar o Compartilhamento Samba no Linux

Para uma experiência mais contínua, você pode montar o compartilhamento Samba como um sistema de arquivos local usando cifs-utils:

sudo apt install cifs-utils -y
sudo mkdir /mnt/samba_share
sudo mount -t cifs //ubuntu_ip_address/SharedFolder /mnt/samba_share -o username=username,password=yourpassword

Para tornar a montagem persistente entre reinicializações, adicione uma entrada a /etc/fstab:

//ubuntu_ip_address/SharedFolder /mnt/samba_share cifs username=username,password=yourpassword,_netdev 0 0

> Dica de Segurança: Em vez de armazenar credenciais em /etc/fstab, use um arquivo de credenciais com permissões restritas.

Passo 11: Opções Avançadas de Configuração do Samba

O smb.conf do Samba suporta uma ampla gama de diretivas que lhe dão controle refinado sobre seu ambiente de compartilhamento de arquivos. Aqui estão as opções avançadas mais úteis:

Acesso Somente Leitura

Para impedir que usuários modifiquem arquivos em um compartilhamento, defina:

read only = yes

Acesso de Convidado (Compartilhamentos Anônimos)

Para permitir que usuários se conectem sem uma senha:

guest ok = yes
public = yes

> Use acesso de convidado apenas em redes confiáveis e isoladas. Nunca o ative em um servidor voltado para o público.

Restringir Acesso por Endereço IP

Para limitar quais máquinas podem se conectar a um compartilhamento:

hosts allow = 192.168.1.0/24
hosts deny = ALL

Isso restringe o acesso a máquinas na sub-rede 192.168.1.x apenas.

Múltiplas Pastas Compartilhadas

Você pode definir quantos compartilhamentos forem necessários adicionando blocos adicionais a smb.conf:

[Documents]
   path = /home/username/documents
   valid users = username
   read only = no
   writable = yes

[Backups]
   path = /srv/backups
   valid users = admin
   read only = yes
   browsable = no

Definir Conexões Máximas

Para limitar o número de conexões simultâneas a um compartilhamento:

max connections = 10

Forçar um Usuário ou Grupo Específico

Para garantir que todos os arquivos sejam criados com propriedade de usuário ou grupo específica:

force user = samba_user
force group = samba_group

Passo 12: Proteger Sua Instalação Samba

A segurança é fundamental, especialmente se seu servidor Samba for acessível além da sua rede local. Siga estas práticas recomendadas de endurecimento:

1. Desativar Acesso de Convidado

A menos que explicitamente necessário, sempre desative o acesso anônimo:

map to guest = Never

2. Usar Senhas Fortes

Aplique senhas fortes e únicas para todos os usuários Samba. Evite palavras de dicionário e use uma combinação de letras maiúsculas, minúsculas, números e símbolos.

3. Restringir Visibilidade de Compartilhamento

Defina browsable = no em compartilhamentos sensíveis para que não apareçam ao navegar pela rede. Usuários que conhecem o caminho exato ainda podem se conectar.

4. Limitar Permissões em Diretórios Compartilhados

Aplique o princípio do menor privilégio — conceda apenas as permissões que os usuários realmente precisam. Evite chmod 777 em produção.

5. Vincular Samba a uma Interface Específica

Se seu servidor tiver várias interfaces de rede, vincule Samba apenas à interface interna:

[global]
   interfaces = eth0 lo
   bind interfaces only = yes

6. Ativar Logging

Ative o logging do Samba para monitorar o acesso e detectar atividades suspeitas:

[global]
   log file = /var/log/samba/log.%m
   max log size = 1000
   log level = 1

7. Manter Samba Atualizado

Atualize regularmente o Samba para corrigir vulnerabilidades de segurança conhecidas:

sudo apt update && sudo apt upgrade samba -y

Escolher o Ambiente de Hospedagem Certo para Seu Servidor Samba

O desempenho e a confiabilidade do seu servidor de arquivos Samba dependem muito da infraestrutura subjacente. Aqui estão algumas opções de hospedagem a considerar com base em seu caso de uso:

  • Pequenas equipes e projetos pessoais: Hospedagem Web Compartilhada oferece um ponto de entrada acessível para cargas de trabalho leves.
  • Empresas em crescimento e equipes de desenvolvimento: VPS Hosting oferece recursos dedicados, acesso root completo e a escalabilidade necessária para executar Samba junto com outros serviços.
  • Cargas de trabalho de alto desempenho ou empresariais: Servidores Dedicados oferecem desempenho máximo, capacidade de armazenamento e taxa de transferência de rede — ideais para ambientes de compartilhamento de arquivos em larga escala.
  • Aplicações de IA e intensivas em dados: Se você estiver executando Samba junto com cargas de trabalho de aprendizado de máquina ou processamento de dados, Hospedagem GPU fornece o poder de computação que você precisa.

Para equipes que também precisam de uma experiência de painel de controle gerenciado, VPS com cPanel

15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar