Frage ls: kann nicht auf .gvfs zugreifen: Berechtigung verweigert


Immer wenn ich eine Anwendung im Terminal als root (wie z. B. sudo gedit /etc/default/varnish), nachdem ich ein anderes Terminal geöffnet habe, bekomme ich "ls: kann nicht auf .gvfs: Permission denied" Fehler in der obersten Zeile des Terminals.

Ich habe eine Lösung im Netz gefunden

  umount /path/to/.gvfs
  rm -rf .gvfs

aber es behebt das Problem nur vorübergehend.

Es sieht so aus, als hätte ich zwei Instanzen von gvfs in meinem System

  $ sudo mount |grep gvfs
    gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=33)
    gvfsd-fuse on /home/****/.gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

Ich weiß nicht, ob es damit zusammenhängt, vor ein paar Monaten musste ich die Erlaubnis in meinem persönlichen Ordner ändern

  sudo chown -R $USER:www-data

Würdest du mir bitte helfen, es zu reparieren?

BEARBEITEN: Nach dem Unmounten /run/user/1000/gvfs Ich verstehe diesen Fehler nicht.


7
2017-09-16 11:23


Ursprung


Und das ist einer der Gründe, warum Sie nicht laufen sollten sudo mit grafischen Programmen. - muru
mögliches Duplikat von Warum sollte der Benutzer niemals normales sudo verwenden, um eine grafische Anwendung zu starten? - muru
@muru Vielen Dank für den Link, es erklärt gut, warum ich Sudo nicht ausführen sollte, um grafische Anwendungen zu öffnen. Aber ich frage mich immer noch, warum ich diese Fehlermeldung bekommen habe - kenn
Zitieren der obersten Antwort in der verknüpften Frage: "Dies wird manchmal dazu führen, dass die Konfigurationsdateien im Besitz von root sind und somit für Sie nicht zugänglich sind (wenn Sie das Programm später als Sie ausführen und nicht als root)." - muru
Ich vermute, dass diese besondere Situation tatsächlich ist nicht verwandt sein mit Ausführen von grafischen Programmen mit straight sudo. Berechtigungen / Zugriff auf Benutzer .gvfs Ordner waren schon immer interessant und (für einige von uns) überraschend. - Eliah Kagan


Antworten:


Grafische Anwendungen mit ausführen sudo kann manchmal zu solchen Problemen führen.

Erläuterung

sudo Läuft das Programm mit Superuser-Rechten (etwa als root), sieht das Programm das aktuelle Home-Verzeichnis dennoch als Ihre Heimverzeichnis.

Wenn also die Software ihre Konfigurationsdateien schreibt, erstellt sie am Ende Dateien in Ihrem Home-Verzeichnis, die der Wurzel Benutzer. Sie haben am Ende Dateien, die Sie selbst nicht bearbeiten oder löschen können, und Software, die ausgeführt wird, da Sie sie auch nicht ändern können, was zu mehr Problemen führt.

Was ist die beste Lösung?

Es gibt eine Alternative: gksudo.

Diese Variante von sudo richtet Umgebungsvariablen wie das Home-Verzeichnis so ein, dass das Ausführen von grafischen Anwendungen als root viel sicherer ist und Programme nicht dazu verleitet werden, root-eigene Dateien in Ihrem Home-Verzeichnis zu erstellen.

Warum wirkt sich dies auf grafische Anwendungen aus?

Dies betrifft nicht nur grafische Anwendungen, noch betrifft es alle grafischen Anwendungen. Dies betrifft Anwendungen, die die Konfiguration im Ausgangsverzeichnis des aktuellen Benutzers speichern. Dies ist nur häufiger bei grafischen Anwendungen.

Manchmal können Anwendungen erkennen, ob sie mit sudo ausgeführt werden und ihr Verhalten entsprechend anpassen, aber dies ist bei grafischen Anwendungen nicht üblich, die normalerweise nicht mit sudo ausgeführt werden.


6
2017-09-16 11:35



Danke für die Erklärung. Wie kann ich es reparieren? Oder hat jeder das gleiche Problem wie ich? - kenn
Durch die Nutzung gksudo Anstatt von sudo wenn grafische Programme laufen. - thomasrutter
Also ist in meinem System nichts falsch. - kenn
Ja, abgesehen von der Möglichkeit, dass Sie jetzt Root-eigene Dateien in Ihrem Home-Verzeichnis haben, die nicht Root-Eigentümer sein sollten. - thomasrutter