ルートとして実行されているにもかかわらず、読み取り/ run / user / 1000 / gvfsが見つからないのはなぜですか?


34

誰かが私が間違っていること、これが何であるか、またはそれを修正する方法を教えてもらえますか?Fedora 18を実行していますが、表示されるエラーが表示されます

[root@servername /]# find . -name ngirc
find: `./run/user/1000/gvfs': Permission denied
[root@servername /]# 
[root@thinktank /]# pwd
/
[root@thinktank /]# ls -ltr ./run/user/1000
ls: cannot access ./run/user/1000/gvfs: Permission denied
total 0
d?????????? ? ?    ?      ?            ? gvfs
lrwxrwxrwx. 1 root root  17 May 28 12:30 X11-display -> /tmp/.X11-unix/X0
drwx------. 2 kal  kal  120 May 28 12:30 keyring-QjDw4b
drwx------. 2 kal  kal   40 May 28 12:30 gvfs-burn
drwx------. 2 kal  kal   60 May 28 12:30 krb5cc_5f0bcaf94f916d6b61696e2251a4dbb3
drwx------. 2 kal  kal   60 May 28 18:25 dconf

あなたは何も悪いことをしていないので、私の提案は単にエラーを無視することです。それが受け入れられない場合は、findコマンドラインでGVFSマウントポイントを除外してください。
トリプリー

回答:


33

あなたは何も悪いことをしておらず、修正するものは何もありません。/run/user/$uid/gvfsまたはGVFS~$user/.gvfsFUSEインターフェースのマウントポイントです。GVFSはGnomeの仮想ファイルシステム実装であり、GnomeアプリケーションはFTPやSambaサーバーなどのリソース、またはローカルディレクトリなどのzipファイルのコンテンツにアクセスできます。FUSEは、ファイルシステムドライバーを(カーネルコードの代わりに)ユーザーコードとして実装する方法です。GVFS-FUSEゲートウェイは、Gnomeライブラリを使用しているアプリケーションだけでなく、すべてのアプリケーションがGVFSファイルシステムドライバーにアクセスできるようにします。

FUSEファイルシステムで信頼境界を管理することは困難です。ファイルシステムドライバーは、従来のファイルシステムのカーネルコードではなく、特権のないユーザーとして実行されているためです。複雑さを避けるため、デフォルトでは、FUSEファイルシステムにはドライバープロセスを実行しているユーザーのみがアクセスできます。rootでさえ、この制限を回避することはできません。

ローカルファイルシステム上のファイルのためにしている検索あなたがいる場合のみ、合格-xdevfind。複数のローカルファイルシステムをトラバースする場合は、それらをすべて列挙します。

find  / /home -xdev -name ngirc

昨日からファイルが存在する場合は、locate ngirc代わりに試すことができます(locate通常は毎晩更新されるファイル名データベースを検索します)。

GVFSマウントポイントをトラバースする場合は、適切なユーザーとしてトラバースする必要があります。

find / -name ngirc -path '/run/user/*/gvfs' -prune -o -path '/home/*/.gvfs' -prune -o -name ngirc -print
for d in /run/user/*; do su "${d##*/}" -c "find $d -name ngirc -print"; done

GVFSとFUSEについてのすばらしい説明をありがとう。あなたの例のように「検索」を実行してみましたが、うまくいきました。
カル

FUSEは、rootがファイルにアクセスするのをどのように防止しますか?確かにrootにはそのような保護を無効にする機能があります。
アキノス

1
@Nat Rootは、プロセスのfsuidをターゲットuidに変更できるため、セキュリティの意味で保護をバイパスするのは簡単です。ただし、カーネルのアクセス制御機能はルートへのアクセスを拒否します。この現象は他のファイルシステムでも発生します。たとえば、rootは所有者のUIDに切り替えずにNFSのプライベートディレクトリにアクセスできません。
ジル 'SO-悪であるのをやめる'

2
「合併症を避ける」...マウントコマンドを使用して共有パスをクリーナーフォルダー名にマッピングできないため、確かに1つの巨大な合併症が発生しました。
-Nuzzolilo

@Nuzzoliloあなたが何について話しているのか分かりません。問題がある場合は、新しい質問をし、シナリオを必ず説明してください。
ジル 'SO-悪であるのをやめる'

10

これはヒューズの問題です。所有者以外のユーザーは読むことができません。デフォルト設定を回避するには、user_allow_otherオプションを有効にしてみてください。このオプションは、/ etc / fuse.confに追加することで指定されます。値はありません。空行でオプションを指定するだけです。


ありがとう。私はヒューズが何であるかを本当に理解していませんが、あなたのコメントのバグレポートとdon_crisstiのコメントから少し読んだ後、これは私が接続したUSBハードドライブまたは私のSambaサーバーに関係していると思いますか?"user_allow_other"を有効にするときに考慮する必要があるセキュリティ上の問題はありますか。また、考慮する必要があるマウントのその他のオプションはありますか?ありがとう。
カル

1
感謝しますが、他の誰もシステムを使用できない場合、これは本当に私にとって解決策ではありません。所有者が誰であるかを知るにはどうすればよいですか 外付けハードドライブをアンマウント/切断し、sambaサーバーをシャットダウンしようとしました。私が本当にやりたいのは、セキュリティを損なうことなくファイルシステム全体からファイルを検索できることです。FUSEに代わるものはありますか?また、FUSEの用途を正確に伝える方法はありますか?ありがとう。
カル

askubuntu.com/questions/715637/…@Christopherによる提案を試みましたが、コマンドラインオプションは尊重されていません。デーモンの自動ランチャーが特定の方法で構成されているのではないかと疑っていますが、そうするための構成ドキュメントが見つかりません
-Nuzzolilo

3

次のようにgvfsの許可およびその他の詳細を取得している場合

d?????????? ? ?    ?      ?            ? gvfs

次に、次のコマンドを使用してgvfsをアンマウントします。このプロセスに従えば、問題は解決します。

umount ~/gvfs(umount /run/user/112/gvfs in my case).

GVFS(GNOME Virtual File System)はGNOMEデスクトップ用の仮想ファイルシステムです。これにより、ユーザーは、SFTP、FTP、WebDAV、SMB、およびudev統合を介したローカルデータを介して簡単にリモートデータにアクセスできるため、これをアンマウントする際に心配する必要はありません。


3

これは古いスレッドですが、gnomeのバグレポートでは最近の未解決の問題であるため、gvfs-fuserの問題を解決するソリューションを何時間も探している人にとっては役に立つかもしれません。

meldからのエラーメッセージ:

Error copying '/media/root/5FDA03906F33F217/SAVE/rsyncTEST-usb/allusers' to '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'

[Errno 95] Operation not supported: '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'.

ftpでmeld / diff / kdiffを使用しようとすると、gvfs-fuserの問題が発生しました。問題はfuserとgvfsの間にあるようです。この問題は3.15.1では発生していないようですが、3.15.2で報告され始めています。(新しいpython ver?)解決策は修正ではなく回避策です-ファイル/ディレクトリはコピーされますが、エラーが表示されます。

クリストファーの答えは問題を定義し、解決策を提供します。

別の可能な解決策は、sshfsを使用することです(このコメントこのスレッドを参照)。の詳細については、gvfsコマンドとcat、ls、cpなどの一般的なコマンドの違いgvfs-commands何ですか?を参照してください

おそらく関連するバグには、GNOME#317875およびGNOME#768281が含まれます。

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