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

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


Lixeira + Auditoria + Rsyslog



Caso queira ativar a Lixeira e a Auditoria globalmente adicione no parte "global", caso seja para alguns compartilhamentos adicione no bloco do mesmo.

# Lixeira + Auditoria
#
#Lixeira
vfs objects = recycle,full_audit
recycle:keeptree = yes
recycle:versions = yes
#recycle:repository = /var/samba/lixeiras/SP
recycle:repository = lixeira
recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso, *.exe
recycle:exclude_dir = tmp
#
# Auditoria
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice

Explicação da Lixeira:
  • vfs objects -> Ativa Lixeira.
  • recycle:keeptree -> Não deixa que os arquivos fiquem misturados, cria o caminho certo de onde o arquivo foi excluído.
  • recycle:versions -> Não sobrescreve os arquivos deletados, cria diferentes nomes. Exemplo: arquivo, arquivo2, arquivo3...
  • recycle:repository -> Caminho da Lixeira.
  • recycle:exclude -> Arquivos excluídos da Lixeira, ou seja, o que não vão para a Lixeira.
  • recycle:exclude_dir -> Diretórios excluídos da Lixeira, ou seja, que não vão para a Lixeira.

Explicação Auditoria:
  • full_audit:failure -> Não gravar falhas.
  • full_audit:facility -> Nível de autoria.
  • full_audit:priority -> Flag usado pelo syslog.

Configurações Rsyslog

Editar arquivo /etc/rsyslog.conf para gravar onde você deseja.

Abaixo das linhas:

# Save boot messages also to boot.log
local7.*         /var/log/boot.log

Ficando assim:

# Samba Audit          Arquivo de logs
local5.notice          /var/log/samba/samba-full_audit.log

Reinicie o Rsyslog:

# systemctl restart rsyslog

Criação dos diretórios para compartilhamentos

Sendo "/var/samba" o diretório raiz, e SP, CX e PUBLICO os compartilhamentos:

# mkdir /var/samba && cd /var/samba && mkdir SP CX PUBLICO

Criação de usuário e grupos

Criando usuários:

# useradd -M -s /bin/false -U caxias
# useradd -M -s /bin/false -U saopaulo

# useradd -M -s /bin/false -U teste1
# useradd -M -s /bin/false -U teste2
  • -M = Não criar diretório home
  • -s = O shell que será usado no nosso caso é um que não pode ser usado para login (ssh)
  • -U = cria grupo com mesmo nome

Adicionar usuário ao Samba e ajustar senha (para troca de senha mesmo comando).

Ou seja, além de criar usuários no sistema, também adicionamos ao "Samba".

# smbpasswd -a usuario

Listar usuários do samba:

# pdbedit -L

Adicionar usuário teste1 ao grupo caxias e teste2 ao grupo saopaulo:

# groupmems -a teste1 -g caxias
# groupmems -a teste2 -g saopaulo
  • -a = Usuários
  • -g = Grupo de destino

Listar membros do grupos:

# groupmems -l -g caxias
# groupmems -l -g saopaulo
  • -l = Lista
  • -g = Grupo de destino

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

Resara Server Configuration

Samba 4 - Configurado para reportar a diferentes redes

Bloqueando a gravação de arquivos no Samba por extensão

Samba 4 como controlador de domínio

Instalando e Configurando o SAMBA3 no FreeBSD 8.1 Release

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

[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
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts