Você está na página 1de 8

Configurar auditoria e lixeira no Samba http://www.sysadmin.eti.br/blog/?

p=332

SysAdmin
The future is open.
RSS

Início
Contato
Curriculum
Sobre

out 5 2010

Configurar auditoria e lixeira no Samba


Em qualquer servidor de arquivos, a principal prioridade é assegurar a integridade e a segurança dos
dados. Por mais que a rede seja estável e por mais robusto que seja o servidor, o elo mais fraco da cadeia
acaba sendo sempre o usuário. De nada adianta um servidor perfeitamente estável se ele deleta um
arquivo importante “sem querer”. Um recurso que muitos administradores de sistemas sonham em
implementar em seus servidores, é uma lixeira de rede.

Pensando nisso, o Samba oferece a opção de usar uma lixeira, que pode lhe poupar muita dor de cabeça
em diversas situações. Isso é feito através da opção “vfs object = recycle“, que cria uma lixeira dentro de
cada pasta compartilhada, que armazena todos os arquivos deletados. Isso previne a remoção acidental de
arquivos, já que o usuário passa a precisar deletar o arquivo e em seguida limpar o conteúdo da lixeira
para realmente removê-lo, que é o comportamento esperado por muitos.

Eu subentendo que você já está com o Samba instalado e rodando perfeitamente e que quer habilitar a
lixeira nele. Para tal, antes de qualquer coisa, veja se os arquivo “recycle.so” está no diretório “/usr/lib
/samba/vfs”, pois sem este arquivo este tutorial não servirá para nada.

Crie um diretório que será a lixeira para sua rede Samba:


$ mkdir -p /var/spool/samba/lixeira

O nome do diretório é você que irá definir. Caso você queira que os seus usuários tenham acesso à lixeira
(não recomendo por questões de segurança), basta dar permissão global neste diretório e criar links
simbólicos diretamente para o diretório escolhido.

Agora que você já criou o local em que será a sua lixeira, está na hora de editar as configurações do
Samba.

Edite o arquivo /etc/samba/smb.conf e acrescente as linhas abaixo na sessão [Global] se a lixeira for ser
utilizada para todos os volumes compartilhados ou, então, apenas em um dos seus [compartilhamentos],
como no exemplo abaixo:
#Exemplo Completo
[exemplo]
comment = Comentario
path = /arquivos/teste
valid users = @grupo1, @grupo2
read only = No
create mask = 0777
force create mode = 0775
force security mode = 0775

1 de 8 11/11/2011 21:32
Configurar auditoria e lixeira no Samba http://www.sysadmin.eti.br/blog/?p=332

guest ok = No
browseable = No
locking = no
write cache size = 500000
share modes = no
veto files = /*.mp3/*.wav/*.tif/*.pif/*.jpg/*.bmp
hide files = /*.mp3/*.wav/*.tif/*.pif/*.jpg/*.bmp
vfs objects = recycle
recycle:facility = LOCAL1
recycle:priority = NOTICE
recycle:maxsize = 0
recycle:repository = .recycle/%U
recycle:directory_mode = 0777
recycle:subdir_mode = 0777
recycle:keeptree = True
recycle:touch = False
recycle:maxsize = 0
recycle:versions = True
recycle:noversions = .doc|.xls|.ppt|.pdf
recycle:exclude = *.tmp, *.temp, *.log, *.ldb, *.o, *.obj, ~*.*, *.bak, *.iso
recycle:exclude_dir = tmp, temp, cache

Explicando os parâmetros:

recycle:facility = LOCAL1
recycle:priority = NOTICE

Isso significa que um arquivo de log será usado para registrar a movimentação da sua lixeira.

recycle:maxsize = 0

Nesta linha de código voce limita o tamanho de cada arquivo que poderá ser armazenado na lixeira. O
número zero, como no exemplo, significa que não tem limite.

recycle:repository = .recycle/%U

Neste código, você informa ao Samba em qual endereço está a sua lixeira. A tag %U é o nome do seu
usuário. Com isso, você garante que todos os arquivos deletados pelo usuário A só estarão acessíveis a ele
mesmo.

recycle:directory_mode = 0777
recycle:subdir_mode = 0777
recycle:keeptree = True
recycle:touch = False

Aqui você determina as permissões dos diretórios. Além disso, aqui você define também se o Samba
deverá guardar o nome do diretório de onde o arquivo fora excluído (keeptree) e se a data do arquivo
deletado vai ser alterada para a data da exclusão (touch).

recycle:maxsize = 0

Nesta linha de código voce limita o tamanho de cada arquivo que poderá ser armazenado na lixeira. O
número zero, como no exemplo, significa que não tem limite.

recycle:versions = True

versions: verifica a existência do arquivo na lixeira, e caso exista um arquivo com o mesmo nome, ele cria
uma cópia dele e armazena ambos. Assim sucessivamente, enquanto o seu usuário não parar de deletar
arquivos de mesmo nome.

recycle:noversions = .doc|.xls|.ppt|.pdf

2 de 8 11/11/2011 21:32
Configurar auditoria e lixeira no Samba http://www.sysadmin.eti.br/blog/?p=332

noversion: este é exatamente o contrário do anterior. Tudo o que estiver neste parâmetro irá sobrescrever
o anterior. Significa dizer que se o usuário excluir mais de um arquivo com o mesmo nome, somente o
último estará lá, guardadinho para ele. E adeus para o primeiro.

recycle:exclude = *.tmp, *.temp, *.log, *.ldb, *.o, *.obj, ~*.*, *.bak, *.iso
recycle:exclude_dir = tmp, temp, cache

Aqui é algo que é necessária uma dose de atenção e cautela. Você está definindo aquilo que não será
armazenado na lixeira em hipótese alguma. Significa dizer que o que estiver ali nestas regras, será
deletado de vez sem passar pela lixeira. Use este recurso com cautela para não ter dores de cabeça no
futuro.

Auditando os acessos

O Samba oferece também um recurso de geração de log. Ele pode ser ativado adicionando as opções
abaixo na seção [global] do smb.conf:

log level = 1
log file = /var/log/samba.log
max log size = 1000

A opção “log level” indica o nível das mensagens (de 0 a 10), sendo que o nível 0 mostra apenas
mensagens críticas, o nível 1 mostra alguns detalhes sobre os acessos e os demais mostram diversos
níveis de informações de debug, úteis a desenvolvedores. A opção “log file” indica o arquivo onde ele
será gerado e a “max log size” indica o tamanho máximo, em kbytes.

A partir do Samba 3.04 foi incluído um módulo de auditoria, que permite logar os acessos e as
modificações feitas de uma forma muito mais completa que o log tradicional. Isso é feito através do
módulo “full_audit”, que (do ponto de vista técnico) funciona de forma similar ao módulo “recycle”
usado pela lixeira.

O primeiro passo é ativar o módulo, o que é feito através da linha abaixo:

vfs objects = full_audit

O próximo passo é definir quais operações devem ser logadas através da opção “full_audit:success”,
como em:

full_audit:success = open, opendir, write, unlink, rename, mkdir, rmdir, chmod, chown

(as opções formam uma única linha)

As opções que incluí no exemplo são open (ler um arquivo), opendir (ver os arquivos dentro de uma
pasta), write (alterar um arquivo), unlink (deletar um arquivo), rename (renomear um arquivo), mkdir
(criar um diretório), rmdir (remover um diretório), chmod (alterar as permissões de acesso de um arquivo)
e chown (mudar o dono de um arquivo).

Você pode remover algumas destas opções, deixando apenas as opções desejadas, ou ver uma lista
completa das opções que podem ser incluídas no manual do vfs_full_audit, disponível no:

http://samba.org/samba/docs/man/manpages-3/vfs_full_audit.8.html

Continuando a configuração, especificamos as informações que desejamos que sejam incluídas no log,
usando a opção “full_audit:prefix”. Aqui podemos utilizar as variáveis que mostrei no tópico sobre o
compartilhamento [homes], como a “%u” (o nome do usuário), “%I” (o IP da máquina) e “%S” (o nome
do compartilhamento onde foi feito o acesso ou a alteração). Não é necessário incluir a variável referente

3 de 8 11/11/2011 21:32
Configurar auditoria e lixeira no Samba http://www.sysadmin.eti.br/blog/?p=332

ao nome da máquina, pois o nome é incluído automaticamente:

full_audit:prefix = %u|%I|%S

Por padrão, o módulo loga não apenas os acessos e modificações, mas também um grande volume de
mensagens de alerta e erros gerados durante a operação. A opção “full_audit:failure = none” evita que
estas mensagens sejam logadas, fazendo com que o log fique muito mais limpo e seja mais fácil encontrar
as opções que realmente interessam:

full_audit:failure = none

Concluindo, especificamos o nível dos alertas, entre os suportados pelo syslog, como em:

full_audit:facility = local5
full_audit:priority = notice

Juntando tudo, temos:

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

Esta configuração pode ser tanto incluída dentro da seção [global] (de forma que o log inclua os acessos e
as alterações feitas em todos os compartilhamentos) quanto ser incluída apenas na configuração de um
compartilhamento específico.

Com isso, o Samba vai passar a gerar os eventos referentes aos acessos. Falta agora configurar o sysklogd
(o serviço responsável pela geração dos logs do sistema), para logar os eventos, gerando o arquivo de log
que poderá ser consultado. Para isso, abra o arquivo “/etc/syslog.conf” e adicione a linha abaixo:

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

Note que o “local5.notice” corresponde aos valores informados nas opções “full_audit:facility” e
“full_audit:priority”, enquanto o “/var/log/samba-full_audit.log” é o arquivo de log que será gerado.

Depois de concluída a configuração, reinicie os serviços e o log passará a ser gerado imediatamente:
# /etc/init.d/samba restart
# /etc/init.d/sysklogd restart

Dentro do arquivo, você verá entradas contendo a data e hora, o nome da máquina, o usuário, o IP da
máquina, o nome do compartilhamento, a operação realizada e o nome do arquivo ou pasta onde ela foi
realizada, como em:

Nov 18 15:21:15 m5 smbd_audit: junior|192.168.1.23|arquivos|opendir|ok|.


Nov 18 15:21:29 m5 smbd_audit: junior|192.168.1.23|arquivos|open|ok|r|addr.txt
Nov 18 15:21:34 m5 smbd_audit: junior|192.168.1.23|arquivos|mkdir|ok|trabalho
Nov 18 15:21:36 m5 smbd_audit: junior|192.168.1.23|arquivos|opendir|ok|trabalho
Nov 18 15:21:43 m5 smbd_audit: junior|192.168.1.23|arquivos|open|ok|w|trabalho/Samba.sxw
Nov 18 15:21:44 m5 smbd_audit: junior|192.168.1.23|arquivos|open|ok|w|trabalho/foto.jpg

O log conterá entradas referentes a todos os usuários e máquinas, mas é fácil ver apenas as entradas
referentes a um determinado usuário, compartilhamento, endereço IP ou outro parâmetro qualquer ao
listar o arquivo pelo terminal usando o grep, que permite mostrar apenas as linhas contendo determinados
trechos de texto, como em:

4 de 8 11/11/2011 21:32
Configurar auditoria e lixeira no Samba http://www.sysadmin.eti.br/blog/?p=332

# cat /var/log/samba-full_audit.log | grep "junior|192.168.1.23"

(mostra os acessos provenientes do usuário junior, feitos a partir do endereço 192.168.1.23)

# cat /var/log/samba-full_audit.log | grep "|arquivos|"

(acessos feitos ao compartilhamento “arquivos”, por parte de qualquer usuário)

… e assim por diante. Você pode também direcionar a saída para um novo arquivo (ao invés de tentar
lê-la pelo próprio terminal), como em:

# cat /var/log/samba-full_audit.log | grep "|arquivos|" > arquivos.log

Referências:

http://www.butecodebits.com.br/2008/04/20/servidor-samba-lixeira

http://www.guiadohardware.net/tutoriais/samba-configuracao-avancada/

http://hamacker.santhanna.net/?p=cwcndzut&paged=12

Compartilhar isto: Facebook 0 Share


Share Email Print

By Taurion Pimentel Júnior • Dica, Linux, Servidores • 0 • Tags: Linux, Lixeira, Samba

Comandos do terminal Linux de A a Z Remover Kernel antigo com segurança no Ubuntu / Debian

Leave a Reply

Your Name *

Your Email *

Your Website

Spam protection: Sum of 5 + 6 ? *

Arquivos

setembro 2011
julho 2011
abril 2011
janeiro 2011
novembro 2010

5 de 8 11/11/2011 21:32
Configurar auditoria e lixeira no Samba http://www.sysadmin.eti.br/blog/?p=332

outubro 2010
julho 2010
junho 2010
maio 2010
abril 2010
março 2010
janeiro 2010
dezembro 2009
novembro 2009
outubro 2009
setembro 2009

Comentários Recentes

Júnior: Só seguir os passos descritos em: "Sincronizar contatos e a…

Ricardo Ferreira: Funcionou 100%, e agora ? Qual aplicativo que utilizo para g…

Alessandro: Meu garoto! Obrigado! …

Diego Marwell: Opa! Valeu a ajuda!!! Fiz aqui e realmente funcionou! ^^ …

Gabriel Mendes: vlw cara me ajudou muito eu tava precisando usar só q naum …

Calendário

novembro 2011
S T Q Q S S D
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
« set

Lista de Links

Best Linux
BR-Linux
Comunidade Tux-ES
Dicas-L
Élison Gomes
Geek.com.br
Notícias Linux
Revista Espírito Livre
Segurança Linux
Softwarelivre.org
Under-Linux
Viva o Linux

6 de 8 11/11/2011 21:32
Configurar auditoria e lixeira no Samba http://www.sysadmin.eti.br/blog/?p=332

Tags

aMSN apt-get ati BCM4312 boot browser compartilhamento Debian Dell Inspiron driver envy envyng erro espirito extras fedora Firefox

fontes Geek Gnome grub IP jumpbox Karmic Koala lilo Linus Torvalds Linux livre nvidia pastas Rede restricted Revista

Samba servidor Software Ubuntu ubuntuzilla video VirtualBox Virtualização vírus Windows Windows 7 Wireless

Meta

Login
Posts RSS
RSS dos comentários
WordPress.org

Banners Sidebar

7 de 8 11/11/2011 21:32
Configurar auditoria e lixeira no Samba http://www.sysadmin.eti.br/blog/?p=332

Virtualização
Reduza custos e aumente eficiência de
sua infraestrutura de TI.
www.globalcrossing.com

Hyper-V Virtualização MS
Tecnologia de Virtualização de
Servidor com a Computação em
Nuvem!
technet.microsoft.com/HyperV

Cloud Linux
Solução de Cloud Computing Locaweb
Pioneirismo em Hosting no Brasil!
www.Locaweb.com.br/Cloud

© SysAdmin 2011
Powered by WordPress • Themify WordPress Themes

8 de 8 11/11/2011 21:32

Você também pode gostar