ID do arquivo que não muda ao renomear

ID do arquivo que não muda ao renomear

Estou tentando escrever um script de utilitário do sistema que será executado como um cron job e capturará estatísticas do sistema de arquivos e configurações de ambiente para rastrear o máximo de alterações possível.

Considere a seguinte linha do tempo

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 pelo qual posso codificar todos os arquivos em vez do nome? Dessa forma, em T1 eu digitaria o arquivo, mas esse ID e não o nome e o nome do arquivo seria apenas mais um atributo. No T3 poderei dizer que é o mesmo arquivo, mas o nome mudou porque o ID permanece o mesmo.

Responder1

Parece que usar inodes é o que você está procurando. Referenciar arquivos com base em seu inode é uma boa maneira de contornar alguns problemas comuns de nome de arquivo (por exemplo, tentar excluir um arquivo chamado "test*", o que normalmente faria o rm hesitar) e, no seu caso específico, deve permitir que você referenciar o objeto.

Responder2

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

Depois que me lembrei de umartigo antigosobre sistema de arquivos com soma de verificação.
Seguindo esse conceito existe uma opção experimental comsistemas de arquivos ext4.

Há umrelatório de 2013que define esse recurso do ext4 experimental, mas sempre melhor que o Btrfs. O autor fez um script para superar esses problemas de estabilidade que geram um checksum para cada arquivo e o armazenam como um atributo estendido. Você encontra roteiro e instruções no relatório.

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

Responder3

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 deseja que se comportem.

Alguns nomes:samhain tripwire aide

informação relacionada