Отключение доступа для git для указания c каталога с Apache Basi c аутентификацией - PullRequest
1 голос
/ 15 апреля 2020

У меня есть 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>
...