4

I'm working with zfs-fuse as a way to provide filesystem compression on existing CentOS 5 servers. I'm dealing with a highly-compressible dataset (80%), so zfs-fuse comes in handy. I'm encountering file permission problems with the storage pools.

It appears that zfs-fuse is ignoring or only partially recognizing file permissions for non-owners.

Assuming a zfs-fuse filesystem mounted at: /app/november comprised of files with permissions of 666 (-rw-rw-rw-) and owner "jack", I can read files and delete them as user "jill". However, I cannot write to those files or save them. Basically, everything is read-only if I'm not the owner of the files.

[jill@Vail /app/november]$ whoami jill [jill@Vail /app/november]$ ls -l testfile -rw-rw-rw- 1 jack jack 27 Dec 18 12:12 testfile [jill@Vail /app/november]$ touch testfile touch: setting times of `testfile': Operation not permitted [jill@Vail /app/november]$ rm testfile [jill@Vail /app/november]$ touch testfile [jill@Vail /app/november]$ ls -l total 1 -rw-rw-rw- 1 jill jill 0 Dec 18 13:57 testfile 

Any ideas? Is there a fix for this? I think this is a Fuse issue, as I've seen similar issues elsewhere for this and other Fuse filesystems...

The zfs-fuse package was downloaded from the EPEL repository.
rpm info...
fuse-2.7.4-8.el5
zfs-fuse-0.6.9_p1-6.20100709git.el5.1

Edit - The mount output is as follows, showing zpool mounts and the Fuse info.

[root@Vail ~]# mount /dev/cciss/c0d0p2 on / type ext3 (rw,noatime) /dev/cciss/c0d0p9 on /app type xfs (rw,noatime,logbufs=8,logbsize=256k,nobarrier) /dev/cciss/c0d0p8 on /tmp type ext3 (rw,noatime) /dev/cciss/c0d0p7 on /var type ext3 (rw,noatime) /dev/cciss/c0d0p3 on /usr type ext3 (rw,noatime) /dev/cciss/c0d0p1 on /boot type ext3 (rw) kstat on /zfs-kstat type fuse (rw,nosuid,nodev,allow_other) vol1 on /vol1 type fuse (rw,allow_other,default_permissions) vol1/november on /app/november type fuse (rw,allow_other,default_permissions) vol1/december on /app/december type fuse (rw,allow_other,default_permissions) 
4
  • can you provide mount output? Commented Dec 19, 2011 at 15:50
  • Revised with mount information. Commented Dec 19, 2011 at 16:21
  • can you give us the permissions of /app/november after it's been mounted? ls -la /app/november thanks. Commented Dec 25, 2011 at 9:39
  • ls -ld /app/november/ returns drwxrwxrwx 2 jack jack 3 Dec 18 13:57 /app/november/ Commented Dec 25, 2011 at 11:42

2 Answers 2

0

Please try upgrading to a more recent fuse version. Fuse 2.8 introduced a new function (FUSE_VFS_HAS_DEFAULT_PERM) which if IIRC has to do with group permissions

Don't know the specifics any more, but I think the group perms were to slow to implement properly before that time.

1
  • I tried updating fuse on the system. The userspace and tools updated, but the fuse.ko kernel module is part of the RHEL 5 kernel. It can't be updated easily. Do I need to patch the kernel source? Commented Dec 28, 2011 at 12:54
0

IMHO rights for remove file are given by rights for directory (remove is operation on the directory), not the file... And what will doing:

echo "1" > testfile 

as a jill, when testfile is owned by jack?

2
  • echo "1" > testfile -bash: testfile: Operation not permitted Commented Dec 21, 2011 at 12:13
  • Hmmm... Then it seems to be a bug... :-(. Commented Dec 21, 2011 at 12:22

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.