誰かが私が間違っていること、これが何であるか、またはそれを修正する方法を教えてもらえますか? Fedora 18を実行していて、エラーが表示されます
[[email protected] /]# find . -name ngirc
find: `./run/user/1000/gvfs': Permission denied
[[email protected] /]#
[[email protected] /]# pwd
/
[[email protected] /]# 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
承認された回答:
あなたは何も悪いことをしておらず、修正するものは何もありません。 /run/user/$uid/gvfs
または~$user/.gvfs
GVFSへのFUSEインターフェースのマウントポイントです。 GVFSは、Gnomeの仮想ファイルシステム実装であり、GnomeアプリケーションがFTPサーバーやSambaサーバーなどのリソース、またはローカルディレクトリなどのzipファイルのコンテンツにアクセスできるようにします。 FUSEは、ファイルシステムドライバーを(カーネルコードではなく)ユーザーコードとして実装する方法です。 GVFS-FUSEゲートウェイにより、Gnomeライブラリを使用するアプリケーションだけでなく、すべてのアプリケーションがGVFSファイルシステムドライバーにアクセスできるようになります。
従来のファイルシステムのカーネルコードとは対照的に、ファイルシステムドライバーは非特権ユーザーとして実行されているため、FUSEファイルシステムで信頼境界を管理することは困難です。複雑さを避けるために、デフォルトでは、FUSEファイルシステムはドライバープロセスを実行しているユーザーのみがアクセスできます。ルートでさえ、この制限を回避することはできません。
ローカルファイルシステムでのみファイルを検索する場合は、-xdev
を渡します。 find
。複数のローカルファイルシステムをトラバースする場合は、それらすべてを列挙します。
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