On Tue, May 13, 2003 at 03:02:05AM +0200, Wouter Verhelst wrote: > > $ chmod -w f; touch -d 'next year' f; ls -l f > > -r--r--r-- 1 jidanni jidanni 666 2004-05-13 03:02 f > > You can only do that if you have write permissions to the directory the > file is in; if not:
which is not quite true: gast:sandbox> ls -la drwxrwxrwx 2 ecki ecki 28 May 13 03:30 . drwxrwxr-x 217 ecki ecki 45056 May 13 03:28 .. -r--r--r-- 1 ecki ecki 0 May 13 03:28 bla -rw-r--r-- 1 gast ecki 0 May 13 03:29 fasel -rw-rw-rw- 1 ecki gast 0 May 13 03:30 bar gast:sandbox> id uid=1010(gast) gid=1010(gast) groups=1010(gast) gast:sandbox> touch bla touch: cannot touch `bla': Permission denied gast:sandbox> touch fasel gast:sandbox> touch bar gast:sandbox> ls -la drwxrwxrwx 2 ecki ecki 28 May 13 03:30 . drwxrwxr-x 217 ecki ecki 45056 May 13 03:28 .. -r--r--r-- 1 ecki ecki 0 May 13 03:28 bla -rw-r--r-- 1 gast ecki 0 May 13 03:32 fasel -rw-rw-rw- 1 ecki gast 0 May 13 03:32 bar as you can see "gast" can only touch fasel and bar, but not bla. bla is neighter owned nor writeable by gast, even tough the dir is world-writeable. > This is because those timestamps are saved in the directory inode this is because the timestamp and the permission is saved in the file-inode, and the dir entry has no info about that. This is btw a "feature" of the kernel, not core-utils. Greetings Bernd