Fórum Ubuntu Linux - PT
Suporte Técnico => Servidores => Tópico iniciado por: crixtiano em 26 de Setembro de 2010, 22:06
-
Dentro da pasta /var/www/cris eu criei um link simbólico:
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:
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
-
Você criou algum arquivo ".htaccess" na pasta "/var/www/cris"?
-
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.
-
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
-
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:
$ 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?
-
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.
-
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:
<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?
-
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...
-
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.
-
Mas a configuração está correta, a menos que você tenha criado alguma outra...
-
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?
-
que mal lhe pergunte... esse link aponta pra onde?
-
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:
cris@pcjm:/var/www/cris$ ls -l
total 0
lrwxrwxrwx 1 cris cris 23 2010-09-26 21:45 virtual -> /media/Windows7/virtual
-
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:
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?
-
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:
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.
-
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...
-
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...
-
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...
-
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?
-
Pq o apache não tem permissão de leitura e/ou execução em algum ponto do caminho.
-
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?
-
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.
-
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 "/
-
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?
-
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.
-
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
-
Legal este comando namei :)
Veja o meu post anterior :)
-
Rapaz, eu não uso o nautilus. Não sei te dizer qual é a função de cada controle ali.
-
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
-
Essa questão da falha de segurança já tinha ficado pra trás, não?