Compartilhamento de arquivos via Samba e acesso web via Apache autenticado

Publicado por Daniel Fernandes em 09/10/2009

[ Hits: 34.164 ]

 


Compartilhamento de arquivos via Samba e acesso web via Apache autenticado



Olá pessoal!

Tive a seguinte missão: habilitar o compartilhamento de arquivos via Samba para certos usuários da minha rede com estações Windows, sendo que esses diretórios e arquivos deveriam ser acessados via web pela equipe "móvel".

Utilizei a seguinte solução e achei interessante compartilhá-la:

Levando-se em consideração que Samba e Apache2 já estão instalados.

Criando os usuários no Linux:

# adduser <usuário>

Entre com a senha (se possível a mesma da rede Windows, ou se tiver muitos usuários, pesquise sobre algum tipo de migração).

Adicione o usuário no Samba:

# smbpasswd -a <usuário>

* Entre com mesma senha do Linux e confirme.

E caso precise, para excluir:

# smbpasswd -x <usuário>

Adicione um grupo:

# addgroup <grupo> (no meu caso usei o grupo "movel")

Adicione os usuários no grupo:

# gpasswd -M <usuário1>,<usuário2>,... <grupo>

Se for o caso, adicione os grupos ao usuário:

# usermod -G <grupo1>,<grupo2>,... <usuário>

Crie o diretório no ROOT do Apache (por padrão: /var/www/, verifique sua configuração).

# mkdir /var/www/<diretório>

Altere as permissões para que somente usuário e grupo tenham acesso ao diretório:

# chmod 770 /var/www/<diretório>

Se necessário altere as permissões de acordo com suas necessidades.

Altere o grupo de acesso:

# chown <usuário>.<grupo> /var/www/<diretório>

Temos aqui um pequeno "problema", alterando o grupo do diretório, o Apache não consegue acessar a pasta, portanto temos também que adicionar o usuário do Apache (www-data) ao grupo em questão (movel).

# gpasswd -M <usuário> <grupo>
# gpasswd -M www-data movel


Vamos habilitar a restrição do endereço no Apache2 editando o arquivo /etc/apache2/sites-available/default e adicionando o seguinte conteúdo no final do arquivo:

<Directory /var/www/diretório>
   Deny from all
   AuthType Basic
   AuthName "Acesso Restrito!"
   AuthUserFile /var/www/autentica/.htpasswd_movel
   Require valid-user
   Satisfy Any
</Directory>

Agora vamos criar o arquivo de autenticação citado acima:

# htpasswd -c /var/www/autentica/.htpasswd_movel <usuário>

* Entre com mesma senha do Linux e confirme.

* É necessário UM arquivo para cada usuário, portanto se for utilizar mais de um usuário, aconselho alterar o arquivo .htpasswd_movel para .htpasswd_<usuário>, onde <usuário> deve ser o usuário que for cadastrado.

Criando o compartilhamento no Samba

Edite o arquivo /etc/samba/smb.conf e adicione:

[Movel]
   browseable = yes
   path = /var/www/movel
   read only = no
   comment = Arquivos Equipe Movel
   public = no

* Existem muitas outras opções que podem ser usadas aqui, se houver necessidade, por favor consultem a documentação do Samba.

Reinicie o Apache2:

# /etc/init.d/apache2 restart

Reinicie o Samba:

# /etc/init.d/samba restart

* No caso da distribuição Debian e derivadas.

Para acessar via Samba, vá em iniciar, executar e digite:

\\IP_SERVIDOR

Entre com usuário e senha.

Se o usuário já estiver logado na estação com os mesmos dados cadastrados no Samba, não será necessário autenticar novamente. Se necessário, pode mapear a unidade.

Para acessar via web:

http://IP_SEVIDOR/<diretório>

Entre com usuário e senha.

Se não tiver um domínio, é interessante cadastrar um hostname do tipo DynDNS.

Espero que seja útil!

Abraço.

Outras dicas deste autor

CACIC - Como Fazer

Portable Ubuntu Remix

SoundBlaster SB16 non PNP ISA

Leitura recomendada

Conecte seu celular Nokia N70 ao Ubuntu

Email de 30 GB

Gráfico da evolução da popularidade das 20 distros mais utilizadas

VMVolMan - Dockapp para gerenciar mídias removíveis no Window Maker

As distribuições e suas variantes

  

Comentários
[1] Comentário enviado por kabalido em 09/10/2009 - 16:52h

Ótima dica cara!
Gostei da forma como foram explicadas as etapas.
Parabéns!

[2] Comentário enviado por jkessler em 09/10/2010 - 11:59h

Prezado, como você resolveu o problema na alteração desses arquivos compartilhados no samba, pois
o arquivo é baixado para estação pelo http se é feito alteração como voltar alterado para o samba


Um abraço

[3] Comentário enviado por teoyemal em 11/04/2018 - 11:07h

Bom dia amigo, consegui resolver o problema defini um .htpasswd com indicações diferentes para cada usuário em suas devidas pastas, e fiz a configuração de cada um no /apache2/sites-available/default



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts