ограничить доступ к подкаталогу в apahe, оставив родительский элемент открытым

Я устанавливаю webdav на apache2.4, и мне нужно, чтобы мой верхний каталог / webdav был свободно открыт, а подкаталог вроде / webdav / projects / secretproject для защиты паролем. Также полезны любые предложения о том, как ограничить подкаталог.

0
задан 6 November 2018 в 19:43
2 ответа

Я только что протестировал это (apache2 2.4.18) и обнаружил, что базовая аутентификация работает, как только я изменяю Location на Directory вот так:

<Directory /var/webdav/projects/secretproject >
…
</Directory>

Я думаю, это потому, что директива Directory для / var / webdav переопределяет директиву Location для проектов / secretproject, но я Я не уверен в этом.

Кроме того, у вас есть небольшая опечатка в этой конфигурации, она должна правильно читаться:

<Directory /var/webdav/ >
     Options Indexes FollowSymLinks
     Allow from all
</Directory>

Но поскольку ваш apache2 работает, я думаю, что это всего лишь ошибка копирования и вставки из-за того, что поместил его сюда на serverfault . Надеюсь, это поможет!

0
ответ дан 4 December 2019 в 15:48

Как указано в предыдущих комментариях, реализация auth внутри каталога без местоположения решила проблему

Alias /webdav /var/webdav/
Alias /secretproject /webdav/projects/secretproject/ 
<Directory /webdav/projects/secretproject >
   AuthType Basic
   AuthName "TEST - TEST"
   AuthBasicProvider file
   AuthUserFile "/etc/apache2/auth/test.passwd"
<RequireAll>
   Require all granted
   Require valid-user
</RequireAll>
</Directory>

<Directory /var/webdav/ >
    DAV on
    Options +Indexes
    FollowSymLinks from all
    <LimitExcept GET HEAD OPTIONS PROPFIND>
        Deny from all
    </LimitExcept>
    Require all granted
  </Directory>

Спасибо за помощь

1
ответ дан 4 December 2019 в 15:48

Теги

Похожие вопросы