Permitir que uma página PHP tenha acesso à um diretório criado pelo comando mount

1. Permitir que uma página PHP tenha acesso à um diretório criado pelo comando mount

Charles Mendes Guimarães
Bionicao

(usa Outra)

Enviado em 17/12/2018 - 12:50h

Olá pessoal,
Sou iniciante no linux e PHP

Eu estou criando um sistema em PHP que roda na rede interna da empresa onde eu trabalho. O sistema roda no Apache que está instalado em um servidor linux Debian.
O meu sistema deve listar e permitir a reprodução de uma série de arquivos de áudio (mp3).
Seria tudo muito simples se os arquivos estivessem dentro uma pasta neste servidor mas os arquivos estão em outra máquina da rede (IP 172.21.4.2).

Eu pesquisei um pouco e descobri que o comando mount poderia me ajudar.
Resolvi então montar um diretório no servidor linux para conseguir visualizar os aquivos de áudio que estavam na outra máquina da rede, usando o seguinte comando:

mount -t cifs -o //172.21.4.2/hd01 /var/www/html/intranet/gravacoes/hd01

E deu certo, consegui montar o diretório e ter acesso aos arquivos via terminal (putty), ou seja, o linux entendeu o comando e eu consigo navegar dentro das pastas onde estão as gravações conforme planejado, porém, somente via terminal e somente com o usuário root, outros usuários não têm permissão de acesso.

Agora começam os problemas:
O meu sistema PHP também não consegue ler os arquivos que estão na pasta gravacoes/hd01 que foi montada. Ele mostra o seguinte aviso na página.

You don't have permission to access /intranet/gravacoes/hd01/1008.MP3 on this server.

Me parece que o problema é que o meu sistema não tem permissão de acesso às pastas "montadas".

Deve ser uma solução simples para vocês mas eu sou iniciante e não sei como faço para o meu sistema PHP ter acesso aos arquivos da pasta que eu "montei"

Aguardo uma ajuda, obrigado





  


2. Re: Permitir que uma página PHP tenha acesso à um diretório criado pelo comando mount

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/12/2018 - 13:15h

Use o comando: sudo chown $USER:$USER /intranet/gravacoes/hd01/*
Esse comando vai dar acesso ao seu usuario($USER) a todos os arquivos no diretório
De uma olhada: https://www.vivaolinux.com.br/topico/Iniciantes-no-Linux/uso-do-comando-mount



3. Re: Permitir que uma página PHP tenha acesso à um diretório criado pelo comando mount

Charles Mendes Guimarães
Bionicao

(usa Outra)

Enviado em 17/12/2018 - 15:04h

Obrigado por responder Erick,

Eu tentei o comando que você escreveu mas o meu linux não reconheceu o "sudo"
Apresentou isso:
-bash: sudo: comando não encontrado

Então eu tirei o "sudo" e usei o comando assim:
root@testes:/var/www/html# chown $USER:$USER intranet/gravacoes/hd01/*

O resultado foi este:
chown: alterando o dono de 'intranet/gravacoes/hd01/2018': Permissão negada
chown: alterando o dono de 'intranet/gravacoes/hd01/2017': Permissão negada

As pastas estão corretas (2018 e 2017), porém não mudou a permissão.




4. Re: Permitir que uma página PHP tenha acesso à um diretório criado pelo comando mount

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/12/2018 - 18:40h

Estranho você já estar logado como root e não consequir acessar o diretório.
Teria como você utilizar o comando ls -l nesse diretório e postar aqui a saida.




5. Re: Permitir que uma página PHP tenha acesso à um diretório criado pelo comando mount

Charles Mendes Guimarães
Bionicao

(usa Outra)

Enviado em 17/12/2018 - 19:53h

Oi Erick,

Eu tenho total acesso aos arquivos e pastas do outro servidor quando estou usando o terminal do linux e logado como root. Como eu havia dito, o comando mount funcionou perfeitamente. Mas acessar as pastas via terminal não é o que eu preciso.

O que eu preciso é que a minha pagina PHP consiga mostrar o conteúdo da pasta que eu montei. É isto que eu não consigo fazer.

Resumindo: consigo via terminal mas não consigo via php

Abaixo segue o resultado do comando que você me pediu:

root@testes:/var/www/html/intranet/gravacoes# ls -l
total 0
drwxrws---+ 5 root 1004 0 nov 29 20:14 hd00
drwxrws---+ 6 root 1004 0 nov 29 20:14 hd01

root@testes:/var/www/html/intranet/gravacoes# cd hd00
root@testes:/var/www/html/intranet/gravacoes/hd00# ls -l
total 0
drwxrws---+ 10 1001 1004 0 dez 1 2017 2017
drwxrws---+ 8 1002 1004 0 jun 1 2018 2018
drwxrws---+ 2 root 1004 0 ago 31 2017 lost+found




6. Re: Permitir que uma página PHP tenha acesso à um diretório criado pelo comando mount

Charles Mendes Guimarães
Bionicao

(usa Outra)

Enviado em 02/01/2019 - 16:59h

Pessoal, ainda preciso de ajuda.

Eu estou criando um pagina em PHP que deve executar uns arquivos de audio.
A pagina funciona se os arquivos estão dentro da pasta var/www/html/intranet/gravacoes
Acontece que os arquivos de audio estão em outra máquina da rede.
Para tentar resolver isto, eu fiz o seguinte:
montei uma pasta chamada hd01 e outra h00
Fiz isto através do putty usando senha de root e deu certo. Eu consigo navegar dentro das pastas via putty.

Porém a minha página PHP não consegue executar os arquivos. Sempre aparece a mensagem:
Forbidden
You don't have permission to access ...

Eu não sei como resolver isto. Já pensei em em entrar no servidor onde estão os audios e dar permissão de acesso ao Apache mas não sei o usuário ou se isso resolverá o problema.

Se alguém ajudar a dar luz, eu agradeço

Obrigado





7. Tenho o mesmo problema.

Jorge L A Dias
jorgediascpd

(usa CentOS)

Enviado em 17/04/2019 - 09:43h

Bom dia,

Conseguiu solucionar o problema?

Meu problema é parecido. Tenho um Servidor storage com uma pasta compartilhada em NFS.
No segundo servidor consigo montar com o comando mount e levanta a partição compartilhada.
Quando é feito o mount a permissão da pasta é sobrescrita pelo administrador da maquina local.
Já dei permição com chown -R apache:apache /pastacompartilhada, tanto no servidor storage quanto no servidor da aplicação.
Já criei o usuário apache no servidor storage para conseguir colocar o usuário e grupo na pasta.
Já tentei as opções de permissões distintas do mount -bind -B e não funcionaram.
Ai encontrei este post e espero que possa ajudar e ser ajudado.

Valeu.






Patrocínio

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts