LINUX.ORG.RU

[inode][ctime] Как изменить st_ctime?


0

0

У inode есть поля:
time_t st_atime;
time_t st_mtime;
time_t st_ctime;

st_atime и st_mtime можно поменять сисколом utime.

А как изменить st_ctime?
Можно ли изменить на произвольное значение, не прибегая к радикальным методам типа смены системного времени или правки через /dev/sdx ?

нельзя, она лежит в inode, а любая операция с inode обновляет ctime. а зачем?

gavv ()
Ответ на: комментарий от gavv

Я в курсе, что изменение режима, владельца, группы и т.д. меняет время ctime.
Ну зачем - это другой вопрос... Например восстановить файл из архива с оригинальным ctime или заметание следов взлома. Лично я ботаю UNIX, и мне просто интересно.

Вроде бы изменение ctime не похоже на чудовищную операцию, которая не совместима с жизнью файловой системы?

Может я чего-то непонимаю, тогда прошу ткнуть меня носом в пруфлинки.

Менять можно, только криво - через смену системного времени, либо через запись в /dev/sdx

microprogs ()
Ответ на: комментарий от microprogs

гм.. так назначение ctime противоречит такому изменению.
ctime, например, используется в ядре как время последней реальной модификации. соотвественно, это такая же гарантия пользователю

ну, например, так можно поискать
$ grep i_ctime /usr/src/linux/fs/ -R

gavv ()
Ответ на: комментарий от gavv

Да. Похоже, что ctime - это некая гарантия целостности inode, поэтому и нету сискола для ее изменения.
Спасибо.

microprogs ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.