Я работаю с 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 имеет отношение к групповым разрешениям
Я больше не знаю подробностей, но я думаю, что до этого времени групповая химическая завивка медленно внедрялась должным образом.