Home / Destaques / Crie seu Servidor de Arquivos com Samba no Ubuntu 14.04

Crie seu Servidor de Arquivos com Samba no Ubuntu 14.04

Olá pessoal,

No último artigo que publiquei, mostrei como criar um AD com Samba no Ubuntu.

Pois bem, hoje irei como criar um servidor de arquivos com o Samba que é uma tarefa muito mais simples.

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 /etc/init.d/smbd status

samba6

Ok, Samba no ar!

3 – Configurando – Criando os Compartilhamentos

Agora podemos começar compartilhando uma pasta

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

3.3 – Criando grupo

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

sudo addgroup arquivos-lab

3.4 – Criando usuários.

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

sudo adduser arquivos-lab
sudo passwd 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

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 ~/
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 conforme imagem abaixo (você poderá copiar as linhas colar e editá-las).

[Share_lab]

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

[Temporarios]

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

samba19b

3.7 – Reinicie o Serviço do Samba

sudo /etc/init.d/smbd restart

4 – Teste os acessos aos compartilhamentos criados.

Em uma máquina com Windows acesse o IP de seu servidor de arquivos

samba22

4.1 – Observe que o acesso sem autenticação é direto e te dá permissão de gravação, ou seja, de colar documentos, criar, apagar e etc.

samba24

4.2 – Observe que o acesso com autenticação solicita usuário e senha que definimos e que também te dá as permissões para gravar.

samba16

samba17

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á.

Bom é isso aí pessoal.

Abraços,

Cleuber

About Cleuber

Cleuber Silva Hashimoto. Administrador

32 comments

  1. Obrigado pelo tutorial, me ajudou muito, porem tenho uma dúvida..
    Tem como configurar um diretório para quando for gravar pedir senha mas liberado para leitura?

    Obrigado.

    • Tem sim, usa-se a opção “read only = yes” e “valid users” – o exemplo está no artigo, basta criar os usuários, definir suas senhas, e configurar o samba desta forma abaixo como exemplo:

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

  2. Opa, essa linha do tutorial está incorreta:

    ‘Agora vamos criar um usuário do samba e definir uma senha para ele:
    sudo smbpasswd -a arquivos-lab’

    O sistema não permite criar um usuario para o samba que não exista no linux..

    Logo o correto é: sudo smbpasswd -a arquivos

    Valeu! =)

  3. Boa noite!

    a parte dos usuarios sem login e senha, funcionou perfeitamente, mas a parte de inclusão dos usuarios e grupos, não deu certo, primeiro por que o sistema não aceita a criação de pastas com mesmo nome dos usuarios e grupos. será que daria para diferenciar o que seria nome de grupo com o que seria nome de usuario? tipo…

    3.3 – Criando grupo

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

    sudo addgroup arquivos-lab(GRP)

    3.4 – Criando usuários.

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

    sudo adduser arquivos-lab(user)

    Por que na hora de associar um ao outro, com outros nomes, da maneira que está, não dá pra saber o que vem antes se usuario ou grupo…

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

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

    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

    Pode parecer basico, mas tive essa dificuldade, e vale lembrar que o seu tutorial foi o unico que me atendeu até agora, principalmente na parte de compartilhar sem autenticação.

    Desde já agradeço a atenção.

    • Oi Dionisio, obrigado!
      Essa informação de que o sistema não deixa criar pastas com nome de usuários, não sei, pois eu consigo criar numa boa.
      Os passos que descrevi foi exatamente o que fiz na minha instalação e deu certo, mas você poderá realizar as alterações que desejar para que dê certo para você. Qual sistema você está utilizando, o Ubuntu mesmo ou outro?
      Abraço e valeu!

      • Boa tarde! Cleuber

        o meu sistema é o ubuntu 14.04 server, e não consegui seguir os passos justamente por não saber a ordem das coisas nos comandos:

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

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

        mas eu vou tentar alterando pra descobrir qual daria certo aqui.

        • Oi Dionísio,
          Bom acredito que falta pouco para você! Mais alguns pequenos ajustes e dará certo.
          Bom vamos entender a estrutura da configuração.
          Temos 4 elementos que neste tutorial possuem o mesmo nome: usuário do Linux, usuário do samba, pasta e grupo, todos “arquivos-lab”
          O comando “usermod…” que você citou é para adicionar o usuário previamente criado “arquivos-lab” ao grupo “arquivos-lab”. Depois com o comando “chown…” diremos que o usuário “arquivos-lab” é o proprietário da pasta “arquivos-lab”.
          Lembre-se que após configurar tudo reinicie o serviço do samba para ver se irá funcionar direitinho.
          Você pode também instalar o Webmin, que lhe dará uma interface gráfica acessível de um desktop em sua lan, para configurar o samba.

          Espero que talvez eu tenha ajudado.
          Abraço.

          • Bom Dia!

            Agradeço imensamente por ter respondido e tentado nos ajudar.

            Seguindo o tutorial com os mesmos nomes que voce colocou dá certissimo. O problema que estou tendo é quando tento adaptar a minha realidade, pois não sei nessa linha abaixo o que é usuario e o que é pasta:

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

            poderia colocar abaixo mais ou menos assim:

            sudo chown -R “usuario:pasta de arquivos” ~/”grupo”

            não é essa a sequencia, pois não deu certo pra mim. Só definindo essa sequencia eu acertarei o meu.

          • A sintaxe do comando chown é a seguinte: chown + (parâmentro, se quiser), + usuário {ou usuário e grupo com (“usuário:grupo”)} + local da pasta.

            O comando “sudo chwon -R arquivos-lab:arquivos-lab ~/arquivos-lab”, faz o seguinte: Muda o dono da pasta arquivos-lab que está em sua Home (~/arquivos-lab) para o usuário “arquivos-lab” e grupo “arquivos-lab” (arquivos-lab:arquivos-lab). O parâmentro “-R” (recursivo), significa que todo conteúdo, incluindo subpastas ganharão a mesma configuração.
            Quando usamos “~/”, isso é um atalho para sua pasta Home, exemplo: “cd ~/Downloads” é o mesmo de você dar um “cd /home/seu_user/Downloads”.

            Esse tipo de tutorial, é um pouco mais avançado, mas não tanto. Precisa estar um pouquinho mais afiado com os comandos básicos.
            Segue aqui alguns comandos básicos para rever. O “chown” está incluído com exemplos e explicação. 😉
            http://cleuber.com.br/index.php/2014/05/27/comandos-basicos-de-linux

            No Linux, se quiser checar a documentação de determinado comando, pode usar também o comando “man”, exemplo “man chown” e dará os detalhes do comando com exemplos e tudo mais. Mas este apenas em inglês.

            Abraços.

  4. Bom dia, primeiramente muito obrigada pelo artigo, me ajudou demais.
    Tive o problema já citado das pastas, usuarios e grupos com o mesmo nome, consertei e funcionou, agora estou cm dificuldades com o gedit, instalei ele porém quando vou editar ele paresenta esse erro :

    error xdg_runtime_dir not set in the environment
    gedit 1165 gtk warning

    e cada vez que tento de uma outra maneira essa numeração muda. Alguém poderia me ajudar ??

  5. Boa tarde,

    Primeiramente parabéns! Já está no meu favorito o seu site. Editei o arquivo para que somente o dono possa deletar os arquivos e os outros usuários possam ler , editar e escrever mas sem o poder de exclusão. funciona perfeitamente quando este arquivo é gerado pelo dono, Agora quando o usuário x cria um arquivo o usuário y não consegue editar. Sabe me dizer o que pode ser ?

  6. Boa tarde, muito obrigado pelo tutorial, ajudou bastante, mas gostaria de tirar uma dúvida. E se eu quisesse colocar vários usuários (restritos) para acessarem uma determinada pasta, como q eu separo eles no gedit?

    [Share_lab] comment = Share para salvar arquivos do Lab
    path = /home/lab/arquivos-lab
    browseable = yes
    read only = no
    guest ok = no
    valid users = @arquivos-lab, fulano, beltrano?

    Seria assim?

    Grato!

  7. Olha eu sou leigo em linux ,eu fiz um compartilhamento de programas,mais quando eu tento executar um programa por um computador com windows ele me fala que eu nao tenho permisao para executar o programa,isso acontece quando vou executar e quando vou abri uma subpasta de programa,Pode me dar uma ajuda.Segue embaixo as configuraçoes que fiz .Obrigado.

    [programas]
    comment = Share para salvar programas
    path = /home/vitor/programas
    browseable = yes
    writable = yes
    guest ok = yes
    read only = no

    • A permissão está nos arquivos dentro de sua pasta de programas. Altere as propriedades da pasta de programas e todo o seu conteúdo com o comando chmod.
      Se quiser apenas adicionar permissão de execução: sudo chmod -R +x /caminho/da/sua/pasta. O -R (recursivo – aplica em subpastas e conteúdo) o +x = execução.
      Se quiser abrir totalmente as permissões da pasta e conteúdo (leitura, gravação e execução): sudo chmod -R 777 /caminho/da/sua/pasta

      Falouws!

  8. Boa Tarde Cleuber, estou criando um servidor com as mesmas configurações do tutorial, mas quando vou acessar as pastas no Windows acontece um erro de rede dizendo:
    “o Windows não pode acessar \\ip do servidor\ temporarios
    verifique a ortografia do nome. Caso contrário, pode ocorrer um problema na rede. Para tentar identificar e resolver problemas de rede, clique em Diagnosticar.”

  9. Olá boa tarde!
    Gostaria de uma ajudinha. Eu possuo o Windows Server 2008 somente com compartilhamento de arquivos, onde todas as pastas estão acessíveis. Como posso fazer para mudar tudo para Servidor Ubuntu?
    agradeço desde já.

  10. Olá bom dia.
    Gostaria de tirar uma dúvida. Atualmente eu possuo servidor Windows Server 2008 somente onde é compartilhado arquivos e pastas. Mas estou querendo mudar para o Servidor Ubuntu/Linux, gostaria de saber se esses arquivos que possuo no servidor atual tem a possibilidade de passar para o servidor Ubuntu.
    Agradeço desde já.

  11. Boa tarde.
    primeiramente quero agradecer por compartilhar seu conhecimento e dizer que funcionou 100%. Obrigado!!!
    Segundo estou com duas duvidas. Qual a necessidade do python-glade2 e se sem o mesmo o samba funcionaria corretamente???

    desde já agradeço

    • Obrigado Jeymison, o Python-glade2 nesse caso não é bem um pré-requisito, você pode instalar o samba sem ele, sem problemas.
      Como esse pacote provê interface para programas desenvolvidos nessa linguagem, pode ser útil para algum programa visual para administração do samba, como o system-config-samba que instalamos também, mas nem é usado neste artigo.
      Valeu pelo feedback.

  12. Cleuber, depois de fazer tudo isto e plugar o server em um switch, como faço para acessar o servidor de outra estação linux?

    Grato desde já

  13. “Em uma máquina com Windows acesse o IP de seu servidor de arquivos”

    Pergunta laica: Como?

    E no Linux, como que acessa?

  14. Adonis Garces

    Olá, gostaria de saber como instalar um Samba (File Server) autenticando os usuarios do AD 2012 R2 no Ubuntu.

    Fico grato se me passar um tutorial

Leave a Reply

x

Check Also

Elementary OS 6 Odin Lançado – Confira as Novidades

Desenvolver um sistema operacional não é ...