В корне (/ var / www / webdav /) моего общего ресурса webdav у меня есть две папки:
valid
myuser
Я бы хотел valid
папка должна быть доступна любому действующему пользователю. Так я и сделал:
Alias /webdav /var/www/webdav/
<Location /webdav>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user
</Location>
и я бы хотел myuser
папка доступна только для myuser
, так:
Alias /myuser /var/www/webdav/myuser
<Location /myuser>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require user myuser
</Location>
Проблема: другой пользователь (не myuser) получает доступ к webdav / myuser /.
Что я делаю не так?
<Location>
соответствует URL-адресам, поэтому URL-адрес webdav/myuser
распространяется только на первое правило с более разрешительным ограничением. Вам нужно будет либо изменить на <Directory>
или измените второй блок на <Location /webdav/myuser>
Мне все еще интересно, как <Directory>
подход будет использоваться @Sven.
Но, похоже, следующее решение проблемы:
Alias /webdav /var/www/webdav/
<Location /webdav>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user
</Location>
Alias /webdav/myuser /var/www/webdav/myuser
<Location /webdav/myuser>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require user myuser
</Location>