Samba 4 - Compartilhamento de Arquivos

O Samba é um servidor e conjunto de ferramentas que permite que máquinas Linux e Windows se comuniquem entre si, compartilhando serviços (arquivos, diretório, impressão) através do protocolo SMB (Server Message Block)/CIFS (Common Internet File System), equivalentes a implementação NetBEUI no Windows. O Samba é uma das soluções em ambiente UNIX capaz de interligar redes heterogêneas.

[ Hits: 110.587 ]

Por: Carlos APC em 06/05/2016


Observações iniciais



Aqui teremos Samba 4 sem MODO PDC, ou seja, não será um Domain Controller, essas instruções são de um trabalho de fiz para a faculdade ano passado, espero que seja útil para mais pessoas.

Não serão abordadas: a instalação do sistema operacional e configuração de rede.

O sistema operacional usado foi o CentOS versão 7 X86_64 bits minimal com kernel 3.10, nada impede de usar isso em outro "sabor" Linux, mas podem ser necessários ajustes e adaptações de caminhos etc. Usado o virtualizador VirtualBox 4.3.26-3 rodando na distribuição Arch Linux, pode-se usar o Hipervisor que desejar, seguindo o mesmo comentado anterior, sendo necessários ajustes conforme a plataforma usada.

Versão do Samba usada foi 4.1.12 (pode ser mais nova, sem problemas), em formato STANDALONE e não como PDC.

Hardware na máquina virtual utilizada:
  • 20G de disco
  • 512Mb de RAM
  • 1Core de CPU
  • Uma placa em modo bridge com a placa física.

Toda configuração será feita utilizando o usuário "root".

Arquivos de configuração ficam alocados por padrão da distribuição em "/etc/samba", para nosso diretório de compartilhamentos foi escolhido o "/var/samba/".

Será usado o editor de texto Vim (fork do VI), mas pode ser usado o de sua preferência.

Dicas de uso:

Comandos básicos do Vim:
  • i = modo de edição
  • 2x esc = sair do modo de edição
  • u = desfaz algo
  • dd = apaga linha
  • :wq = sai e salva
  • :q = sai sem salvar

Caso esteja usando Windows RECOMENDO utilizar algum emulador de terminal para se conectar ao servidor e executar o gerenciamento, como PUTTY.

Desabilitando serviços desnecessários

Desabilitando firewall, tendo em vista a não necessidade no nosso cenário, e juntamente com o serviço de MTA Postfix.

# systemctl disable firewalld.service postfix.service

Desabilitando Selinux, por não necessidade:

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

Reiniciar o sistema:

# reboot

    Próxima página

Páginas do artigo
   1. Observações iniciais
   2. Configuração do Samba
   3. Configuração dos compartilhamentos
   4. Lixeira + Auditoria + Rsyslog
   5. Ajustando permissões das pastas
Outros artigos deste autor

Atualizando Flash Player no Firefox em Antergos (Arch Linux)

Leitura recomendada

Controle de impressão por usuário

Permissões do Samba usando chmod

Autenticando Linux num PDC Samba com auto-montagem de unidade por usuários (sem usar LDAP)

Configurando servidor Samba como Workgroup no Slackware

Instalando um PDC Samba no Debian

  
Comentários
[1] Comentário enviado por removido em 09/05/2016 - 14:11h

Nossa ...esse Samba esta a me fazer dançar mesmo...ninguém merece... batendo cabeça aqui com Samba e Amanda :(
Mas falando no samba, mesmo depois de fazer a tentativa (apt-get install cifs-utils) não funciona.
diz pra tentar com( --fix-missing) mas sem sucesso ...alguém sabe outro comando ??? e tbm já desativei a firewall.
vlw...

[2] Comentário enviado por Carlos_Cunha em 09/05/2016 - 14:44h


[1] Comentário enviado por Thati_01 em 09/05/2016 - 14:11h

Nossa ...esse Samba esta a me fazer dançar mesmo...ninguém merece... batendo cabeça aqui com Samba e Amanda :(
Mas falando no samba, mesmo depois de fazer a tentativa (apt-get install cifs-utils) não funciona.
diz pra tentar com( --fix-missing) mas sem sucesso ...alguém sabe outro comando ??? e tbm já desativei a firewall.
vlw...



Opa!
O Cifs vai dar suporte a compartilhamentos remotos...
Qual parte vc parou ? Esta segundo o artigo acima ?
Abraço

[3] Comentário enviado por removido em 10/05/2016 - 10:09h

Vou fazer uma partilha entre usuários de linux e windows. estou fazendo o server linux ja tem o apache2. PHP, e tal quando fui fazer a instalação do cifs-utils me da erro. não esta como o artigo acima, acho que comentei no lugar errado ...
mas desde já agradeço imenso.
Abraços

[4] Comentário enviado por removido em 10/05/2016 - 10:28h

Agradeço imenso a atenção ...
eu tinha um processo bloqueado e usei (sudo kill <pid>) e depois de cancelar o processo reboot ...e resolveu ...não sei se foi por isso ou sorte..mas esta a trabalhar .
Abraços

[5] Comentário enviado por wagnerfs em 18/05/2016 - 21:09h

Muito bom! Obrigado por compartilhar o conhecimento.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782

[6] Comentário enviado por Carlos_Cunha em 18/05/2016 - 21:15h


[5] Comentário enviado por K666 em 18/05/2016 - 21:09h

Muito bom! Obrigado por compartilhar o conhecimento.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782



Que bom que foi útil amigo.
Abraço

[7] Comentário enviado por pfsilva em 25/05/2016 - 10:53h


[1] Comentário enviado por Thati_01 em 09/05/2016 - 14:11h

Nossa ...esse Samba esta a me fazer dançar mesmo...ninguém merece... batendo cabeça aqui com Samba e Amanda :(
Mas falando no samba, mesmo depois de fazer a tentativa (apt-get install cifs-utils) não funciona.
diz pra tentar com( --fix-missing) mas sem sucesso ...alguém sabe outro comando ??? e tbm já desativei a firewall.
vlw...



Bom, geralmente isso é problema para o seu computador acessar os repositórios. Dê uma olhada no sources.list e confira o seu acesso à internet

[8] Comentário enviado por removido em 30/05/2016 - 22:32h

Muito bom, favoritado.

Interessante sua abordagem em separar as configurações dos compartilhamentos em um arquivo diferente do smb.conf

Pensando aqui, seria possível criar até um modelo para jogar em um diretório com o(s) novo(s) compartilhamento(s) e simplesmente remover arquivos de la?

Isso pode ser util para não comprometer o samba como um todo, caso apenas um compartilhamento contenha alguma configuração incorreta, e na hora de remover algum compartilhamento também.

------------------------------------------------------
KISS principle, RTFM and STFW = 42

[9] Comentário enviado por JonathanPoli em 07/06/2016 - 10:25h

Muito bem explicado cada comando, obrigado!

[10] Comentário enviado por Carlos_Cunha em 07/06/2016 - 10:32h


[8] Comentário enviado por erisrjr em 30/05/2016 - 22:32h

Muito bom, favoritado.

Interessante sua abordagem em separar as configurações dos compartilhamentos em um arquivo diferente do smb.conf

Pensando aqui, seria possível criar até um modelo para jogar em um diretório com o(s) novo(s) compartilhamento(s) e simplesmente remover arquivos de la?

Isso pode ser util para não comprometer o samba como um todo, caso apenas um compartilhamento contenha alguma configuração incorreta, e na hora de remover algum compartilhamento também.

------------------------------------------------------
KISS principle, RTFM and STFW = 42


Obrigado Amigo!!
Pelo que entendi, acredito que sim, seria possivel "automatizar".

Abraço!!

[11] Comentário enviado por Carlos_Cunha em 07/06/2016 - 10:32h


[9] Comentário enviado por JonathanPoli em 07/06/2016 - 10:25h

Muito bem explicado cada comando, obrigado!


Obrigado Amigo!!!

[12] Comentário enviado por hermanleao em 22/07/2016 - 19:11h

"browseable", tira o "e" senão dá erro no testparm. Um abraço.

[13] Comentário enviado por Carlos_Cunha em 26/07/2016 - 23:28h


[12] Comentário enviado por hermanleao em 22/07/2016 - 19:11h

"browseable", tira o "e" senão dá erro no testparm. Um abraço.


Acho que não amigo, veja se não foi vc que copio algo a mais, na documentação esta igual



Abraço

[14] Comentário enviado por viniciusafs em 26/06/2017 - 16:57h

Fala, amigo.
Muito bom o seu tutorial, claro e objetivo!
Uma dúvida.

"encrypt passwords = yes"

Quando executo o comando, ex, pdbedit -L, o comando faz correto mas junto vem "unknown encountered: encript passwords"
"ingnoring unknown parameter "encript passwords"".

Porquê ele diz que o parâmetro esta incorreto?.

[15] Comentário enviado por Alexsabc em 04/08/2018 - 23:29h

Tem certeza que se trata de um SAMBA4? O pacote não foi baixado e nem compilado.

[16] Comentário enviado por Carlos_Cunha em 05/08/2018 - 11:30h


[14] Comentário enviado por viniciusafs em 26/06/2017 - 16:57h

Fala, amigo.
Muito bom o seu tutorial, claro e objetivo!
Uma dúvida.

"encrypt passwords = yes"

Quando executo o comando, ex, pdbedit -L, o comando faz correto mas junto vem "unknown encountered: encript passwords"
"ingnoring unknown parameter "encript passwords"".

Porquê ele diz que o parâmetro esta incorreto?.


Opa!! Obrigado amigo.
Sobre a pergunta, pode ser que a opção ou seja padrão ou não usada mais, dá uma olhada no man SMB.conf.
Abraço

[17] Comentário enviado por Carlos_Cunha em 05/08/2018 - 11:37h


[15] Comentário enviado por Alexsabc em 04/08/2018 - 23:29h

Tem certeza que se trata de um SAMBA4? O pacote não foi baixado e nem compilado.


Samba 4 e a versão dos software Samba, assim como antes era a versão 3. Não precisa baixar ou compilar para ter ele, isso depende muito do que se está fazendo e o seu propósito, por exemplo, para um servidor standalone como esse do artigo uso a versão dos repositórios da distribuição que estou utilizando, já para uma Servidor DC(Domain Controller) ou Membro de Domínio sempre compilo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts