Fórum Ubuntu Linux - PT

Suporte Técnico => Servidores => Tópico iniciado por: crixtiano em 26 de Setembro de 2010, 22:06

Título: apache não lista links simbólicos...
Enviado por: crixtiano em 26 de Setembro de 2010, 22:06
Dentro da pasta /var/www/cris eu criei um link simbólico:


Citar
cris@pcjm:/var/www/cris$ ls -l
total 0
lrwxrwxrwx 1 cris cris 23 2010-09-26 21:45 virtual -> /media/Windows7/virtual

Mas ao abrir a página http://localhost/cris o link "virtual" não é listado e se eu tentar abrir a página http://localhost/cris/virtual aparece a mensagem:

Citar
Forbidden

You don't have permission to access /cris/virtual on this server.
Apache/2.2.14 (Ubuntu) Server at localhost Port 80

Alguém poderia me ajuda a solucionar esse problema?

Estou usando o Ubuntu Lucid, atualizado.

Obrigado!

Cristiano
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 27 de Setembro de 2010, 11:46
Você criou algum arquivo ".htaccess" na pasta "/var/www/cris"?
Título: Re: apache não lista links simbólicos...
Enviado por: sistematico em 27 de Setembro de 2010, 13:10
Primeiro, liste as permissões desta pasta e cole aqui, depois: http://httpd.apache.org/docs/2.0/mod/core.html#options
Atenção para o parâmetro FollowSymLinks desta página.
Título: Re: apache não lista links simbólicos...
Enviado por: crixtiano em 02 de Outubro de 2010, 20:23
Você criou algum arquivo ".htaccess" na pasta "/var/www/cris"?

Não, do jeito que instalei o apache eu rodei o servidor.

Não tem nenhum .htaccess em "/var/www/cris".

Deveria ter?

Obrigado.

Cristiano M. Magalhaes
Título: Re: apache não lista links simbólicos...
Enviado por: crixtiano em 02 de Outubro de 2010, 20:27
Primeiro, liste as permissões desta pasta e cole aqui, depois: http://httpd.apache.org/docs/2.0/mod/core.html#options
Atenção para o parâmetro FollowSymLinks desta página.

Aqui estão as listas:
Citar
$ ls -la
total 12
drwxr-xr-x  3 root root 4096 2010-09-26 21:43 .
drwxr-xr-x 16 root root 4096 2010-09-26 21:35 ..
drwxr-xr-x  2 cris cris 4096 2010-09-26 21:45 cris

$ ls -la
total 8
drwxr-xr-x 2 cris cris 4096 2010-09-26 21:45 .
drwxr-xr-x 3 root root 4096 2010-09-26 21:43 ..
lrwxrwxrwx 1 cris cris   23 2010-09-26 21:45 virtual -> /media/Windows7/virtual


Mas e aí? Vê alguma coisa errada?
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 03 de Outubro de 2010, 12:51
Você criou algum arquivo ".htaccess" na pasta "/var/www/cris"?

Não, do jeito que instalei o apache eu rodei o servidor.

Não tem nenhum .htaccess em "/var/www/cris".

Deveria ter?

Obrigado.

Cristiano M. Magalhaes
Não, não precisa.

Procure pelo arquivo "/etc/apache2/sites-enables/000-default", poste o conteúdo dele aqui.
PS: Vc não definiu outro site, ou mexeu em alguma outra configuração, não? Se tiver criado outro site, ou mexido em alguma configuração, poste o arquivo apropriado.
Título: Re: apache não lista links simbólicos...
Enviado por: crixtiano em 03 de Outubro de 2010, 15:25

Procure pelo arquivo "/etc/apache2/sites-enables/000-default", poste o conteúdo dele aqui.
PS: Vc não definiu outro site, ou mexeu em alguma outra configuração, não? Se tiver criado outro site, ou mexido em alguma configuração, poste o arquivo apropriado.

Não, não mexi em nenhuma configuração. Do jeito que instalei rodei o apache. Segue abaixo o conteúdo do arquivo /etc/apache2/sites-enables/000-default:

Código: [Selecionar]
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


Vê alguma coisa que pode me ajudar?
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 04 de Outubro de 2010, 14:57
Sim, tá tudo certinho. Tá pintando que o usuário que executa o apache não tem direito de leitura/execução para o diretório de destino...
Título: Re: apache não lista links simbólicos...
Enviado por: crixtiano em 04 de Outubro de 2010, 15:08
Sim, tá tudo certinho. Tá pintando que o usuário que executa o apache não tem direito de leitura/execução para o diretório de destino...

Todas as permissões apontam para que "outros" usuários possam ler o conteúdo da pasta.

E o erro tá acontecendo somente com links simbólicos. Pastas dentro de "cris", o apache lê bem.
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 04 de Outubro de 2010, 15:17
Mas a configuração está correta, a menos que você tenha criado alguma outra...
Título: Re: apache não lista links simbólicos...
Enviado por: crixtiano em 04 de Outubro de 2010, 15:55
Mas a configuração está correta, a menos que você tenha criado alguma outra...

Não, do jeito que instalei com o "aptitude install apache2", ficou.

Bem, mas e aí? Alguém sugere alguma explicação e solução para o caso?
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 04 de Outubro de 2010, 16:35
que mal lhe pergunte... esse link aponta pra onde?
Título: Re: apache não lista links simbólicos...
Enviado por: Felix em 04 de Outubro de 2010, 16:48
que mal lhe pergunte... esse link aponta pra onde?

Eu achei estranho justamente isso
Dentro da pasta /var/www/cris eu criei um link simbólico:


Citar
cris@pcjm:/var/www/cris$ ls -l
total 0
lrwxrwxrwx 1 cris cris 23 2010-09-26 21:45 virtual -> /media/Windows7/virtual

Título: Re: apache não lista links simbólicos...
Enviado por: crixtiano em 04 de Outubro de 2010, 17:02
que mal lhe pergunte... esse link aponta pra onde?

Eu achei estranho justamente isso
Dentro da pasta /var/www/cris eu criei um link simbólico:


Citar
cris@pcjm:/var/www/cris$ ls -l
total 0
lrwxrwxrwx 1 cris cris 23 2010-09-26 21:45 virtual -> /media/Windows7/virtual



o que de estranho tem no link?
Título: Re: apache não lista links simbólicos...
Enviado por: Felix em 04 de Outubro de 2010, 17:32
que mal lhe pergunte... esse link aponta pra onde?

Eu achei estranho justamente isso
Dentro da pasta /var/www/cris eu criei um link simbólico:


Citar
cris@pcjm:/var/www/cris$ ls -l
total 0
lrwxrwxrwx 1 cris cris 23 2010-09-26 21:45 virtual -> /media/Windows7/virtual



o que de estranho tem no link?

Particularmente acho estranho o apache buscar algo fora de sua pasta home, neste caso podendo ser até uma outra partição. Claro que posso estar errado, mas acho inclusive que isso pode ocasionar falhas de segurança.
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 04 de Outubro de 2010, 17:55
O usuário que roda o apache tem direitos de leitura e execução em todo caminho até a pasta? Se não tiver, ele não consegue ler...
Título: Re: apache não lista links simbólicos...
Enviado por: Felix em 04 de Outubro de 2010, 18:04
O usuário que roda o apache tem direitos de leitura e execução em todo caminho até a pasta? Se não tiver, ele não consegue ler...

é justamente aí que vejo nascer a falha de segurança...
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 04 de Outubro de 2010, 18:15
Não sei se é falha de segurança, Felix. O apache não vai permitir que um usuário externo acesse nada que esteja fora da árvore de documentos. Até já se pegou algumas falhas, onde o atacante acessava algo como

http://servidor-do-cris/cris/../../../etc/passwd

E conseguia pegar o arquivo de senhas do coitado. Mas essas falhas já estão no passado...

Agora, corrijo-me. Quando eu disse que o apache precisa ter direitos de leitura e execução em todo o caminho, não é verdade; ele só precisa ter direitos de execução em todos os diretórios do caminho. Direito de leitura, ele só precisa ter no diretório de destino, e mesmo assim só se precisar listar o seu conteúdo.

Assim, se o link /var/www/cris aponta para /media/Windows7/virtual, então vc tem que garantir que o usuário "www-data" tenha direito de execução em "/media", em "/media/Windows7" e em "/media/Windows7/virtual".

E pelo nome do arquivo, não me espanta se isso for uma partição Windows formatada em NTFS. Dependendo de como estiverem as opções de montagem, o usuário www-data não vai conseguir mesmo esse acesso...
Título: Re: apache não lista links simbólicos...
Enviado por: crixtiano em 05 de Outubro de 2010, 15:10
Particularmente acho estranho o apache buscar algo fora de sua pasta home, neste caso podendo ser até uma outra partição. Claro que posso estar errado, mas acho inclusive que isso pode ocasionar falhas de segurança.

Felix, o apache ele não busca nada fora de /var/www, a menos que o administrador explicite isso criando um link. No meu caso, eu preciso que o servidor apache mostre o que há dentro da outra partição, por isso criei um link simbólico.

O fato é que ele não está listando esse link.

Alguém sabe porque disso?
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 05 de Outubro de 2010, 15:34
Pq o apache não tem permissão de leitura e/ou execução em algum ponto do caminho.
Título: Re: apache não lista links simbólicos...
Enviado por: groove em 03 de Outubro de 2011, 18:47
Estou com o mesmo problema, tenho um sistema hospedado no Dropbox e quero acessar os arquivo fontes diretamente do /var/www/ porém quando crio o link dentro do /var/www apontando para /home/kauan/Dropbox/Sistema o apache não acessa o link, ocorre erro de permissão, mas a pasta que está na nuvem está com todas as permissões, não seria alguma configuração do apache msm?
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 03 de Outubro de 2011, 18:57
Há uma configuração "FollowSymLinks" que deve estar ativada. Mas vc ainda tem que ter as permissões de acesso ao diretório real de destino, e de execução em cada componente do caminho.
Título: Re: apache não lista links simbólicos...
Enviado por: groove em 04 de Outubro de 2011, 19:53
Esta configuração está ativa, pois se eu crio link para qualquer outra pasta o apache reconhece, somente não é possível com as pastas dentro do Dropbox, dei todas as permissões possíveis e nada acontece "/
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 04 de Outubro de 2011, 20:44
Veja se vc não tem configurações especiais pra esse diretório. Algum arquivo de configuração /etc/apache2/conf.d/dropbox.conf, talvez?
Título: Re: apache não lista links simbólicos...
Enviado por: groove em 04 de Outubro de 2011, 22:11
zekkerj me desculpe cara, minha pasta /home/kauan/Dropbox não estava com os devidos acessos.
Aproveitando o tópico, eu alterei as permissões pelo nautilus, e lá existem 3 opções: checkbox desmarcado, marcado com um check e selecionado somente.
Gostaria de saber a diferença entre o marcado e o selecionado.
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 04 de Outubro de 2011, 22:34
Faz uma coisa? Executa o comando abaixo e cola o resultado aqui. Vamos ver como estão essas permissões no caminho.

namei -m /var/www/Dropbox

Título: Re: apache não lista links simbólicos...
Enviado por: groove em 04 de Outubro de 2011, 22:41
Legal este comando namei :)
Veja o meu post anterior :)
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 04 de Outubro de 2011, 22:58
Rapaz, eu não uso o nautilus. Não sei te dizer qual é a função de cada controle ali.
Título: Re: apache não lista links simbólicos...
Enviado por: cianetmidia em 09 de Outubro de 2011, 23:54
Concordo com a falha de segurança o que esta ocorrendo e que o apache não tem permissão para acessar a pasta, tem colocar para teste a permissão 775 em /media/etc/etc
e verifique se deu certo, volto a frisar é uma falha de segurança buscar algo fora do seu home como citado acima pois você é obrigado a setar permissões digamos não muito corretas para servidor web
Título: Re: apache não lista links simbólicos...
Enviado por: zekkerj em 09 de Outubro de 2011, 23:59
Essa questão da falha de segurança já tinha ficado pra trás, não?