У меня есть git установка с моим сервером Apache2, и он отлично справляется с запросом git. Теперь я хочу настроить аутентификацию Basi c, чтобы не все могли использовать каждый каталог. Моя цель состоит в том, чтобы только группа ADMIN имела доступ к полному каталогу /var/www/html/git
, а мой GITGROUP может обращаться к только /var/www/html/git/subdir
каталогам. Однако, пока Apache запрашивает учетные данные, при настройке (ниже) GITGROUP по-прежнему разрешен доступ к всем git каталогам. Что я делаю не так?
SetEnv GIT_PROJECT_ROOT /var/www/html/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
<Directory /usr/lib/git-core>
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/etc/apache2/.htpasswd"
AuthGroupFile "/etc/apache2/groups"
Require group ADMIN GITGROUP
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/html/git>
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/etc/apache2/.htpasswd"
AuthGroupFile "/etc/apache2/groups"
Require group ADMIN
Options -Indexes
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/html/git/subdir>
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/etc/apache2/.htpasswd"
AuthGroupFile "/etc/apache2/groups"
Require group ADMIN GITGROUP
Options -Indexes
Order allow,deny
Allow from all
</Directory>