GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum kann Read /run/user/1000/gvfs nicht gefunden werden, obwohl es als Root ausgeführt wird?

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


Linux
  1. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  2. Datei kann nicht gelöscht werden, auch wenn sie als Root ausgeführt wird?

  3. gcc - /usr/bin/ld error:kann <library> in /usr/local/lib nicht finden, obwohl ldconfig es auflistet, und Pfad zu ld.so.conf hinzugefügt

  4. Kann Sonar Server nicht ausführen, da Elasticsearch nicht als Root ausgeführt werden kann

  5. Wann sollte ich /dev/shm/ verwenden und wann sollte ich /tmp/?

Shell-Befehl in Jenkins als Root-Benutzer ausführen?

Wie finde ich heraus, aus welchem ​​Ordner ein Prozess läuft?

unix:///var/run/supervisor.sock keine solche Datei

Warum andere Dinge als /home auf eine separate Partition legen?

Warum benötigt root das Passwort nicht, um sudo auszuführen, selbst wenn NOPASSWD:ALL nicht in /etc/sudoers geschrieben ist

Warum sind < oder > erforderlich, um /dev/tcp