Kann mir jemand sagen, was ich falsch mache, was das ist oder wie ich es beheben kann? Ich verwende Fedora 18 und erhalte den angezeigten Fehler
[[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
Akzeptierte Antwort:
Du machst nichts falsch und es gibt nichts zu reparieren. /run/user/$uid/gvfs
oder ~$user/.gvfs
ist der Einhängepunkt für die FUSE-Schnittstelle zu GVFS. GVFS ist eine virtuelle Dateisystemimplementierung für Gnome, die es Gnome-Anwendungen ermöglicht, auf Ressourcen wie FTP- oder Samba-Server oder den Inhalt von Zip-Dateien wie lokale Verzeichnisse zuzugreifen. FUSE ist eine Möglichkeit, Dateisystemtreiber als Benutzercode (anstelle von Kernelcode) zu implementieren. Das GVFS-FUSE-Gateway macht GVFS-Dateisystemtreiber für alle Anwendungen zugänglich, nicht nur für diejenigen, die Gnome-Bibliotheken verwenden.
Das Verwalten von Vertrauensgrenzen mit FUSE-Dateisystemen ist schwierig, da der Dateisystemtreiber im Gegensatz zum Kernel-Code für herkömmliche Dateisysteme als nicht privilegierter Benutzer ausgeführt wird. Um Komplikationen zu vermeiden, sind FUSE-Dateisysteme standardmäßig nur für den Benutzer zugänglich, der den Treiberprozess ausführt. Selbst root kann diese Einschränkung nicht umgehen.
Wenn Sie nur auf lokalen Dateisystemen nach einer Datei suchen, übergeben Sie -xdev
zu find
. Wenn Sie mehrere lokale Dateisysteme durchlaufen möchten, listen Sie sie alle auf.
find / /home -xdev -name ngirc
Wenn die Datei seit gestern vorhanden ist, können Sie locate ngirc
versuchen stattdessen (locate
durchsucht eine Dateinamendatenbank, die normalerweise jede Nacht aktualisiert wird).
Wenn Sie die GVFS-Einhängepunkte durchlaufen möchten, müssen Sie dies als der entsprechende Benutzer tun.
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