Mailinglisten-Archive |
Norbert Pfeiffer wrote: > Dies wuerde bedeuten, dass die 'change time' den Zeugungszeitpunkt > anzeigt, falls nicht nachtraeglich jemand die Rechte aendert ? /usr/include/linux/ext2_fs.h: 214 /* 215 * Structure of an inode on the disk 216 */ 217 struct ext2_inode { 218 __u16 i_mode; /* File mode */ 219 __u16 i_uid; /* Owner Uid */ 220 __u32 i_size; /* Size in bytes */ 221 __u32 i_atime; /* Access time */ 222 __u32 i_ctime; /* Creation time */ 223 __u32 i_mtime; /* Modification time */ 224 __u32 i_dtime; /* Deletion Time */ 225 __u16 i_gid; /* Group Id */ 226 __u16 i_links_count; /* Links count */ 227 __u32 i_blocks; /* Blocks count */ 228 __u32 i_flags; /* File flags */ ... 240 __u32 i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ 241 __u32 i_version; /* File version (for NFS) */ 242 __u32 i_file_acl; /* File ACL */ 243 __u32 i_dir_acl; /* Directory ACL */ ... Eigenschaften einer Datei sind (in Linux) also mode, uid (Owner), Größe, gid (Gruppe), Link Count, Flags (chattr-Flags) und erweiterte Zugriffsrechte. Wenn Du genau wissen möchtest, unter welchen Bedingungen genau was aktualisiert wird, dann mußt Du in /usr/src/linux/fs und /usr/src/linux/fs/ext2 einmal nach ctime suchen. Da bekommt man vergleichsweise schnell den Überblick, was was passiert. Ein Beispiel: kk_(at)_land:/usr/src/linux/fs/ext2 > grep ctime * file.c: /* POSIX: mtime/ctime may not change for 0 count */ file.c: inode->i_ctime = inode->i_mtime = CURRENT_TIME; Und in file.c dann: 154 static ssize_t ext2_file_write (struct file * filp, const char * buf, 155 size_t count, loff_t *ppos) 156 { ... 308 inode->i_ctime = inode->i_mtime = CURRENT_TIME; ... Wenn also in eine Datei geschrieben wird, wird die ctime und die mtime aktualisiert (womit dann Deine Bemerkung oben auch gleich entkräftet wird: Es reicht, an eine Datei anzuhängen oder sie sonstwie zu beschreiben und die ctime ändert sich). Wenn man die ganzen i_ctime = CURRENT_TIME durchgeht, bekommt man so eine vollständige Liste der Bedingungen, unter denen die ctime geändert wird. Kristian -- Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00 Using PHP3? See our web development library at http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive