Samba Linux: Instalar e Configurar Servidor de Arquivos no Ubuntu

Samba Linux Instalar e Configurar Servidor de Arquivos no Ubuntu

Se você deseja tornar o compartilhamento de arquivos entre sistemas Linux e Windows mais fácil e eficiente, o Samba é a solução ideal. Neste guia, vamos mostrar passo a passo como instalar e configurar o servidor de arquivos Samba no sistema operacional Ubuntu. Com o Samba, você pode criar um ambiente de rede perfeito para compartilhar recursos entre diferentes computadores, independentemente do sistema operacional que eles utilizem.

O que é o Samba Linux?

O Samba é uma implementação do protocolo SMB/CIFS, que permite a interoperabilidade entre sistemas Linux e Windows. Isso significa que você pode compartilhar pastas, arquivos e até mesmo impressoras em uma rede local, sem complicações. O Samba é amplamente utilizado em ambientes empresariais e domésticos devido à sua eficácia e facilidade de uso.

O Samba é normalmente instalado e executado em sistemas Linux e consiste em vários programas que servem a diferentes propósitos, sendo os dois mais importantes:

Como Instalar o Servidor Samba no Ubuntu

O Samba está incluído na maioria das distribuições Linux. Para instalar o Samba no Ubuntu, basta executar o seguinte comando no terminal:


sudo apt install samba samba-common-bin

Para verificar a versão do Samba, execute:


smbd --version

Para verificar se o serviço Samba está em execução, emita o seguinte comando:


systemctl status smbd nmbd

Para iniciar esses dois serviços, emita o seguinte comando:


sudo systemctl start smbd nmbd

Uma vez iniciado, o smbd estará ouvindo na porta TCP 139 e 445, enquanto o nmbd estará ouvindo nas portas UDP 137 e 138.

  • TCP 139: usado para compartilhamento de arquivos e impressoras e outras operações.
  • TCP 445: a porta CIFS sem NetBIOS.
  • UDP 137: usado para navegação na rede NetBIOS.
  • UDP 138: usado para serviço de nome NetBIOS.

Se você habilitou o firewall UFW no Ubuntu, será necessário abrir as portas acima no firewall com o seguinte comando:


sudo ufw allow samba

Criando um Compartilhamento Privado no Samba

Nesta seção, vamos ver como criar um compartilhamento Samba privado que requer que o cliente insira um nome de usuário e senha para ter acesso. O arquivo de configuração principal do Samba está localizado em /etc/samba/smb.conf e pode ser editado no terminal com um editor de texto de linha de comando.


sudo nano /etc/samba/smb.conf

//ou

sudo gedit

Na seção [global], certifique-se de que o valor do Grupo de trabalho (workgroup) seja o mesmo das configurações de grupo de trabalho dos computadores Windows. No exemplo abaixo, laboratório 213. Você pode encontrar a configuração no seu computador Windows indo para Painel de Controle > Sistema e Segurança > Sistema.


workgroup = 213

Role até o final do arquivo smb.con e adicione uma nova seção da seguinte forma:


[Private]
	comment = Necessita de senha para entrar!
	path = /home/aluno/private/
	browseable = yes
	guest ok = no
	writable = yes
	valid users = @aluno
	
   
    

Explicação:

  • private é o nome da pasta que será exibido na rede Windows.
  • comment é uma descrição para a pasta compartilhada.
  • path especifica o caminho para a pasta compartilhada. Estou usando /home/aluno/private/ como exemplo, mas você também pode usar uma pasta no seu diretório pessoal.
  • browseable = yes: Permite que outros computadores na rede vejam o servidor Samba e o compartilhamento Samba. Se definido como no, os usuários precisam saber o nome do servidor Samba e, em seguida, inserir manualmente um caminho no gerenciador de arquivos para acessar a pasta compartilhada.
  • guest ok = no: Desativa o acesso de convidados. Em outras palavras, é necessário inserir nome de usuário e senha no computador cliente para acessar a pasta compartilhada.
  • writable = yes: Concede permissão de leitura e gravação aos clientes.
  • valid users = @aluno: Apenas os usuários no grupo samba podem acessar esse compartilhamento Samba.

Salve e feche o arquivo. (Para salvar o arquivo no editor de texto nano, pressione Ctrl+O e depois pressione Enter para confirmar o nome do arquivo a ser gravado. Para fechar o arquivo, pressione Ctrl+X.) Agora precisamos criar um usuário Samba.

Primeiro, é necessário criar uma conta de usuário Linux padrão com o seguinte comando. Substitua nome de usuário pelo nome de usuário desejado.


sudo adduser aluno

Você será solicitado a definir uma senha. Após isso, também é necessário definir uma senha Samba separada para o novo usuário com o seguinte comando:


sudo smbpasswd -a aluno

Crie o grupo Samba.


sudo groupadd samba

E adicione este usuário ao grupo Samba.


sudo gpasswd -a aluno samba

Crie a pasta de compartilhamento privado.


sudo mkdir -p /home/aluno/private/

O grupo Samba precisa ter permissão de leitura, gravação e execução na pasta compartilhada. Você pode conceder essas permissões executando o seguinte comando. (Se o seu sistema não tiver o comando setfacl, será necessário instalar o pacote acl com sudo apt install acl.)


sudo setfacl -R -m "g:samba:rwx" /home/aluno/private/

Em seguida, execute o seguinte comando para verificar se há erros de sintaxe.


testparm

Agora, tudo o que resta a fazer é reiniciar os daemons smbd e nmbd.


sudo systemctl restart smbd nmbd

Como Criar um Compartilhamento Público no Samba Sem Autenticação

Para criar um compartilhamento público sem exigir nome de usuário e senha, as seguintes condições devem ser atendidas:

  • Defina guest ok = yes na definição de compartilhamento para permitir acesso de convidados.
  • Conceda permissão de leitura, gravação e execução na pasta pública à conta nobody, que é a conta de convidado padrão.

Primeiro, abra e edite o arquivo de configuração do Samba.


sudo nano /etc/samba/smb.conf

//ou

sudo gedit

Na seção [global], certifique-se de que o valor do Grupo de trabalho (workgroup) seja o mesmo das configurações de grupo de trabalho dos computadores Windows. No exemplo abaixo, laboratório 213. Você pode encontrar a configuração no seu computador Windows indo para Painel de Controle > Sistema e Segurança > Sistema.

A parte acima já foi configurada no segundo passo da Criação do Compartilhamento Privado no topo do Post.

Role até o final do arquivo e cole as seguintes linhas.


[public]
	comment = public share, no need to enter username and password
	path = /home/aluno/public/
	browseable = yes
	writable = yes
	guest ok = yes	
    
    
smb.conf Ubuntu
Esse é o resultado da configuração das pastas no arquivo smb.conf

Salve e feche o arquivo. Em seguida, crie a pasta /home/aluno/public/.


sudo mkdir -p /home/aluno/public/

Em seguida, certifique-se de que a conta nobody tenha permissão de leitura, gravação e execução na pasta pública executando o seguinte comando. (Se o seu sistema não tiver o comando setfacl, será necessário instalar o pacote acl com sudo apt install acl.)


sudo setfacl -R -m "u:nobody:rwx" /home/aluno/public/

Reinicie o smbd e o nmbd.


sudo systemctl restart smbd nmbd

Acessando a Pasta Compartilhada do Samba a Partir do Windows

Em um computador Windows que esteja na mesma rede (Workgroup = 213), abra o Explorador de Arquivos e clique em Rede no painel esquerdo. Se você vir a seguinte mensagem, clique na mensagem e ative a descoberta de rede e o compartilhamento de arquivos.

Se estiver usando uma máquina virtual, leia as instruções

Configure a placa de rede para: Placa de rede exclusiva para Hospedeiro

Tenha certeza que está na mesma rede da maquina virtual, digite hostname -I e pegue o IP da Rede.

Em seguida, insira \\ seguido pelo endereço IP do servidor Samba na barra de endereços do Explorador de Arquivos, como \\192.168.56.101 Você verá uma lista de recursos compartilhados no servidor Samba.

rede windows com samba Ubuntu

Em seguida, clique duas vezes na pasta compartilhada. Para acessar o compartilhamento privado, você precisará inserir o nome de usuário e a senha do Samba. Não é necessário fazer isso para acessar o compartilhamento público.

Uma vez conectado, você pode ler, gravar e excluir arquivos na pasta compartilhada do Samba.

Conclusão

O Samba é uma ferramenta poderosa para compartilhar arquivos e recursos em uma rede local. Com os passos acima, você pode instalar e configurar o servidor de arquivos Samba no Ubuntu de forma rápida e eficaz. Lembre-se de manter as permissões adequadas e configurar as pastas compartilhadas conforme necessário.

Agora, você está pronto para compartilhar arquivos entre sistemas Linux e Windows em sua rede local de maneira simples e eficiente.

Perguntas Frequentes (FAQs)

Como faço para acessar a pasta compartilhada em um computador Windows?

No Explorador de Arquivos do Windows, digite \\nome_do_servidor\samba na barra de endereço e pressione Enter. Faça login com as credenciais necessárias.

Posso compartilhar uma impressora usando o Samba?

Sim, o Samba permite compartilhar impressoras em sua rede local. Basta configurá-las no arquivo de configuração do Samba.

É seguro compartilhar pastas usando o Samba?

Sim, desde que você configure as permissões corretamente e use senhas fortes para proteger o acesso aos recursos compartilhados.

Posso acessar recursos compartilhados em um sistema Linux?

Sim, você pode acessar recursos compartilhados em um sistema Linux usando o Samba. Use um cliente SMB/CIFS para se conectar aos compartilhamentos.

Existem alternativas ao Samba para compartilhar arquivos entre sistemas Linux e Windows?

Sim, outras alternativas incluem o NFS (Network File System), que também é eficaz para compartilhar arquivos entre sistemas diferentes. A escolha depende das necessidades específicas do seu ambiente de rede.

O que é o Samba no Linux?

O Samba no Linux é uma aplicação que permite o compartilhamento de arquivos e impressoras entre sistemas Linux e Windows em uma rede. Ele é útil para tornar a comunicação entre sistemas diferentes mais fácil e eficiente, garantindo a interoperabilidade.

Prof. Eduardo H Gomes
Prof. Eduardo H Gomes

Mestre em Engenharia da Informação, Especialista em Engenharia da Computação, Cientista da Computação, Professor de Inteligência Artificial no IFSP, 18 anos de docência no Ensino Superior. Apaixonado por Surf, Paraglider, Mergulho livre, Tecnologia, SEO, Banco de Dados e Desenvolvimento Web.