Используйте системный вызов "utime". Если вы посмотрите на его man-страницу, там также будут времена, имеющие микросекундное разрешение и ссылку на utimensat, которая имеет наносекундное разрешение.
Любое изменение в inode, например, изменение времени, установит «ctime» на текущее время, поэтому установка ctime на что-то в прошлом немедленно перевернет его обратно в настоящее. Они поняли это давным-давно, поэтому нет интерфейса для установки ctime.
Это также помогает поддерживать целостность системы: вы можете возиться с atime и mtime, но ctime поддерживается системой.
(Хакер может, например, изменить ваш / bin / login, чтобы разрешить ему доступ, даже если вы удалите его / etc / passwd запись. Вы заметите его из-за необычного mtime в файле. В следующий раз он вернет mtime обратно, когда система был установлен, но он не может скрыть ctime!).