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 -yAguarde 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 -yApós a conclusão da instalação, verifique se foi bem-sucedida verificando a versão do Samba:
smbd --versionVocê deve ver uma saída semelhante a:
Version 4.15.13-UbuntuVocê também pode verificar se o serviço Samba está em execução:
sudo systemctl status smbdA 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.bakEsta é 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 ~/shared4.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.confRole 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 = yesSubstitua username pelo seu nome de usuário real do Ubuntu.
Compreendendo Cada Diretiva
| Diretiva | Descrição |
|---|---|
path | O caminho absoluto para o diretório sendo compartilhado |
available | Se o compartilhamento está disponível para usuários |
valid users | Restringe o acesso aos usuários listados |
read only | Defina como no para permitir acesso de escrita |
browsable | Se o compartilhamento aparece ao navegar pela rede |
public | Permite acesso sem autenticação (use com cuidado) |
writable | Permite 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:
testparmEste 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 usernameVocê 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 usernamePasso 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 sambaVerifique se a regra foi adicionada:
sudo ufw statusSamba 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 nmbdAtive ambos os serviços para iniciar automaticamente na inicialização do sistema:
sudo systemctl enable smbd
sudo systemctl enable nmbdO 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:
- Abra o Explorador de Arquivos
- Na barra de endereços, digite o caminho de rede para sua máquina Ubuntu:
ubuntu_ip_addressSharedFolderSubstitua ubuntu_ip_address pelo endereço IP real do seu servidor Ubuntu (por exemplo, 192.168.1.100SharedFolder)
- Quando solicitado, insira o nome de usuário Samba e senha que você configurou no Passo 6
- 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:
- Clique com o botão direito em Este PC no Explorador de Arquivos
- Selecione Mapear unidade de rede
- Escolha uma letra de unidade e insira o caminho de rede
- 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 -yDepois conecte ao compartilhamento:
smbclient //ubuntu_ip_address/SharedFolder -U usernameInsira 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=yourpasswordPara 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 = yesAcesso 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 = ALLIsso 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 = noDefinir Conexões Máximas
Para limitar o número de conexões simultâneas a um compartilhamento:
max connections = 10Forç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_groupPasso 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 = Never2. 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 = yes6. 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 = 17. Manter Samba Atualizado
Atualize regularmente o Samba para corrigir vulnerabilidades de segurança conhecidas:
sudo apt update && sudo apt upgrade samba -yEscolher 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
