Instalando o Samba
sudo apt install samba
Depois de concluído o download/ instalação do pacote via APT, o sistema irá criar o arquivo smb.conf dentro da pasta “/etc/samba/”. Este é responsável pela configuração do Samba.
Antes de mais nada, vamos fazer um back-up do arquivo:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp
Pronto! Samba instalado, temos que dizer para ele como fazer o compartilhamento. Lembra que o Samba utiliza o protocolo SMB para realizar os compartilhamentos? Então vamos configurar como o Samba realizará o compartilhamento por meio desse protocolo.
Para isso podemos usar o arquivo do próprio Samba chamado: smb.conf
. Este arquivo fica no diretório /etc/samba
.
Algumas vezes esse arquivo vem com um exemplo de configuração, porém como vamos fazer a nossa própria configuração, podemos apagá-la.
Vimos que mesmo conectando o computador na rede, ele não tem acesso ao compartilhamento. Isso porque nosso servidor não faz parte do mesmo grupo de trabalho (workgroup
) do computador.
Podemos dizer isso para o Samba, especificando qual o grupo de trabalho do compartilhamento.
Mas temos que configurar esse grupo de trabalho em todas as pastas que forem compartilhadas?
Não, esses tipos de configurações globais podemos configurá-las uma única vez. Para isso abrimos uma seção global ([global]
).
Neste caso, o nome do grupo de trabalho será o caminho do servidor no domínio:
[global]
workgroup = servidor01.acme.corp
Como as máquinas Windows saberão quem é o servidor rede? Ele precisa de um nome certo?
O Windows utiliza uma API chamada NetBIOS para nomear as máquinas em sua rede. Como queremos dizer o nome do servidor, podemos usar o netbios name
:
[global]
workgroup = servidor01.acme.corp
netbios name = servidor01
Acabamos nossas configurações globais. Hum… mas ainda não especificamos qual será o compartilhamento… Como podemos fazer isso?
Para especificar o compartilhamento, basta abrir outra seção, como abrimos em [global]
, só que agora com o nome do compartilhamento.
No meu caso, eu quero compartilhar a pasta pública, logo, vou chamar meu compartilhamento assim.
[global]
workgroup = servidor01.acme.corp
netbios name = servidor01
[publica]
Mas não basta dizer qual o nome do compartilhamento, temos que dizer onde o diretório compartilhado se encontra no servidor. Ou seja, precisamos dizer o caminho (path
) até a pasta.
Neste caso, a pasta se chama publica
, e está dentro de outra pasta chamada compartilhamento
:
[global]
workgroup = servidor01.acme.corp
netbios name = servidor01
[publica]
path = /compartilhamento/publica
E como o computador Windows conseguirá achar essa pasta? Precisamos falar que esse diretório poderá ser encontrado (browseable
):
#Configurações globais
[publica]
path = /compartilhamento/publica
browseable = yes
O sócio da empresa precisa salvar e alterar alguns arquivos que estão contidos nesta pasta. Logo ela precisa escrever (writable
) essas mudanças, isto é, salvá-las de fato.
Ou seja, se ela consegue escrever essas informações, o diretório não é apenas para a leitura dos arquivos (read only
).
#Configurações globais
[publica]
path = /compartilhamento/publica
browseable = yes
writable = yes
read only = no
Configurações terminadas! Mas como o Samba vai saber que esta é a configuração para ser utilizada?
Nós podemos reiniciar o serviços que fazem parte do Samba, dessa forma ele já passa a usar a nossa configuração. O Samba usa dois serviços para realizar o compartilhamento. Um já vimos, é o smb, o outro é chamado de nmb.
O nmb é o serviço que entende as requisições feitas pela API NetBIOS.
Reinicie os serviços
sudo systemclt restart smbd
sudo systemclt restart nmbd