Permissions

為什麼root訪問FUSE目錄時會被拒絕?

  • April 29, 2021

我以自己的使用者身份使用沒有問題的 FUSE 文件系統,但 root 無法訪問我的 FUSE 掛載。相反,任何命令都會給出Permission denied. 如何授予 root 讀取這些掛載的權限?

~/top$ sudo ls -l
total 12
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 bar
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ fuse-zip foo.zip foo
~/top$ unionfs-fuse ~/Pictures bar

我的使用者yonran可以很好地閱讀它:

~/top$ ls -l
total 8
drwxr-xr-x 1 yonran yonran 4096 2011-07-25 18:12 bar
drwxr-xr-x 2 yonran yonran    0 2011-07-25 18:51 foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ ls bar/
Photos

但是root不能讀取任何一個 FUSE 目錄:

~/top$ sudo ls -l
ls: cannot access foo: Permission denied
ls: cannot access bar: Permission denied
total 4
d????????? ? ?      ?         ?                ? bar
d????????? ? ?      ?         ?                ? foo
drwxr-xr-x 2 yonran yonran 4096 2011-07-25 18:50 normal-directory
~/top$ sudo ls bar/
ls: cannot access bar/: Permission denied

我正在執行 Ubuntu 10.04:我總是從 Canonical 安裝任何更新。

$ uname -a
Linux mochi 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.3 LTS
Release:    10.04
Codename:   lucid

編輯:刪除了 root 曾經能夠訪問掛載的暗示。想一想,也許我的腳本從未嘗試以 root 身份訪問該目錄。

這是行之有效的方式fuse。如果要允許 root 或其他使用者訪問,則必須添加:

user_allow_other

在 /etc/fuse.conf 並使用allow_otherallow_root作為選項安裝您的 fuse 文件系統。

/etc/fuse.conf您可以使用 sshfs 命令行選項,而不是編輯系統範圍的配置文件:

sshfs -o allow_other user@server:/source /destination

編輯:感謝@lilith-elina 指出不-o allow_root應該在那裡使用。

引用自:https://unix.stackexchange.com/questions/17402