Linux

使用者可以讀取但root不能讀取的目錄?

  • March 19, 2014

在我的主目錄下有一個名為“.gvfs”的目錄。作為我的普通使用者帳戶,我可以很好地閱讀它:

~ $ ls -lart ~raldi/.gvfs
total 4
dr-x------  2 raldi raldi    0 2009-05-25 22:17 .
drwxr-xr-x 60 raldi raldi 4096 2009-05-25 23:08 ..
~ $ ls -d ~raldi/.gvfs
dr-x------ 2 raldi raldi 0 2009-05-25 22:17 /home/raldi/.gvfs

但是,作為 root 我不能“ls”甚至“ls -d”它:

# ls ~raldi/.gvfs
ls: cannot access /home/raldi/.gvfs: Permission denied
# ls -d ~raldi/.gvfs
ls: cannot access /home/raldi/.gvfs: Permission denied

而且,只是為了確保:

# echo $UID $EUID
0 0

這只是 Ubuntu 8.10 的簡單家庭安裝,沒有 NFS 或類似的奇怪東西。我看到該目錄被標記為非世界可讀(並且非世界-x-able),但我認為當你是 root 時這些都不適用。例如,我可以在 /tmp 中創建一個 mode-000 目錄並將其提供給非 root 使用者,而 root 可以輕鬆讀取、寫入等等。

知道發生了什麼嗎?

來自:http ://bugzilla.gnome.org/show_bug.cgi?id=534284

這一切都是不幸的,但這是由核心級別的熔絲人員做出的決定(安裝 fs 的使用者以外的使用者無法訪問它,包括 root),我們對此無能為力。

另見:https ://bugs.launchpad.net/gvfs/+bug/225361

解決方案似乎是更新您的/etc/fuse.conf並啟用user_allow_other選項。您可能還需要讓 gvfs 傳遞 allow_root 或 allow_other,但我不確定如何執行此操作。

當然,簡單地放棄所有 GUI 工具(如 gvfs)並從命令行安裝文件系統可能會容易得多,您可以完全控制安裝方式。

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