É possível ter um arquivo com uma data modificada anterior à data de criação? Quais ações causariam esse evento?
metadata
file-attributes
AlexanderRD
fonte
fonte
Respostas:
Considere um arquivo .tar que é extraído. Normalmente, os arquivos extraídos terão um carimbo de data / hora da última modificação atribuído a partir do conteúdo do arquivo (o que normalmente ocorre no passado, a menos que você seja um viajante do tempo). No que diz respeito ao sistema de arquivos, esses arquivos foram criados.
Também existem utilitários para alterar o tempo de modificação dos arquivos existentes; no Linux, por exemplo, este é o comando touch .
fonte
cp -p
e as coisas que imitam-lo comorcp -p
escp -p
, assim comorsync
com-t
ou-a
, leva o modtime da fonte.Se você criar um arquivo a partir do zero, receberá um horário de criação de "agora" e uma data de modificação de "agora". Agora imagine copiar esse arquivo para outra unidade. O Windows manterá a hora da modificação, mas a hora de criação desse arquivo será definida para a hora em que você copiou o arquivo para essa unidade (ou seja, a hora em que o arquivo foi criado nessa unidade). Simples assim.
Na verdade, está correto:
fonte
No Windows, é muito fácil definir (falsificar, se você desejar) os horários criados e modificados de um arquivo. Você não precisa alterar o relógio do computador; você nem precisa de acesso de administrador local. Tudo o que você precisa é de acesso de gravação ao arquivo em questão.
Para definir a hora de criação de um arquivo com o PowerShell usando
SetCreationTime
:Para definir a hora da última modificação usando
SetLastWriteTime
:No Linux, você pode facilmente alterar a hora da última modificação de um arquivo com o
-d
sinalizador detouch
, como mostrado nesta resposta ao Ubuntu . Não há realmente uma noção de data de criação para arquivos em sistemas de arquivos Linux ( leia mais em Unix e Linux ).fonte
Sim. No Windows, faça uma alteração no arquivo e salve-o. Agora copie o arquivo. Observando as propriedades da cópia, você verá uma data de modificação anterior.
fonte
O mais importante a ser observado aqui é que o tempo de modificação do arquivo não é realmente especial - ele é armazenado como qualquer outro dado. Não há como saber quando os dados foram realmente gravados ou lidos pela última vez.
A partir daqui, podemos ver que sempre é possível (excluindo a mídia de gravação única, como um CD) modificar diretamente os bits em uma unidade que armazena a hora da última modificação, ou mesmo a hora da criação.
Mais praticamente, isso também é possível a partir de sistemas operacionais comuns, como outras respostas observaram. No Windows, isso é fornecido pela
SetFileTime
função WinAPI , e você pode fazer issoutime
no Linux. Ferramentas comotouch
compilação sobre essas APIs.O uso legítimo mais comum para essas APIs é preservar o tempo de modificação, por exemplo, ao copiar arquivos, extraí-los de arquivos, etc.
fonte
Na minha experiência, foi quando um ou mais computadores foram usados para modificar o arquivo e um deles tem a hora errada do sistema. As três causas mais comuns para o horário do sistema estar errado, em nenhuma ordem específica são:
fonte