ホームディレクトリの下に「.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
ただし、ルートとして「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
これはUbuntu8.10の単純なホームインストールであり、NFSやそのような奇妙なものはありません。ディレクトリは、誰もが読めない(そして、world-x-ableでない)とマークされているようですが、rootの場合は、そのどれも当てはまらないと思いました。たとえば、/ tmpにmode-000ディレクトリを作成して、root以外のユーザーに渡すことができます。rootは、読み取り、書き込みなどに問題はありません。
何が起こっているのでしょうか?
差出人: http://bugzilla.gnome.org/show_bug.cgi?id=534284
これはすべて残念なことですが、カーネルレベルでFuseの人々によって下された決定(fsをマウントしたユーザー以外のユーザーはrootを含めてアクセスできません)であり、私たちにできることは何もありません。
参照: https://bugs.launchpad.net/gvfs/+bug/225361
解決策は、 / etc/Fuse.conf を更新し、user_allow_otherオプションを有効にすることのようです。次に、gvfsを取得してallow_rootまたはallow_otherを渡す必要がある場合もありますが、これを行う方法がわかりません。
もちろん、gvfsなどのすべてのGUIツールをあきらめて、何かをマウントする方法を完全に制御できるコマンドラインからファイルシステムをマウントする方がはるかに簡単な場合があります。
.gvfs
ディレクトリは、Gnomeがリモートファイルの操作時にVFSに対応していないプログラムへのパスを渡すことができるように、仮想ファイルシステム(リモートsambaマウント、webdavマウントなど)に直接ファイルシステムパスを提供するGnome VFSユーザースペースファイルシステムです。
これはFuseのマウントとアプリケーションであるため、rootへのアクセス許可を拒否できます。この場合、アクセスチェックを実行するエージェントはFuseアプリケーションであり、カーネルではありません。
デフォルトでは、gvfs
デーモンは、所有者がディレクトリをトラバースすることのみを許可します。
可能性の高い順に、いくつかの可能性があります