Compartilhamento de arquivos via Samba e acesso web via Apache autenticado

Publicado por Daniel Fernandes em 09/10/2009

[ Hits: 34.766 ]

 


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

SoundBlaster SB16 non PNP ISA

Portable Ubuntu Remix

Leitura recomendada

Ubuntu/Xubuntu - Como executar arquivo JAR (Java) via interface gráfica

Dicas para o BitchX

Web of Life: um jogo de estratégia online GPL

Adicionar ícones na barra do Gnome

Syslog - Gerenciamento de logs do sistema

  

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