É possível registrar eventos do sistema de arquivos no Windows ou Linux? [duplicado]

0

É possível registrar eventos do sistema de arquivos como cópia, modificação, exclusão e criação de arquivos e pastas em uma estação de trabalho? Eu uso principalmente o Windows, mas gostaria de saber se isso também é possível no Linux. Se nenhuma dessas funcionalidades estiver incorporada, existe um produto comercial que possa oferecer essa funcionalidade?

É isso que eu gostaria que o arquivo de log incluísse.

Date         Time    User      Action   Type    Source                   Destination
2013-03-12   15:10   Austin    Copy     File    K:\Alabama\Mobile.txt    L:\Mobile.txt
2013-04-15   09:12   Bradley   Create   Folder                           C:\Chicago
2013-04-23   13:45   Cedric    Delete   Folder  G:\Colorado
2013-05-04   16:03   David     Modify   File    D:\Florida\Miami.txt

Pode não ser exatamente assim, mas algo semelhante. Gostaria de saber quem fez o que, a que horas, onde e para qual pasta ou arquivo. Este é um log aparentemente muito simples, mas seria muito útil.

Atualizar

A solução sugerida na pergunta vinculada acima diz que deve-se usar a Diretiva de Grupo no Microsoft Management Console para habilitar a auditoria de objetos e, em seguida, o Visualizador de Eventos para exibir os logs.

Habilitei a auditoria para meu próprio nome de usuário na pasta Desktop e tentei criar um arquivo de texto. No mesmo segundo em que o arquivo foi criado, 39 novos eventos foram produzidos no log! Olhei para o relógio quando criei o arquivo e depois filtrei o log para eventos criados naquele exato segundo. Eu tive que procurá-los um por um para encontrar o evento que indica claramente o caminho e o nome do arquivo.

Quando tentei excluir o arquivo (permanente, não reciclando para a lixeira), nesse mesmo segundo 210 eventos foram registrados. Quem diabos quer passar por todos os eventos para encontrar o caminho certo? Para encontrar o evento exato, eu precisaria saber de antemão que um certo fato ocorreu. O que torna inútil todo o propósito disso. E eu precisaria saber algo sobre o par, ou seja, o nome do arquivo criado ou algo assim e tentar filtrar isso. Existem 28000 eventos armazenados no log de segurança .

Por esse motivo, não acho que essa seja a solução para o problema. Bem, de qualquer maneira, não é inteligente. Seria muito mais fácil usar uma ferramenta dedicada para isso. O log de segurança no Windows registra todos os tipos de eventos relacionados à segurança que são completamente desinteressantes para mim.

Samir
fonte
Não sei se existem produtos comerciais (ou gratuitos) que fazem isso, mas Windows, Linux e OS X possuem mecanismos internos para relatar eventos do sistema de arquivos para aplicativos que desejam ouvi-los.
Darth Android

Respostas:

4

Parece um trabalho para o Process Monitor no Windows e inotifywait no Linux

Exemplos:

Aqui está uma captura de tela do Process Monitor em ação

E aqui está o inotifywait observando as alterações em um subdiretório específico:

$ inotifywait -m /tmp/stuffthings/
Setting up watches.  
Watches established.
/tmp/stuffthings/ OPEN,ISDIR 
/tmp/stuffthings/ CLOSE_NOWRITE,CLOSE,ISDIR 
/tmp/stuffthings/ CREATE file.txt
/tmp/stuffthings/ OPEN file.txt
/tmp/stuffthings/ MODIFY file.txt
/tmp/stuffthings/ CLOSE_WRITE,CLOSE file.txt

Você pode instalar inotifywait e programas relacionados no Ubuntu assim:

sudo apt-get install inotify-tools
Nate de Kalamazoo
fonte
Tudo bem, vou olhar para estes. Você pode me dizer se essas ferramentas são ferramentas de monitoramento puras ou se também possuem a funcionalidade de log? Quero dizer, não quero que eles funcionem em primeiro plano o tempo todo. Eu só quero que eles produzam logs talvez dos últimos 1000 eventos de arquivos e pastas e os salvem em um local predefinido.
Samir
inotifywait é infinitamente personalizável, você provavelmente poderia escrever um shell script para rastrear praticamente tudo e, com uma pequena ajuda de seus amigos da stackexchange, gire os logs. Não usei tanto o Process Monitor, talvez alguns administradores do Windows ou o pessoal de suporte da área de trabalho possam oferecer mais informações?
Nate de Kalamazoo