Назад | Перейти на главную страницу

Проблемы с правами доступа к файлам zfs-fuse на CentOS / RHEL 5

Я работаю с zfs-предохранитель как способ сжатия файловой системы на существующих серверах CentOS 5. Я имею дело с набором данных с высокой степенью сжатия (80%), поэтому zfs-fuse мне пригодится. У меня проблемы с правами доступа к файлам в пулах хранения.

Похоже, что zfs-fuse игнорирует или только частично распознает права доступа к файлам для не-владельцев.

Предполагая, что файловая система zfs-fuse смонтирована по адресу: /app/november состоящий из файлов с правами доступа 666 (-rw-rw-rw-) и владельцем "jack", я могу читать файлы и Удалить их как пользователя "jill". Однако я не могу писать в эти файлы или сохранять их. По сути, все доступно только для чтения, если я не являюсь владельцем файлов.

[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

Любые идеи? можно ли это исправить? Я думаю, что это проблема с предохранителем, как я видел похожие проблемы в другом месте для этой и других файловых систем Fuse ...

В zfs-fuse Пакет был загружен из репозитория EPEL.
rpm info...
предохранитель-2.7.4-8.el5
zfs-предохранитель-0.6.9_p1-6.20100709git.el5.1

Изменить - вывод монтирования выглядит следующим образом, показывая крепления zpool и информацию о предохранителе.

[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)

IMHO права на удаление файла даются правами на каталог (удаление - это операция с каталогом), а не на файл ... И что будет делать:

echo "1" > testfile

как Джилл, когда тестовый файл принадлежит Джеку?

Попробуйте выполнить обновление до более новой версии fuse. Fuse 2.8 представил новую функцию (FUSE_VFS_HAS_DEFAULT_PERM), которая, если IIRC имеет отношение к групповым разрешениям

Я больше не знаю подробностей, но я думаю, что до этого времени групповая химическая завивка медленно внедрялась должным образом.