Home / Dicas e Tutoriais / Crie Seu Servidor de Arquivos com o Samba no Ubuntu 18.04 LTS

Crie Seu Servidor de Arquivos com o Samba no Ubuntu 18.04 LTS

Olá pessoal, tudo bem?

A última vez que postei esse artigo foi para o Ubuntu 14.04 LTS. Depois disso a Canonical lançou já 2 versões LTS seguintes, a 16.04 e a 18.04. Pois bem, antes que chegue a próxima, vamos atualizar esse artigo passando o passo a passo para montar seu servidor de arquivos com Samba e utilizando a versão mais nova dele, bem como a do Ubuntu LTS.

Sobre um Servidor de Arquivos

Toda empresa precisa de um servidor de arquivos. É um servidor que concentra arquivos para diferentes departamentos e com diferentes usuários cadastrados e níveis de permissão. É possível fazer isso de forma bem fácil e gratuita com um leve servidor Linux rodando o Samba tranquilamente, o que ótimo para qualquer empresa, especialmente quando se deseja poupar o dinheiro que seria gasto com licenciamento de um servidor da Microsoft. Se você é da área de TI, poderá utilizar esse tutorial para implementar um servidor de arquivos na empresa em que trabalha e ganhar alguns pontos.

Sobre a infra deste Laboratório

Antes de divulgar quaisquer procedimentos para servidores eu sempre faço o procedimento em ambiente de máquina virtual para que tudo funcione corretamente. Nos meus testes usei o Ubuntu 18.04.1 LTS Desktop instalado em Virtualbox, (mas você poderá usar o Ubuntu Server se quiser). No Virtualbox estou usando o mode de rede em Bridge (que recebe um IP do mesmo roteador de sua máquina física, então ele fica na mesma rede das máquinas conectadas à rede física), e o endereço usado foi 192.168.1.36. O nome de usuário que usei foi o meu mesmo “cleuber”, por isso minha pasta Home é “/home/cleuber/” e lá que eu vou criar as pastas para compartilhar (mas você poderá criá-las onde quiser). Como máquinas cliente estou usando minha própria máquina física que é um elementary OS 5.0 Juno, e outra que é o Windows 10, também no Virtualbox.

Para minha surpresa e alegria o procedimento continua quase o mesmo, o que fica mais fácil redigir este post. O que mudou mesmo foi que as versões mais recentes do Ubuntu mudou-se o sistema de gerenciamento de serviços do Init.d para o Systemclt. Então lá vai!

1 – Instalar o Samba

Primeiramente vamos instalar os seguintes pacotes:

sudo apt-get install samba samba-common python-glade2 system-config-samba

2 – Checar status do serviço

Depois de instalado podemos checar o status do serviço com o seguinte comando

sudo service smbd status

Ok, Samba no ar!

3 – Configurando – Criando os Compartilhamentos

Agora podemos começar criando e compartilhando as pastas.

3.1 – Criar pastas para compartilhar

Irei criar duas pastas dentro do meu diretório Home.
Uma delas será usada para mostrar o compartilhamento com autenticação e a outra para compartilhamento sem autenticação (guest – convidado)

E para isso usarei os seguintes comandos:

sudo mkdir arquivos-lab
sudo mkdir arquivos-temporarios

3.2 – Alterar as permissões das pastas

sudo chmod -R 755 ~/arquivos-lab
sudo chmod -R 777 ~/arquivos-temporarios

Como eu comentei antes, estas duas pastas no meu caso estarão na minha pasta home (/home/cleuber).

3.3 – Criando usuários.

Criaremos agora um usuário do Linux para autenticação quando for acessar a pasta arquivos-lab

sudo adduser arquivos-lab

Automaticamente ele irá pedir a senha deste novo usuário. No meu caso defini a senha como “123” e então basta pressionar “enter” até o fim e confirmar com “s”.

3.4 – Criando grupo

Criaremos agora um grupo para autenticação quando for acessar a pasta arquivos-lab

sudo addgroup arquivos-lab

Agora vamos adicionar o usuário arquivos-lab ao grupo arquivos-lab

sudo usermod -a -G arquivos-lab arquivos-lab

Agora vamos criar um usuário do samba e definir uma senha para ele:

sudo smbpasswd -a arquivos-lab

Defina a senha do usuário do samba nesse momento. No meu caso eu mantive a senha igual ao do usuário do sistema “123”.

3.5 – Alterando Proprietário da pasta

Agora vamos configurar a pasta arquivos-lab para que o dono dela seja o usuário arquivos-lab e grupo arquivos-lab

sudo chown -R arquivos-lab:arquivos-lab ~/arquivos-lab

3.6 – Criando os compartilhamentos na configuração do Samba

Vamos fazer isso fazendo backup do arquivo de configuração do Samba para a minha pasta home,  e depois o editando o arquivo “/etc/samba/smb.conf”.

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

Agora iremos editar o arquivo de configuração. Neste ponto você poderá usar seu editor de texto favorito. Eu usarei o Gedit, mas se estiver usando um servidor em modo texto, poderá usar o nano.

sudo gedit /etc/samba/smb.conf

Agora na edição vamos criar os dois compartilhamentos, um com autenticação e o outro sem.

Adicione as seguintes linhas ao final do arquivo conforme imagem abaixo (você poderá copiar as linhas colar e editá-las mudando o caminho de suas pastas)).

[Share_lab]

comment = Share para salvar arquivos do Lab
path = /home/cleuber/arquivos-lab
browseable = yes
read only = no
guest ok = no
valid users = @arquivos-lab

[Temporarios]

comment = Share para salvar arquivos temporários
path = /home/cleuber/arquivos-temporarios
browseable = yes
writable = yes
guest ok = yes
read only = no

3.7 – Reinicie o Serviço do Samba

sudo systemctl restart smbd

4 – Teste os acessos aos compartilhamentos criados.

Em uma máquina com Windows acesse o IP de seu servidor de arquivos, e teste entrar na pasta com autenticação “Share-lab”, e então entre com o usuário e senha que definimos previamente.

Repare abaixo que já salvei alguns arquivos lá.

4.1 – Repita o procedimento na pasta “Temporários”

Como pode ver, já salvei arquivos lá também.

Obs. Ainda é possível configurar o seu servidor de arquivos samba usando a console do Webmin e em breve publicarei um artigo de como fazer isso.

Conclusão:

Esta é uma implementação simples de um servidor de arquivos.
É totalmente funcional e útil em qualquer empresa, basta definir o local de seus arquivos, que podem estar em um storage por exemplo, ou em uma partição de dados do servidor, definir os grupos de sua empresa e os usuário que os acessarão, passar os dados de acesso aos departamentos, e então o pessoal começará a salvar seus documentos lá. Outro ponto importante é ter sempre backup.

Bom é isso aí pessoal.

Abraços,

Cleuber

About Cleuber

Cleuber Silva Hashimoto. Administrador

25 comments

  1. MATHEUS A SANTANA

    Boa noite,

    Sobre a dica “Crie Seu Servidor de Arquivos com o Samba no Ubuntu 18.04 LTS”, se eu quiser compartilhar a pasta com um computador via internet, é possível? tens como me orientar?

    • Há como publicar seu IP local na internet usando um serviço chamado noIP.com, mas pode dar rolo com sua operadora de internet. Ou você pode contratar um servidor dedicado em um provedor poderá criar um serviço de FTP que também é útil. O meio mais fácil e gratuito é criar uma pasta no mega.nz ou no Dropbox e gerar o link de compartilhamento.

  2. Bom dia!
    Estou com uma duvida ao aplicar todo o procedimento eu consigo acessar o Samba pelo Windows mas não aparece as pastas criadas. Parecem que estão ocultas.

  3. marcos morais

    Boa tarde! fiz conforme o tuto, mas tenho a seguinte situação:
    criei duas pastas com senhas, cada uma um usuario e senha especificas, ao mapear \\ip\pasta01, só me parece a pasta e os arquivos que tenho nela, até ae tudo ok, mas se eu mapear somente o ip da maquina \\ip\, me aparece as duas apstas que tenho e o usuario após logar em uma, consegue ter o acesso na outra, que teria um usuario e senha diferentes, como resolvo esta situação?
    ogrigado!

    • Puxe, entendi. Que estranho né? Não deveria ter acesso a outra pasta com usuário e senha diferentes. Será que o seu gestor de arquivos não salvou o usuário e senha? Se não pode algo que precise de alguma alteração na configuração. Vou pesquisar e te falo.

  4. CLEITON CARVALHO WAGNER

    Cleuber, preciso de ajuda. não estou conseguindo criar o usuário do samba.
    apresenta a seguinte msg: Failed to add entry for user sambando
    me ajude por favor!

  5. Oi Cleuber, td bem? Cara, me da uma luz! Montei um servidor com Xubuntu versão 18.04 pra poder rodar um pequeno servidor de arquivos no escritorio, segui seu tutorial igualzinho, copiei tudo, porém, quando os usuarios acessam a pasta temporarios e criam arquivos, so eles mesmos podem alterar os arquivos. nao sei se consegui explicar direito, eu preciso que um trabalhe no arquivo do outro. Da acesso negado.
    Obrigado

    • Oi Arthur. Você precisa entender como foi arquitetada a estrutura de permissões que você escolheu. O modelo do artigo é de um jeito e talvez o que vc precise é outro. No artigo criamos 2 acessos, um deles é o acesso convidado e o outro é com senha. Em ambos não é possível editar o mesmo arquivo simultaneamente, mas os usuários que acessarem poderão criar e editar os arquivos. Certifique-se que as configurações das pastas que você criou é totalmente aberta. Para isso faça um “chmod -R 777 nome-da-pasta” em cada pasta, e isso irá permitir que os documentos delas estejam abertos para edição. Para mudar o grupo proprietário do arquivos use o “chown -R nomeuser:nomegrupo /diretório”. O usuário que faz login em um compartilhamento do Samba precisa estar no grupo que lhe dê as permissões corretas (está no passo 3.4). Beleza?

  6. Olá, tem como ocultar a pasta para os usuário não tem acesso?

    • Rômer você deve criar compartilhamentos de acordo com o nível de acesso que deseja para usuários ou grupos/departamentos. Se um usuário não pode ver as pastas do outro, ele então não pode estar no mesmo grupo. Deve-se criar um compartilhamento para ele onde apenas ele ou seu grupo tenham acesso.

  7. Cara da uma ajuda, quando eu faço o comando “sudo service smbd status”
    ele me mostra que o Samba está Inativo (dead)
    como resolvo isso? nao consegui chegar nos outros passos rs

  8. esse problema de ativar o samba resolvi, agora fiz tudo e não consigo no meu windows acessar o IP do linux, rsrs tem alguma dica??

    • A dica é que os dois precisam estar na mesma rede, apenas isso. Se você criou seu Linux dentro de de uma máquina virtual, a placa de rede virtual precisa estar em modo bridge para pegar um IP do mesmo roteador de sua rede física, e não em NAT.

  9. Josiê Pinheiro

    Bom dia!

    Madruga já, kkkkkk, Cleuber, estou com um problema, fiz todo o seu tutorial em uma vm ubuntu server, quando fui acessar na máquina física mesmo que é windows, não consegui, coloco o ip da vm e não aparece mensagem alguma, quer dizer, aparece uma janela dizendo para escolher um aplicativo para abrir, pode me ajudar, ver onde eu errei? Agradeço.

    • Como vc está tentando acessar a máquina física? O tutorial é para criar os compartilhamentos em uma máquina virtual, e acessar estes compartilhamentos do Windows para ela. No Windows é “\\endereço-de-ip” do seu servidor virtual.

  10. Joilson Do Nascimento Araújo

    Boa tarde !

    Cara ta bem confuso , você criou o mesmo usuario com o nome da pasta ficando : sudo chown -R arquivos-lab:arquivos-lab ~/arquivos-lab ……. sem saber onde ou qual é a pasta ou usuario .

  11. Obrigado pelo tutorial, está me ajudando muito no meu serviço, é ótimo quem dividi conhecimento, muito sucesso Cleuber;

  12. Se você tiver um firewall em execução no sistema Ubuntu, precisará permitir conexões UDP de entrada nas portas 137 e 138 e conexões TCP nas portas 139 e 445.

    Supondo que você esteja usando o UFW para gerenciar seu firewall, você pode abrir as portas ativando o perfil ‘Samba’:

    sudo ufw allow ‘Samba’

Leave a Reply

x

Check Also

Elementary OS 6 Odin Lançado – Confira as Novidades

Desenvolver um sistema operacional não é ...