ID do arquivo que não muda após renomear

3

Estou tentando gravar um script de utilitário de sistema que será executado como uma tarefa cron e capturará as configurações do ambiente e das estatísticas do sistema de arquivos para rastrear o maior número possível de alterações.

Considere o seguinte cronograma

T0: there is a file /dir/fileX.txt
T1: job runs and captures every file and its stats (permissions, size, checksum etc), including /dir/fileX.txt
T2: mv /dir/fileX.txt /dir/fileY.txt
T3: job runs again and recaptures the file system.  But all it can tell is that fileX.txt was deleted and fileY.txt created

Existe algum ID de arquivo que não será alterado se eu renomear o arquivo para o qual posso digitar todos os arquivos em vez do nome? Dessa forma, no T1 eu iria digitar o arquivo, mas esse ID e não o nome e o nome do arquivo seria apenas outro atributo. No T3, poderei dizer que é o mesmo arquivo, mas o nome mudou porque o ID permanece o mesmo.

    
por amphibient 17.06.2014 / 18:59

3 respostas

3

Parece que usar inodes é o que você está procurando. Fazer referência a arquivos com base em seu inode é uma boa maneira de contornar alguns problemas comuns de nomes de arquivos (por exemplo, tentar excluir um arquivo chamado "test *" que normalmente faria rm balk) e, em seu caso particular, permitir que você referenciar o objeto.

    
por 17.06.2014 / 19:17
1

A primeira resposta que eu daria a você é executar um md5sum no arquivo e armazenar os resultados.

Depois de me lembrar de um artigo antigo sobre o sistema de arquivos com a soma de verificação
Seguindo esse conceito, existe uma opção experimental com os sistemas de arquivos ext4 .

Existe um relatório de 2013 que define esse recurso do ext4 experimental, mas sempre melhor que o Btrfs. O autor fez um script para superar os problemas de estabilidade que geram uma soma de verificação para cada arquivo e armazenam como e atributo estendido. Você encontra script e instruções no relatório.

Talvez uma dessas soluções possa ser adequada para você.

    
por 17.06.2014 / 20:34
0

Sua pergunta parece que você precisa de um sistema de detecção de intrusão baseado em host personalizado.

Dê uma olhada em alguns deles para verificar se você pode compilá-los ou configurá-los da maneira que preferir.

Alguns nomes: samhain tripwire aide

    
por 17.06.2014 / 22:03

Tags