Instalação e configuração do Samba no Ubuntu Server

O presente artigo descreve passo a passo a configuração do Samba na distribuição Ubuntu Server, com autenticação de política de grupo.

[ Hits: 4.647 ]

Por: Marcelo Junio Nascimento de Carvalho em 04/01/2016 | Blog: https://sites.google.com/site/marcelondc/


Introdução



Todos os comandos apresentados neste tutorial foram testados na distribuição Ubuntu-server 14.04 LTS, Samba 4.1.6.

1) Efetuar a instalação do samba:

# apt-get install samba

Após efetuar a instalação, acesse o arquivo de configuração, normalmente localizado em /etc/samba/smb.conf. Utilize um editor de sua preferência para editá-lo, como vim ou nano. Antes de começar a editar efetue uma backup do arquivo original:

# cd /etc/samba
# cp smb.conf smb.conf.bkp


Na seção global defina as seguintes configurações:

[global]
##Identificação do servidor
      netbios name = NomeDoHost
      workgroup = Grupo

####### Authentication #######
     security = user
     map to guest = bad user

NOTA: a variável share utilizada para definição de autenticação em outras versões do samba não funciona na versão 4.1, agora utilizamos:

map to guest = bad user

Agora defina os diretórios:

#======================= Share Definitions =======================
[lixeira]
    path = /dados/lixeira
    browseable = yes
    writable = yes
    public = yes

[arquivos]
     comment = Arquivos temporarios
     path = /dados/arquivos
     guest ok = yes
     read only = on

[Financeiro]
     path = /dados/Financeiro
     comment = Pasta de arquivos financeiro.  
     writeable = yes
     valid users = @gfinanceiro
     force create mode = 0660
     force directory mode = 0770
     force group = gfinanceiro
     browseable = yes
     veto files = /*.mp3/*.wma/*.avi

[RecursosHumanos]
    
     path = /dados/RecursosHumanos
     comment = Pasta de arquivos RH.
     writeable = yes
     valid users = @grh
     force create mode = 0660
     force directory mode = 0770
     force group = grh
     browseable = yes
     veto files = /*.mp3/*.wma/*.avi

Mãos na massa! Tomemos um diretório como exemplo...

Crie um diretório em qualquer pasta, no meu caso criei o volume /dados, faça as adaptações de acordo com a sua necessidade.

Crie uma pasta em /dados/RecursosHumanos, logo depois crie um grupo no samba:

# groupadd NomeDoGrupo

Em seguida crie um usuário:

# adduser NomeDoUsuário

Depois ainda é necessário adicionar o usuário ao samba:

# smbpasswd -a NomeDoUsuário

Seguindo em frente, ainda é necessário vincular o usuário a grupo criado:

# gpasswd -a NomeDoUsuário NomeDoGrupo

Agora temos que alterar algumas configurações nas pastas de acordo com a nossa necessidade. Comece dando permissão na pasta:

# chmod 770 /dados/RecursosHumanos

Onde o primeiro "7" define permissão total ao dono da pasta, o segundo ao grupo dono da pasta, e o "0" na terceira posição define restrição total a outros usuários. Com o comando "ls -la" é possível visualizar as pastas, com os respectivos donos e grupos proprietários.

Se o procedimento descritos acima foram realizados corretamente, será possível acessar as pastas do servidor samba com autenticação de grupo.

Também é possível criar uma lixeira no samba, assim quando o usuário excluir algum arquivo, o que as vezes acaba acontecendo por acidente, o mesmo ficará armazenado numa pasta definida no servidor. Vejamos como fazer isso!

1) Crie uma pasta em qualquer lugar do servidor e dê permissão:

# mkdir /dados/lixeira
# chmod 777 /dados/lixeira


2) Agora coloque as configurações abaixo na sessão global do aquivo de configuração do samba:

##Configuração da lixeira
     vfs objects = recycle
     recycle:keeptree = yes
     recycle:versions = yes
     recycle:repository = /dados/lixeira/%U
     recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso
     recycle:exclude_dir = tmp, cache

3) Reinicie o samba e a lixeira já estará funcionado:

# /etc/init.d/samba restart

Também no samba é possível auditar o acesso as pastas do servidor, desta forma conseguimos identificar qual usuário que acessou determinada pasta, ou excluiu, modificou...

Como fazer! Defina o seguinte bloco na sessão global:

vfs objects = full_audit
full_audit:success = open, opendir, write, unlink, rename, mkdir, rmdir, chmod, chown
full_audit:prefix = %u|%I|%S
full_audit:failure = none
full_audit:facility = local5
full_audit:priority = notice

Obs.: veja que na variável full_audit podemos definir qual ação será auditada, também é possível definir essa linha por compartilhamento.

Abra o arquivo /etc/rsyslog.conf e adicione a linha abaixo:

local5.notice /var/log/samba-full_audit.log

Reinicie o samba e o rsyslog para que as configurações sejam aplicadas:

# /etc/init.d/samba restart
# /etc/init.d/syslogd restart


Se tudo foi realizado conforme descrito, os logs já devem estar funcionando...

Ver logs de um usuário:

# grep NomeDoUsuário /var/log/samba-full_audit.log

Ver logs de determinado usuário com o IP 192.168.1.23:

# grep NomeDoUsuário /var/log/samba-full_audit.log | grep 192.168.1.23

Ver logs de quem abriu pastas do samba:

# grep opendir /var/log/samba-full_audit.log

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando um PDC Samba no Debian

Tutorial completo de implementação de LDAP + Samba + Squid

Dicas para Samba - Solucionando dificuldades

Samba no Mageia 2 KDE

Instalando o Swat

  
Comentários
[1] Comentário enviado por K666 em 05/01/2016 - 17:58h

Mais uma contribuição para o fortalecimento da nossa comunidade do VOL. Parabéns por compartilhar o conhecimento.
_________________________
Wagner F. de Souza
Técnico/Instrutor de Informática
"GNU/Linux for human beings."
LPI ID: LPI000297782

[2] Comentário enviado por eike_bsd em 07/01/2016 - 13:54h

Excelente artigo,camarada!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts