Mecanismo por trás do encaminhamento de usuários no ScriptAliasMatch

1

Estou seguindo este tutorial para configurar o gitolite e em algum momento o seguinte ScriptAliasMatch é usado:

ScriptAliasMatch \
"(?x)^/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
/var/www/bin/gitolite-suexec-wrapper.sh/$1

E o script de destino começa com

USER=$1

Então eu estou supondo que isso é usado para encaminhar o nome de usuário do apache para o script suexec (o que realmente requer). Mas não vejo como isso é feito. A documentação do ScriptAliasMatch me faz pensar que o /$1 será substituído pelo primeiro grupo correspondente do regexp antes dele. Para mim, captura de (? X) ^ / ( . * Para) ) $ por isso não há nada sobre um usuário aqui.

Meu problema subjacente é que USER está vazio no meu script, por isso não obtenho autorizações no gitolite. Eu dou meu nome de usuário para o apache através de uma autenticação básica:

<Location />
   # Crowd auth 
   AuthType Basic
   AuthName "Git repositories"
   ...
   Require valid-user
</Location>

definido apenas sob o ScriptAliasMatch anterior.

Então, estou realmente querendo saber como isso deve funcionar e qual parte do mecanismo eu perdi para não recuperar o usuário no meu script.

    
por jolivier 27.09.2012 / 18:19

1 resposta

1

Encontrei a solução seguindo o link e link que era adicionar o

SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER

para minha configuração do apache e use $REMOTE_USER no meu script que contém de fato o nome de usuário autenticado. Eu realmente estou querendo saber como a amostra no tutorial deve funcionar.

    
por 28.09.2012 / 11:00