ls: impossibile accedere a .gvfs: autorizzazione negata


11

Ogni volta che eseguo un'applicazione nel terminale come root (come sudo gedit /etc/default/varnish), successivamente quando apro un altro terminale ottengo l'errore "ls: impossibile accedere a .gvfs: autorizzazione negata" nella riga superiore del terminale.

Ho trovato una soluzione in rete

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

ma risolve solo temporaneamente il problema.

Sembra che ho due istanze montate di gvfs nel mio sistema

  $ 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)

Non so se sia correlato, qualche mese fa ho dovuto cambiare l'autorizzazione nella mia cartella home come

  sudo chown -R $USER:www-data

La prego di aiutarmi a risolverlo?

EDIT: dopo aver smontato /run/user/1000/gvfsnon ottengo quell'errore.


1
E questo è uno dei motivi per cui non dovresti eseguire sudoprogrammi grafici.
Muru,


@muru Grazie per il link, spiega bene perché non dovrei eseguire sudo per aprire applicazioni grafiche. Ma mi chiedo ancora perché ho iniziato a ricevere quel messaggio di errore
kenn

Citando la risposta principale nella domanda collegata: "Questo a volte comporterà che i file di configurazione siano di proprietà di root e quindi inaccessibili a te (quando in seguito eseguirai il programma come te stesso e non come root)."
muru,

1
Sospetto che questa particolare situazione potrebbe in realtà non essere correlata all'esecuzione di programmi grafici con sudo diretto . Le autorizzazioni / l'accesso alle .gvfscartelle degli utenti sono sempre state interessanti e (per alcuni di noi) sorprendenti .
Eliah Kagan,

Risposte:


9

L'esecuzione di applicazioni grafiche con a sudovolte può portare a problemi come questo.

Spiegazione

sudogestisce il programma con i privilegi di superutente (come la corsa come root), ma il programma vede ancora la home directory corrente come la vostra directory home.

Quindi, quando il software scrive i suoi file di configurazione, finirà per creare file nella tua home directory che sono di proprietà dell'utente root . Si finisce con i file che non è possibile modificare o eliminare e il software in esecuzione in quanto non sarà possibile modificarlo, portando a ulteriori problemi.

Qual è la soluzione migliore?

C'è un'alternativa: gksudo.

Questa variante di sudo imposterà le variabili di ambiente, come la directory home, in modo tale da rendere molto più sicura l'esecuzione di applicazioni grafiche come root e non confondere i programmi nella creazione di file di proprietà root nella directory home.

Perché questo influisce sulle applicazioni grafiche?

Ciò non riguarda solo le applicazioni grafiche, né influisce su tutte le applicazioni grafiche. Colpisce le applicazioni che memorizzano la configurazione all'interno della home directory dell'utente corrente. Questo è solo più comune tra le applicazioni grafiche.

A volte le applicazioni sono in grado di rilevare se sono eseguite con sudo e regolare il loro comportamento di conseguenza, ma questo non è comune con le applicazioni grafiche che di solito non dovrebbero essere eseguite con sudo.

Come posso risolvere il problema?

Dovrai trovare i file e le directory di proprietà di root nella directory home e rimuoverli. È meglio rimuoverli che cambiare la loro proprietà secondo me, poiché non erano destinati al tuo utente, ma all'utente root, quindi potrebbero esserci effetti imprevisti se cambi semplicemente proprietà. Puoi ovviamente eseguirne il backup nel caso in cui decidi che c'è qualcosa che desideri in loro in seguito.

Per trovare i file di proprietà di root nella directory home:

find ~ -user root

Se hai ancora problemi con alcune applicazioni (esegui come tuo utente), prova a riavviare per cancellare /tmpe tutto ancora in esecuzione. Occasionalmente alcune applicazioni potrebbero aver corrotto i loro file di configurazione esistenti e necessitare che tu rimuova tutta la loro configurazione nella tua home directory, ma speriamo che questo non sia il caso per molti.


Grazie per la spiegazione. Come posso ripararlo? O tutti hanno lo stesso problema come me?
gennaio

3
Usando gksudoinvece di sudoquando si eseguono programmi grafici.
thomasrutter,

Quindi non c'è niente di sbagliato nel mio sistema.
gennaio

2
Sì, a parte la possibilità che nella directory home siano presenti file di proprietà di root che non dovrebbero essere di proprietà di root.
thomasrutter,

2

Basta dare le autorizzazioni utente a .gvfs/e dovrebbe risolverlo.

sudo chown -R $USER.$USER ~/.gvfs/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.