Como faço para grep um arquivo em um ponto de montagem smb sem usar o mount ou o fstab?

1

Eu não tenho permissão para montar um compartilhamento smb com o comando mount ou usando o / etc / fstab, mas sou capaz de usar o protocolo smb no Nautilus (smb: //10.1.1.1/share), por exemplo ... s É possível grep um arquivo ou usar qualquer comando nele nessas condições, como eu faço em arquivos locais?

Estou executando o openSUSE 13.1 com o LXDE.

$ uname -a
Linux thom 3.11.6-4-desktop #1 SMP PREEMPT Wed Oct 30 18:04:56 UTC 2013 (e6d4a27) x86_64 x86_64 x86_64 GNU/Linux

$ mount
devtmpfs on /dev type devtmpfs (rw,relatime,size=944020k,nr_inodes=236005,mode=755)
tmpfs on /dev/shm type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
/dev/sda1 on / type ext4 (rw,relatime,data=ordered)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
tmpfs on /var/run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
/dev/sda2 on /home type ext4 (rw,relatime,data=ordered)

$ ls -a ~/.gvfs
ls: não é possível acessar /home/thom/.gvfs: Arquivo ou diretório não encontrado
    
por Thom Thom Thom 14.01.2014 / 12:35

2 respostas

0

O Nautilus usa GVFS internamente. O próprio GVFS serve apenas para aplicativos que usam a biblioteca Glib para acessar arquivos.

Verifique se você tem o gvfs-fuse pacote instalado. Este pacote contém o programa gvfs-fuse-daemon , que disponibiliza todos os sistemas de arquivos GVFS como sistemas de arquivos montados normais.

gvfs-fuse-daemon deve iniciar automaticamente quando você acessa um sistema GVFS pela primeira vez, por exemplo, quando você se conecta a uma unidade Samba remota no Nautilus. Se isso não acontecer, tente fazer

mkdir -p ~/.gvfs
/usr/lib/gvfs/gvfs-fuse-daemon ~/.gvfs

Os sistemas de arquivos GVFS são todos montados em subdiretórios de ~/.gvfs . Algumas distribuições recentes usam /run/user/500/gvfs , em que 500 é seu ID de usuário (você pode exibi-lo com id -u ).

Você pode até fazer a montagem na linha de comando:

gvfs-mount smb://10.1.1.1/share
    
por 15.01.2014 / 01:02
0

Quando você acessa os compartilhamentos SMB via smb:// , no Nautilus, a área de trabalho do GNOME está facilitando a montagem do compartilhamento nos bastidores. Você normalmente os verá quando executar o comando mount .

Exemplo

$ mount 
...
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

Se você cd para este diretório, /run/user/1000/gvfs poderá acessar o sistema de arquivos a partir de um shell e usar grep ou quaisquer ferramentas que desejar.

especificamente do OpenSUSE

Me deparei com esse tópico, intitulado: Tópico: gvfs: Permissão negada , o que mostra que o daemon gvfs de fato monta as coisas sob /run/user/$UID/gvfs nas versões mais novas do OpenSUSE como outras distros, então o acima deve ser o lugar correto para procurar quaisquer compartilhamentos montados no Samba.

trecho

mbj@mortenb-ws2:~> grep gvfs /proc/mounts
gvfs-fuse-daemon /run/user/mbj/gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=1000,group_id=100 0 0
    
por 15.01.2014 / 00:31