É 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
domingo, 19 de janeiro de 2014
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário