Por que não é possível encontrar read / run / user / 1000 / gvfs apesar de estar sendo executado como root?

28

Alguém pode me dizer o que estou fazendo de errado, o que é isso ou como corrigi-lo? Estou rodando o Fedora 18 e recebendo o erro mostrado

[root@servername /]# find . -name ngirc
find: './run/user/1000/gvfs': Permission denied
[root@servername /]# 
[root@thinktank /]# pwd
/
[root@thinktank /]# 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
    
por kal 29.05.2013 / 01:10

4 respostas

28

Você não está fazendo nada errado e não há nada para consertar. /run/user/$uid/gvfs ou ~$user/.gvfs é o ponto de montagem da interface FUSE para GVFS . O GVFS é uma implementação de sistema de arquivos virtual para o Gnome, que permite que os aplicativos do Gnome acessem recursos como servidores FTP ou Samba ou o conteúdo de arquivos zip, como diretórios locais. O FUSE é uma maneira de implementar drivers do sistema de arquivos como código do usuário (em vez do código do kernel). O gateway GVFS-FUSE torna os drivers do sistema de arquivos GVFS acessíveis a todos os aplicativos, não apenas àqueles que usam bibliotecas Gnome.

Gerenciar limites de confiança com sistemas de arquivos FUSE é difícil, porque o driver do sistema de arquivos está sendo executado como um usuário não privilegiado, ao contrário do código do kernel para sistemas de arquivos tradicionais. Para evitar complicações, por padrão, os sistemas de arquivos FUSE são acessíveis apenas ao usuário que está executando o processo do driver. Mesmo a raiz não consegue contornar essa restrição.

Se você estiver pesquisando um arquivo apenas em sistemas de arquivos locais, passe -xdev para find . Se você quiser percorrer vários sistemas de arquivos locais, enumerá-los todos.

find  / /home -xdev -name ngirc

Se o arquivo estiver presente desde ontem, você pode tentar locate ngirc em vez disso ( locate pesquisa através de um banco de dados de nomes de arquivos que é tipicamente atualizado todas as noites).

Se você quiser percorrer os pontos de montagem do GVFS, terá que fazer isso como o usuário apropriado.

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
    
por 30.05.2013 / 02:37
8

É um problema de fusível . Nenhum usuário, exceto o proprietário, pode ler. Para contornar a configuração padrão, tente ativar a opção user_allow_other. Esta opção é especificada adicionando-a ao /etc/fuse.conf. Não tem valor, apenas especifique a opção em uma linha em branco.

    
por 29.05.2013 / 01:25
2

Se você está recebendo a permissão e outros detalhes para o gvfs, conforme o seguinte

d?????????? ? ?    ?      ?            ? gvfs

depois é só desmontar o seu gvfs usando o seguinte comando. Seu problema será resolvido depois de seguir esse processo.

umount ~/gvfs(umount /run/user/112/gvfs in my case).

GVFS (GNOME Virtual File System) é o sistema de arquivos virtual para a área de trabalho do GNOME, que permite aos usuários acesso fácil a dados remotos via SFTP, FTP, WebDAV, SMB e dados locais através da integração do udev, para que você não precise ter medo enquanto desmontando isso.

    
por 25.01.2016 / 07:47
2

este é um tópico antigo, mas nos relatórios de bugs do gnome é um problema recente, então pode ser de alguma utilidade para qualquer um que esteja procurando horas para uma solução para corrigir problemas de gvfs-fuser - que parecem estar intimamente relacionados. / p>

Erro da mensagem do meld:

Error copying '/media/root/5FDA03906F33F217/SAVE/rsyncTEST-usb/allusers' to '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'

[Errno 95] Operation not supported: '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'.

Eu encontrei o problema do gvfs-fuser tentando usar o meld / diff / kdiff sobre o ftp. Parece que o problema está entre o fusor e o gvfs. O problema parece não ocorrer em 3.15.1, mas começa a ser reportado em 3.15.2 (o novo python ver?) Solução é uma solução alternativa, não uma correção - os arquivos / diretórios serão copiados, mas o erro ainda será exibido.

A resposta do Christopher define o problema e fornece a solução.

Outra possível solução é usar o sshfs (consulte este comentário e este encadeamento ). Para mais informações sobre gvfs-commands , veja Qual é a diferença entre comandos gvfs e comandos comuns como cat, ls, cp?

Bugs possivelmente relacionados incluem GNOME # 317875 e .

    
por 04.08.2017 / 06:01