Mostrando postagens com marcador GVFS. Mostrar todas as postagens
Mostrando postagens com marcador GVFS. Mostrar todas as postagens

domingo, 19 de janeiro de 2014

Como utilizar arquivos compartilhados pelo Samba na linha de comando

É muito comum acessar diretórios compartilhados através do Samba pela interface gráfica. Você abre o gerenciador de arquivos Nautilus, digita smb://endereco-ip-do-compartilhamento e acessa os arquivos normalmente. Simples assim.

O problema acontece quando você quer utilizar uma ferramenta de linha de comando em um arquivo ou diretório que está em um compartilhamento Samba. Por exemplo: Como utilizar o grep no arquivo localizado em smb://10.1.1.1/arquivos/lista.txt?

grep -Irin --color "compras" smb://10.1.1.1/arquivos/lista.txt

O comando acima falharia miseravelmente.

Tendo acesso ao usuário root, existem duas soluções:

Utilizar o comando mount ou adicionar uma linha referente ao ponto de montagem no arquivo /etc/fstab.

E como acessar os arquivos/diretórios sem permissão de root?

Você pode utilizar o smbclient, copiar o arquivo e fazer qualquer coisa com ele. Nada prático!

A segunda opção é bem mais prática. Quando você utiliza o protocolo do Samba no Nautilus (smb://10.1.1.1/, por exemplo), o daemon do sistema de arquivos GVFS monta automaticamente o compartilhamento em um diretório do sistema.

O diretório utilizado como ponto de montagem varia de acordo com a distribuição Linux utilizada. Algumas utilizam o diretório ~/.gvfs/, outras utilizam /run/user/id-usuario/gvfs, onde id-usuario pode ser obtido através do comando id -u.

Ao descobrir qual diretório foi utilizado, basta acessa-lo e utilizar a linha de comando nos arquivos que você quiser. Por exemplo:

grep -Irin --color "compras" /run/user/1000/gvfs/arquivos/lista.txt

Bem simples, do jeito que tem que ser!

Até a próxima!

Fonte