터치 날짜/시간 위조에 대한 완화 방법이 있나요?

터치 날짜/시간 위조에 대한 완화 방법이 있나요?

touch -tLinux를 사용하기 시작했을 때 항상 파일의 시간을 변경 하곤 했습니다 . touch날짜/시간 위조에 대한 완화 방법이 있습니까?

마찬가지로, 터치를 사용해도 원래 생성 날짜와 시간이 에코됩니다.

답변1

바라보다이것스택 오버플로 답변:

를 사용하여 생성 시간을 얻을 수 있지만 debugfs이를 수행하려면 루트 권한이 필요합니다. 또한 모든 파일 시스템이 이를 inode 구조에 저장하는 것은 아니라고 생각합니다. 존재가 보장되는 것은 inode 변경 시간(ctime), 파일 수정 시간(mtime), 마지막 액세스 시간(atime, 파일 시스템이 mounts를 사용하는 경우 정확성이 보장되지 않음 noatime)입니다.

답변2

파일 수정 시간은 파일 소유자가 자유롭게 선택할 수 있습니다. 파일의 inode 변경 시간(ctime)을 확인할 수 있습니다. 이 시간은 현재 시간으로만 설정할 수 있으며 파일의 메타데이터를 수정하면(예: mtime 변경) ctime이 현재 시간으로 재설정됩니다.

특정 날짜 이후 파일이 변경되지 않았는지 확인하려면 ctime을 확인하면 됩니다. 그러나 ctime은 속성 변경, 파일 이동 또는 복사, 백업에서 복원 등 악의적이지 않은 이유로 업데이트될 수 있습니다.

물론 루트 사용자는 시스템 시간을 변경하거나 파일을 직접 조작하여 이 문제를 우회할 수 있습니다.

과거 특정 시점의 파일 상태를 테스트하는 신뢰할 수 있는 방법은 해당 시점에 생성된 스냅샷이나 백업을 참조하는 것입니다.

관련 정보