ユーザーが読み取ることができるが、ルートはできないディレクトリ?


9

ホームディレクトリの下に「.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

これはUbuntu 8.10の単純なホームインストールであり、NFSやそのような奇妙なものはありません。ディレクトリは、誰もが読めない(そして、world-x-ableでない)とマークされているようですが、rootの場合は、そのどれも当てはまらないと思いました。たとえば、/ tmpにmode-000ディレクトリを作成し、それを非rootユーザーに渡すことができます。rootは、問題なく読み取り、書き込みを行うことができます。

何が起こっているのでしょうか?


興味深いことに、通常のユーザーとしてsshfsを使用し、ルートとしてマウントポイントでなんらかの操作を試みると、同じ現象が発生します。rootユーザーには、マウントポイントを表示する権限がまったくありません。権限を確認することもできません。ls-lは、すべての権限ビットのすべての疑問符を返します。
GodEater 2009年

1
「これはUbuntu 8.10の単純なホームインストールであり、NFSやそのような奇妙なものはありません。」ええと、ヒューズ「そのような変なもの」です
トーマス

回答:


21

差出人: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を渡させる必要があるかもしれませんが、これを行う方法はわかりません。

もちろん、gvfsのようなすべてのGUIツールをあきらめて、何かを正確にマウントする方法を完全に制御できるコマンドラインからファイルシステムをマウントする方がはるかに簡単です。


5

.gvfsディレクトリには、Gnomeのは、リモートファイルを操作するときVFS-認識していないプログラムへのパスを渡すことができるように仮想ファイルシステムのための直接ファイルシステムのパス(たとえば、リモートのSambaマウント、WebDAVのマウント)を提供GnomeのVFSユーザ空間ファイルシステムです。

これはFUSEマウント&アプリケーションであるため、rootへのアクセス権を拒否できます。この場合、アクセスチェックを実行するエージェントは、カーネルではなくFUSEアプリケーションです。

デフォルトでは、gvfsデーモンは所有者のみがディレクトリをトラバースできるようにします。


0

可能性の高い順に、いくつかのことが考えられます

  • / var / log / messages(または/ var / log / syslog)でファイルシステムの破損の可能性を確認します
  • SELinuxを使用していますか?
  • Googleは、lsattr〜raldi / .gvfsがそのファイルに適用されている特別な機能を示している可能性があることを示唆しています。

ディスクでfsckを実行しましたが、問題は見つかりませんでした。SELinuxを使用していません。ユーザーアカウントとしてlsattrを実行すると、出力がありません。ルートとして実行すると、「許可が拒否されました」というエラーが表示されます。
ラルディ2009年

Zoredacheが答えを持っているように見えます
Dave Cheney
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.