Incron - supervisionando sistemas de arquivos

Neste artigo, irei abordar como monitorar alterações em diretórios e arquivos, assim como executar comandos ou
scripts para automatizar alguma tarefa usando o Incron.

[ Hits: 24.695 ]

Por: Perfil removido em 24/01/2012


Arquivos de configuração, símbolos e opções do incrontab



Quando o Incron é instalado via gerenciador de pacotes, é criado dentro do diretório "/etc" alguns arquivos que descreverei abaixo:
  • "/etc/incron.conf": Arquivo de configuração principal do Incron. Contém as configurações padrão para o programa 'incrond'. Cada linha possui um único par de valores na forma 'opção = valor'.
  • "/etc/incron.deny": Arquivo que detém a lista de usuários não autorizados a usar o Incron e ter uma 'incrontab' própria.
  • "/etc/incron.allow": Arquivo que detém a lista de usuários autorizados a usar o Incron e ter uma 'incrontab' própria.
  • "/etc/init.d/incron": Script para iniciar, parar e reiniciar o Daemon 'incrond'.

O arquivo principal de configuração é o "/etc/incron.conf", nele deverá ser colocado o 'path' dos outros arquivos assim como opções gerais de uso da ferramenta.

Abaixo, está listado o conteúdo do arquivo "/etc/incron.conf" traduzido, deixe ele assim ou modifique conforme seu uso:

# *** incron example configuration file ***
# Editado por Edson

# Parameter: system_table_dir
# Meaning: system table directory
# Description: This directory is examined by incrond for system table files.
# Default: /etc/incron.d
# system_table_dir = /var/spool/incron.systables

# Está opção especifica o diretório que conterá
# a tabela de arquivos incrontab de cada usuário
# que tenha autorização de usar o serviço incrond
# e escrever entradas na incrontab, o mesmo será
# examinado pelo incrond.
# Default: /var/spool/incron
   user_table_dir = /var/spool/incron

# Opção usada para especificar o arquivo que será
# usado para manter a lista de usuários autorizados
# a usar o serviço incrond e escrever entradas na
# propria incrontab.
# Default: /etc/incron.allow
   allowed_users = /etc/incron.allow

# Opção usada para especificar o arquivo que será
# usado para manter a lista de usuários não autorizados
# a usar o serviço incrond e escrever entradas na
# propria incrontab.
# Default: /etc/incron.deny
   denied_users = /etc/incron.deny

# Opção usada para especificar o diretório que
# contém o arquivo da opção: lockfile_name.
# Default: /var/run
   lockfile_dir = /var/run

# Está opção é utilizada para especificar o nome do
# arquivo que será utilizado para ter o pid do processo
# impedindo que seja aberta várias instâncias do serviço.
# Default: incrond
   lockfile_name = incrond

# Esta opção é utilizada para especificar qual será o
# editor de texto utilzado para editar a tabela do incrontab.
# Deve ser especificado o nome ou o caminho completo do comando.
   editor = vim


Para permitir o uso do serviço para algum usuário, é só editar o arquivo "/etc/incron.allow" listando os nomes dos usuários ou o arquivo que configurou no "/etc/incron.conf".

É necessário que o 'root' esteja listado no "/etc/incron.allow", caso não esteja, ele será bloqueado e não usará o serviço. Abaixo tem o exemplo:

# vim /etc/incron.allow

root
edson


Neste caso, os usuários 'root' e 'edson', estão podendo escrever entradas na 'incrontab', cada um com sua 'incrontab'.

Símbolos de Eventos

Abaixo, descrevo alguns símbolos de eventos e o que significam:
  • IN_ACCESS: O arquivo foi acessado (lido).
  • IN_ATTRIB: Metadados alterados (permissões, timestamps, atributos estendidos, etc.).
  • IN_CLOSE_WRITE: Arquivo aberto para a escrita foi fechado.
  • IN_CLOSE_NOWRITE: Arquivo não aberto para escrita foi fechado.
  • IN_CREATE: Arquivo ou diretório criado no diretório monitorado.
  • IN_DELETE: Arquivo ou diretório excluído do diretório monitorado.
  • IN_DELETE_SELF: Arquivo ou diretório monitorado foi-se excluído.
  • IN_MODIFY: O arquivo foi modificado.
  • IN_MOVE_SELF: Arquivo ou diretório monitorado foi movido.
  • IN_MOVED_FROM: Arquivo foi movido para fora do diretório monitorado.
  • IN_MOVED_TO: Arquivo foi movido para diretório monitorado.
  • IN_OPEN: Arquivo foi aberto.
  • IN_ALL_EVENTS: símbolo é definido como uma máscara de bits de todos os eventos acima.

- Opções:
  • $$: Cifrão
  • $@: Representa o diretório monitorado.
  • $#: Representa o arquivo que aconteceu o evento.
  • $%: Representa o evento ocorrido sobre o objeto (em modo texto).
  • $&: Representa o evento ocorrido sobre o objeto (em modo numérico).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Arquivos de configuração, símbolos e opções do incrontab
   3. Usando o incron e escrevendo entradas na incrotab
Outros artigos deste autor

Aixgl + Beryl no Slackware

Migrando para Linux sem medo

Instalando o Slackware sem sofrimento (parte 2)

PuTTY - Release 0.66 - Parte IV

Internacionalização de Caracteres em Computadores

Leitura recomendada

Servidor SSH (Secure Shell Hosting)

Consegue guardar um segredo?

Segurança no SSH via plugins da PAM

Iptables protege contra SYN FLOOD?

Distribuição CAINE Linux para forense digital: em Live-CD, pendrive, máquina virtual ou direto em seu Ubuntu 10.04

  
Comentários
[1] Comentário enviado por brk0_0 em 05/04/2012 - 01:42h

Extremamente útil, obrigado!

[2] Comentário enviado por removido em 17/05/2012 - 20:25h

Cara muito bom o seu tutorial, procurei no Google por outros tutoriais mas o seu é o melhor, muito bem explicado e extremamente útil

[3] Comentário enviado por AprendiNoLinux em 17/05/2012 - 20:46h

Show de bola ;)
Tentei monitorar alterações no meu desktop mas não consegui. Parece que tem problemas com diretorios com espaço.

[4] Comentário enviado por removido em 17/05/2012 - 22:15h

Boa noite, obrigado pelos comentários.

Colega AprendiNoLinux quando diretórios tem espaços nos nomes, imagino que seja espaço no nome é isso ? nunca tive esse problema.

exemplo se quero monitorar o diretório: /opt/exemplo/teste inicial

a entrada ficaria com o diretório desse jeito:

/opt/exemplo/teste\ inicial IN_MODIFY,IN_CLOSE_WRITE,IN_ATTRIB /local/do/script/meu_script.sh

espero ter ajudado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts