2011-05-21 8 views
5

¿Cómo puedo establecer un archivo Unix de ctime?¿Cómo establecer el tiempo de archivo de un archivo con Python?

(Yo más prefieren una respuesta en términos de Python Si no hay manera de hacerlo con el estándar de Python, entonces supongo C está bien también..)

(Nota: Yo sé que uno puede usar os.utime para establecer un archivo de atime y mtime. Estoy interesado en establecer ctime.)

(Nota 2: Espero que haya una respuesta que funcione para cualquier POSIXoid Unix, pero si no, estoy interesado en Darwin y Ubuntu.)

+0

Tengo entendido que no es posible cambiar el tiempo de un archivo sin atornillar todo lo demás. ¿Por qué necesitas este comportamiento? –

Respuesta

6

Es relativamente trivial establecer un archivo ctime a la hora actual. Simplemente modifique su mtime, dele la vuelta a un bit de permiso o incluso cree un enlace permanente. Es, AFAIK, imposible establecer el ctime de un archivo a un valor arbitrario usando la API de llamada del sistema de cualquier manera directa.

Si tiene acceso de root, puede establecer la hora del sistema, hacer algo con el archivo para establecer el tiempo de c a la hora actual y luego configurar el tiempo del sistema. También podrías hacer un poco de la estructura de datos del inodo en el disco. Pero ambas son ideas realmente malas por una serie de razones que no espero que deba explicar en detalle.

Cuestiones relacionadas