This commit is contained in:
Miklos Szeredi 2004-07-26 19:38:45 +00:00
parent 209f5d053b
commit 94ed76ad4a
3 changed files with 19 additions and 14 deletions

View File

@ -1,3 +1,8 @@
2004-07-26 Miklos Szeredi <miklos@szeredi.hu>
* Check permissions in setattr if 'default_permissions' flag is
set. Bug spotted by Damjan Lango
2004-07-24 Miklos Szeredi <miklos@szeredi.hu>
* 'large_read' mount option removed for 2.6 kernels, since the

23
README
View File

@ -20,22 +20,22 @@ and checking out the 'fuse' module.
Installation
============
See the file 'INSTALL'
./configure
make
make install
IMPORTANT NOTE: If you run a system with untrusted users, installing
this program is not recommended, as it could be used to breach
security (see the 'Security' section for explanation).
Also see the file 'INSTALL'
How To Use
==========
FUSE is made up of three main parts:
- A kernel filesystem module (kernel/fuse.o)
- A kernel filesystem module
- A userspace library (lib/libfuse.a)
- A userspace library
- A mount/unmount program (util/fusermount)
- A mount/unmount program
Here's how to create your very own virtual filesystem in five easy
@ -45,20 +45,15 @@ steps (after installing FUSE):
2) Build the fusexmp program
3) run 'example/fusexmp /mnt/whatever -d'
3) run 'example/fusexmp /mnt/fuse -d'
4) ls -al /mnt/whatever
4) ls -al /mnt/fuse
5) Be glad
If it doesn't work out, please ask! Also see the file 'include/fuse.h' for
detailed documentation of the library interface.
The fusermount program accepts a couple of additional options (see
'fusermount -h'). You can add these options after a '--' like this:
example/fusexmp /mnt/whatever -d -- -l
Security
========

View File

@ -762,6 +762,11 @@ static int fuse_setattr(struct dentry *entry, struct iattr *attr)
int err;
int is_truncate = 0;
if (fc->flags & FUSE_DEFAULT_PERMISSIONS) {
err = inode_change_ok(inode, attr);
if (err)
return err;
}
if (attr->ia_valid & ATTR_SIZE) {
unsigned long limit;