Acesso aos recursos compartilhados de sua rede Microsoft ou Samba via HTTP

Inúmeras vezes precisei copiar arquivos que encontravam em uma pasta compartilhada da minha rede Samba. Com este artigo você poderá disponibilizar os recursos de compartilhamento da sua rede interna pelo protocolo HTTP. Portanto, seguindo as instruções deste documento, poderás efetuar todas as operações com arquivos em uma rede interna via browser.

[ Hits: 43.744 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 10/10/2005 | Blog: http://assuntonerd.com.br


Instalação, configuração e execução



Após o download, copie o script SmbwebclientErro para o DOCUMENTROOT do Apache:

# cd /rede/scripts/
# cp smbwebclientErro.php /srv/www/default/html/smbwebclient.php


Veja o resultado ao solicitar o serviço no endereço:

http://ip-do-meu-servidor/smbwebclient.php


Agora iremos analisar os scripts.

Abaixo o script ligasmbweb:

#!/bin/sh
DIALOG=${DIALOG=dialog}
PATH_APACHE="/srv/www/default/html/"
LIGA_SMBWEB="/rede/scripts/smbwebclient.php"

$DIALOG --title "Samba Via Web" --clear \
        --yesno "Deseja habilitar o serviço de compartilhamento samba via WEB? " 6 40

case $? in
  0)
    cp $LIGA_SMBWEB $PATH_APACHE
    desligaweb;;
  1)
    echo "Opção cancelada!";;
  255)
    echo "ESC pressionado.";;
esac

Na 3a. linha, a variável PATH_APACHE deve conter o caminho completo do DOCUMENTROOT do Apache. No meu caso /srv/www/default/html/.

Já na 4a. linha a variável LIGA_SMBWEB aponta para o script smbwebclient.php, em nosso exemplo utilizei o conteúdo /rede/scripts/smbwebclient.php.

Agora vamos executar o script ligasmbweb:

$ su
# cd /rede/scripts/
# ./ligasmbweb


Veja o resultado ao executar o script:


O script parte do princípio que estamos habilitando MANUALMENTE o serviço de acesso aos serviços de compartilhados Samba e/ou Microsoft via web. Pressione [ENTER] com a opção <YES> selecionada para confirmar a operação.

O script irá substituir o HTML que exibe "SERVIÇO INDISPONÍVEL" pelo VERDADEIRO script em PHP smbwebclient.php, assim permitindo o acesso a sua rede interna.

Repare que após a substituição do script, é executado o desligaweb, que analisaremos a seguir.

Veja a funcionalidade do serviço no vídeo abaixo:
Agora vamos ao o script desligaweb. Veja o código do script abaixo:

#!/bin/sh
DIALOG=${DIALOG=dialog}
DESLIGA_SMBWEB="/rede/scripts/smbwebclientErro.php"
LIGA_SMBWEB="/srv/www/default/html/smbwebclient.php"

$DIALOG --title "Compartilhamento Web Habilitado!" --clear \
        --msgbox "Pressione [Enter] para finalizar o serviço de compartilhamento..." 6 41

case $? in
  0)
    cp $DESLIGA_SMBWEB $LIGA_SMBWEB;;
  255)
    echo "ESC pressionado.";;
esac

Na 3a. linha a variável DESLIGA_SMBWEB aponta para o script smbwebclientErro.php (HTML que apresenta a mensagem "SERVIÇO INDISPONÍVEL"). Este script substituirá o VERDADEIRO serviço smbwebclient.php que está em funcionamento.

Agora na 4a. linha a variável LIGA_SMBWEB aponta para o script (em execução) smbwebclient.php, que será substituído. Desta vez o script se encontra no DOCUMENTROOT do Apache (/srv/www/default/html/smbwebclient.php).

Enquanto o smbwebclient está em funcionamento, encontramos a seguinte tela no console que executamos o script:


Ao pressionarmos [ENTER] o script DESLIGAWEB finaliza o compartilhamento.

Se o serviço for solicitado após a operação acima, iremos obter a seguinte mensagem novamente:


Em resumo, basta executar o script LIGASMBWEB para levantar o serviço e pressionar [ENTER] para finalizar o acesso.

Tentei ser o mais objetivo possível neste tutorial, espero que ajude a muitos, pois este esquema se tornou uma ferramenta útil no dia-a-dia.

Página anterior    

Páginas do artigo
   1. Introdução
   2. Downloads
   3. Instalação, configuração e execução
Outros artigos deste autor

Transmitindo vídeo de eventos ao vivo via Internet com GNU/Linux

GAMBAS: A definitiva resposta open-source ao Microsoft Visual Basic

Neste Natal: liberte o seu Motorola Atrix, e o transforme no desktop perfeito

Interface Gráfica e Ambiente Integrado p/ Free Pascal

Como fazer um viciante e cativante servidor de Quake2 CTF

Leitura recomendada

Micro curso Samba

Resara Server Configuration

Migrando perfis de usuário AD para o seu servidor Samba em 2 etapas

Samba + clamav - compartilhamento livre de vírus

Samba standalone server com antivírus

  
Comentários
[1] Comentário enviado por slacklex em 10/10/2005 - 11:47h

Muito bom e útil esse artigo :-)

[2] Comentário enviado por fdettoni em 10/10/2005 - 12:04h

Cada dia se superando. Muito bom artigo, parabéns.

[3] Comentário enviado por removido em 10/10/2005 - 13:05h

mestre cabelo: quanta sapiência neste cérebro...
10!!!!!

[4] Comentário enviado por oneide em 10/10/2005 - 14:50h

Pessoal,
alguém conhece algum similar do Vmware, que rode apartir do linux e seja GPL ou BSD???

Atenciosamente


Oneide Dornelles


[6] Comentário enviado por brtrator em 11/10/2005 - 09:18h

Uma ajuda eu uso o Mandrake10 aonde fica a pasta para colocar o smbwebclient.php.

[7] Comentário enviado por brtrator em 11/10/2005 - 10:11h

Mas algumas duvidas nao achei este script "smbwebclientErro.php"
Baixei o smbwebclient.php.gz, mas ta em gz o que devo fazer???
Como eu deixo os scripts executaveis "ligaweb/desligaweb"??
Desculpe gente mas sou novato na area de linux.


[8] Comentário enviado por guachinim em 21/11/2005 - 16:32h

Bem joia... tuh tah fera!!

Valeu..

[9] Comentário enviado por renatooluiz em 03/09/2007 - 12:53h

Para deixar os arquivos executáveis é só dar um:
# chmod +x nomedoarquivo

em relação ao arquivo smbwebclientErro.php tmb não achei, só achei o smbwebclient.php.gz.

[10] Comentário enviado por Felipe16 em 31/07/2008 - 15:05h

Alguém já sabe se o bug dele com o firefox já foi resolvido??

[11] Comentário enviado por leonardocx em 18/03/2013 - 12:05h

E aí pessoal!
Alguém pode me ajudar a instalar esse smbwebclient?
Sou novo em Linux e estou tendo dificuldade para instalar o SmbWebClient.
No meu servidor Ubuntu tenho rodando o samba e também um sevidor web local (Xampp).
Tanto o samba como o servidor web estão funcionando perfeitamente e eu gostaria de poder disponibilizar o acesso as pastas dos funcionários pela web, para que mesmo fora do escritório eles possam acessar seus diretórios.
Alguém pode me dar uma luz. Um tutorial, um exemplo de configuração...
Agradeço que puder me ajudar nessa.
Valeu!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts