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: 109.403 ]

Por: Carlos A. P. Cunha em 06/05/2016


Configuração do Samba



Adicionando o Samba para iniciar com sistema:

# systemctl enable smb

Na instalação do Samba ele já vem com um arquivo padrão de configurações, vamos realizar o backup desse arquivo por segurança:

# cd /etc/samba/ && mv smb.conf smb.conf.dist

O arquivo que usaremos para colocar as configurações será o smb.conf (lembrando que é dentro do diretório "/etc/samba", e terá a configuração "[global]" que é a configuração que se aplica a todos os compartilhamentos, tendo em vista que se tiver uma opção dentro do compartilhamento que contradiz o "global", o que vale é a do compartilhamento.

Edite (crie) os arquivos:

# vim smb.conf

Adicione o conteúdo:

[global]
   workgroup = SERVICO_DE_REDES
   netbios name = SERVICO_DE_REDES
   server string = %h server
   wins support = yes
   dns proxy = no
   name resolve order = wins hosts bcast
   log file = /var/log/samba/log.%m
   level2 oplocks = YES
   max log size = 1000
   syslog = 0
   #panic action = Desabilitado, fica a criterio e analise
   invalid users = root
   server role = standalone server
   encrypt passwords = yes
   passdb backend = tdbsam
   include = /etc/samba/compartilhamentos.conf

Seguem explicações dos parâmetros:
  • workgroup -> Nome do Grupo de Trabalho.
  • netbios name -> Nome NetBios.
  • server string -> Identificação enviada do servidor samba para o ambiente de rede.
  • %h - O nome DNS da máquina que está executando o Samba.
  • wins support -> Este é um serviço de resolução de nomes que funciona de forma semelhante ao DNS, só que voltado para o NetBIOS. Quando uma máquina cliente NetBIOS entra na rede, o servidor WINS pega seu nome e IP e inclui em uma tabela para #futura consulta pelos clientes da rede.
  • dns proxy -> no
  • name resolve order -> Define a ordem de pesquisa para a resolução de nomes no Samba.
  • log file -> Informa caminho dos logs.
  • max log size -> Tamanho dos logos gerados em KB.
  • level2 oplocks -> O cache de leitura adiante de abertura de arquivos em modo somente #leitura aumenta a performance.
  • syslog -> Desativar logs do syslog padrão.
  • panic action -> Comando executado caso daemon smbd ou nmbd falhe.
  • invalid users -> Invalida usuário root de logon nos compartilhamentos (segurança).
  • server role -> MUITO IMPORTANTE, pois aqui é definido a função do serviços, onde pode ser aplicado a servidor de arquivos como esse ou até a PDC.
  • encrypt passwords -> Criptografia das senhas.
  • passdb backend -> Como será o processo de autenticação, aqui definida em um arquivo binário, mas poderia ser feito com um base LDAP.
  • include -> Informa caminho de arquivos de configuração que serão lidos.

Obs.: linhas começadas com "#" são ignoradas e geralmente usadas para comentários.

Página anterior     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

Sobre WINS (Windows Internet Name Service)

Proteção contra vírus usando Samba + ClamAV + Samba-vscan no Fedora Core 3

Política de segurança com o Samba

Serviço alternativo de baixo custo: Samba + Windows XP + registros de bloqueio

Ubuntu 12.04 autenticando no Active Directory com Samba/Kerberos/Winbind

  
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