Weird permission checking on unlink
"Steve Landherr" <[email protected]> Thu, 12 Aug 2004 18:08:59 -0700
| Newsgroups | gmane.comp.file-systems.opengfs.devel |
|---|---|
| Message-ID | <[email protected]> |
Howdy, folks. I've run into a strange problem removing files in OpenGFS. Here's the scenario: As root: # mkdir /ogfs/test # chmod 707 /ogfs/test As some other user: $ touch /ogfs/test/file $ rm /ogfs/test/file The touch succeeds, but the rm fails with Operation not permitted (EPERM). Now as root: # chown other_user /ogfs/test And as other_user: $ rm /ogfs/test/file Now the rm succeeds. This problem seems to be in the ogfs_dir_permissions() function, introduced in rev 1.4 of src/fs/arch_linux_2_4/inode_linux.c. It was added in Jan 2002 to fix a problem where the group list was not being honored for unlink/renames. But it has the nasty side-effect of ignoring the world permission bits altogether. As a reference point, I took a look at the ext3 code, and it does no permission checking at all in ext3_unlink. Instead it leaves the checks to the VFS layer, and expects the operation to be fully authorized by the time it is called. Can anyone see a reason why OpenGFS should not be trusting the VFS layer's permission checks? -steve -- Steve Landherr -- [email protected] San Francisco, California ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285