Directory che un utente può leggere, ma la directory non può?

C'è una directory sotto la mia homedir denominata ".gvfs". Come mio conto utente normale, posso leggerlo bene:

~ $ ls -lart ~raldi/.gvfs total 4 dr-x------ 2 raldi raldi 0 2009-05-25 22:17 . drwxr-xr-x 60 raldi raldi 4096 2009-05-25 23:08 .. ~ $ ls -d ~raldi/.gvfs dr-x------ 2 raldi raldi 0 2009-05-25 22:17 /home/raldi/.gvfs 

Tuttavia, come root non posso "ls" o addirittura "ls -d":

  • sudo non funziona su alcuni comandi
  • Quali sono le implicazioni di performance per milioni di file in un file system moderno?
  • Checkpoint VPN Client Linux
  • Qual è lo scopo di un dominio?
  • Come impostare più sottodomini nel file host (DNS)?
  • Amazon Linux vs Ubuntu per Amazon EC2
  •  # ls ~raldi/.gvfs ls: cannot access /home/raldi/.gvfs: Permission denied # ls -d ~raldi/.gvfs ls: cannot access /home/raldi/.gvfs: Permission denied 

    E, solo per assicurarsi:

     # echo $UID $EUID 0 0 

    Questa è solo una semplice installazione in casa di Ubuntu 8.10, nessun NFS o qualcosa di strano come quello. Vedo che la directory è contrassegnata non leggibile a livello mondiale (e non a livello mondiale), ma pensavo che nessuno di questi fosse applicato quando sei radice. Ad esempio, posso creare una directory di mod-000 in / tmp e farla uscire ad un utente non radice, e la radice non ha problemi a leggerlo, a scrivere, a qualunque cosa.

    Hai idea di cosa sta succedendo?

    3 Solutions collect form web for “Directory che un utente può leggere, ma la directory non può?”

    Da: http://bugzilla.gnome.org/show_bug.cgi?id=534284

    Questo è tutto sfortunato, ma è una decisione che è stata presa dai membri del fusibile a livello del kernel (utenti diversi da quelli che hanno montato i fs non possono accedervi, incluso la radice) e non c'è niente che possiamo fare.

    Vedi anche: https://bugs.launchpad.net/gvfs/+bug/225361

    La soluzione sembra essere quella di aggiornare il tuo /etc/fuse.conf e triggersre l'opzione user_allow_other . Potresti anche avere bisogno di get gvfs per passare il file allow_root o allow_other, ma non so come farlo.

    Naturalmente, può essere molto più facile rinunciare a tutti gli strumenti GUI come gvfs e montare i file system dalla row di command where hai il controllo completo del modo in cui viene montata qualcosa.

    La directory .gvfs è il filesystem degli spazi userspace di Gnome VFS che fornisce un path diretto dei filesystem per i file system virtuali (ad esempio i supporti samba remoti, i supporti webdav) in modo che Gnome possa passare routes a programmi che non sono VFS-aware quando operano su file remoti.

    Dal momento che è un mount & application FUSE può negare le autorizzazioni per root – in questo caso l'agente che esegue i controlli di accesso è l'applicazione FUSE, non il kernel.

    Per impostazione predefinita, il daemon gvfs consente solo al proprietario di attraversare la directory.

    Potrebbe essere poche cose, in ordine di probabilità

    • controllare / var / log / messages (o / var / log / syslog) per eventuali corruzione del filesystem
    • stai utilizzando SELinux?
    • google suggerisce lsattr ~ raldi / .gvfs può indicare le funzionalità speciali applicate a quel file.
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.