web-dev-qa-db-ja.com

rootとして実行されているのに、/ run / user / 1000 / gvfsが見つからないのはなぜですか?

誰かが私が間違っていること、これが何であるか、またはそれを修正する方法を教えてもらえますか? 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
36
kal

あなたは何も悪いことをしておらず、修正するものは何もありません。 /run/user/$uid/gvfsまたは~$user/.gvfs[Fuse[〜#〜] gvfs [〜#〜] へのインターフェイスのマウントポイントです。 GVFSはGnomeの仮想ファイルシステム実装であり、GnomeアプリケーションがFTPサーバーやSambaサーバーなどのリソースやローカルディレクトリなどのZipファイルのコンテンツにアクセスできるようにします。ヒューズは、ファイルシステムドライバーを(カーネルコードではなく)ユーザーコードとして実装する方法です。 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

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

10
Christopher

これは古いスレッドですが、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-commandsの詳細については、 gvfsコマンドと、cat、ls、cpなどの一般的なコマンドの違いは何ですか? を参照してください。

関連する可能性のあるバグには、 GNOME#317875 および GNOME#768281 が含まれます。

3
doubt

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

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

次に、次のコマンドを使用してgvfsをアンマウントします。このプロセスを実行すると、問題が解決します。

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

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

3
Mohd Meesam