Como configurar um Servidor Samba no Linux

O que é SAMBA?

Samba” é um software de código aberto que permite a interoperabilidade entre sistemas baseados em Linux/Unix e sistemas Windows. O Samba é utilizado para compartilhar recursos, como arquivos e impressoras, em uma rede que inclui computadores com diferentes sistemas operacionais.

Ele implementa o protocolo SMB (Server Message Block), também conhecido como CIFS (Common Internet File System), que é amplamente utilizado em sistemas Windows para compartilhar recursos de rede. Com o Samba, um computador Linux pode atuar como um servidor de arquivos que compartilha pastas e impressoras com computadores Windows, permitindo que os usuários acessem e interajam com esses recursos de forma transparente, como se estivessem em uma rede Windows.

Conteúdo:

Instalação do Samba

A instalação do servidor Samba é relativamente simples. Este tutorial passo a passo será baseado nas distribuições mais comuns, como Ubuntu e Debian. Se você tiver alguma dúvida sobre um comando específico para sua distribuição, pode consultar a lista de comandos Linux para encontrar o correspondente à sua distribuição.

Em primeiro lugar, vamos atualizar os pacotes já instalados.

sudo apt-get update

então vamos instalar o samba

sudo apt-get install samba

agora confirme que o samba está rodando

systemctl status smbd

Criar um diretório para o compartilhamento

Precisamos criar um diretório onde os arquivos compactados serão armazenados. Para isso, utilize o comando a seguir:

sudo mkdir -p /home/compartilhamento

Configuração do Samba

Configurando as opções globais

Vamos configurar o arquivo smb.conf que se encontra em /etc/samba/smb.conf

sudo nano /etc/samba/smb.conf

Configure os parâmetros de acordo com o que você precisa. Abaixo, segue a descrição dos mais importantes.

workgroup = Workgroup

Este é o nome do grupo de trabalho que já vem configurado por padrão no Windows. Caso você tenha alterado o nome do grupo na sua máquina Windows, coloque o mesmo nome aqui.

server string = samba_server

Este é o nome do compartilhamento. Deixe como padrão ou altere conforme desejar.

Antes de prosseguir para os próximos parâmetros, digite o comando abaixo para descobrir o nome da sua placa de rede:

ip link

Com o nome da interface, você pode editar os parâmetros abaixo. ‘lo’ é o loopback, ‘eth0’ é sua placa de rede externa. Altere para o nome da sua placa

interfaces = lo eth0

Vincula a interface de rede que será usada no servidor Samba.

bind interfaces only = yes

Essa opção deve sempre ser configurada como ‘yes’.

server role = standalone server

Essa opção define o tipo de servidor Samba e deve ser configurada como standalone server

Essas são as configurações principais. Salve o arquivo, saia e execute o comando abaixo:

testparm

Se tudo correu bem, deve aparecer uma mensagem como esta: ‘Loaded services file OK’, mostrando que não há erros de sintaxe. A configuração global está feita. Agora, vamos criar usuários.

Criando Usuários

É necessário criar uma senha para este usuário. Lembre-se de que o usuário deve existir no sistema. Caso contrário, crie-o primeiro com o comando abaixo:

sudo adduser novo_usuario

criando a senha para o usuario:

sudo smbpasswd -a novo_usuario

Agora, vamos garantir o acesso de leitura, gravação e execução no diretório compartilhado (rwx). Usaremos o comando ‘setfacl’ da seguinte forma:

sudo setfacl -R -m "u:novo_usuario:rwx" /home/compartilhamento

Configurações do Diretório Compartilhado

Vamos abrir novamente o arquivo de configuração do Samba e adicionar algumas linhas no final do arquivo

[sharing]
comment = Compartilhamento Samba
path = /home/compartilhamento
read only = no
writable = yes
browseable = yes
guest ok = no
valid users = @novo_usuario

salve as alterações e saia.

Teste o arquivo para verificar se há algum problema de sintaxe

testparm

Configurando o Firewall

Caso o seu sistema possua um firewall instalado, você precisará utilizar o comando abaixo para abrir as portas necessárias para executar o servidor

Ufw firewall:

sudo ufw allow samba

Iptables:

sudo iptables -A INPUT -p udp -m udp --dport 137 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 138 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT

Com a configuração finalizada, vamos reiniciar o servidor Samba

sudo systemctl restart smbd

Conectando ao Servidor Samba

Para acessar o compartilhamento no Linux, você pode abrir o link abaixo em algum gerenciador de arquivos.

smb://endereco-ip/compartilhamento

Irá abrir um prompt solicitando o nome de usuário e a senha. Digite suas credenciais previamente configuradas.

No Windows, o processo é semelhante, apenas o formato do link é diferente, como mostrado abaixo

\\endereco-ip\compartilhamento

Deixe um comentário