Como o apache usa ou permite a navegação de / usr / share? (linux / Ubuntu)

6

O padrão apache.conf (servidor ubuntu) contém o seguinte bloco:

# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.

# .... other items removed for brevity    

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

Minha intrepretação desta diretiva é que o apache permitirá a navegação na web dos itens na pasta /usr/share . ainda se eu tentar navegar e item em /usr/share/ eu não consigo ver nada?

  1. Como navego pelo conteúdo em / usr / share?

    por exemplo. se eu apontar um navegador para localhost/synaptic/html/index.html , recebo um erro 404 não encontrado

  2. Se o apache permitir a navegação deste diretório - preciso bloqueá-lo em um servidor de produção?

por Michael Coleman 27.12.2014 / 06:40

1 resposta

4
  1. Você precisa mapear um caminho de URL para / usr / share. A maneira mais simples de fazer isso é usar uma diretiva Alias, por exemplo:

    Alias /share /usr/share
    

    Em seguida, http://localhost/share/synaptic será mapeado para /usr/share/synaptic . Veja a documentação do Alias .

  2. Todos os arquivos em / usr / share já devem ser não-graváveis para usuários não-root, incluindo o usuário do Apache, www-data. Eles provavelmente também são todos legíveis pelo mundo. Por isso, não há problema em atendê-los todos como acima, sem restrições adicionais. Mas, se houver arquivos públicos em / usr / share que você não deseja que os usuários do Apache vejam, use as diretivas Require all deny para bloquear o acesso a esses arquivos.

por 27.12.2014 / 07:20