Linux

CentOS/RHEL 5 上的 zfs-fuse 文件權限問題

  • December 22, 2011

我正在使用zfs-fuse作為在現有 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 問題,因為我在其他地方看到過這個和其他 Fuse 文件系統的類似問題……

zfs-fuse軟體包是從 EPEL 儲存庫下載的。

rpm info

fuse-2.7.4-8.el5

zfs-fuse-0.6.9_p1-6.20100709git.el5.1

編輯 - 掛載輸出如下,顯示 zpool 掛載和 Fuse 資訊。

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

請嘗試升級到更新的保險絲版本。Fuse 2.8 引入了一個新功能(FUSE_VFS_HAS_DEFAULT_PERM),如果 IIRC 與組權限有關

不再知道具體細節,但我認為團體燙髮在那之前要緩慢實施。

恕我直言,刪除文件的權限是由目錄的權限(刪除是對目錄的操作)而不是文件的權限給出的……並且會做什麼:

echo "1" > testfile

作為吉爾,當 testfile 歸傑克所有時?

引用自:https://serverfault.com/questions/342165