Falha de acesso push e selinux do Gitolite3

2

Eu tento instalar o gitolite3 com ssh e http.

Eu segui em grande parte o guia oficial no gitolite3 , mas estou tropeçando em três problemas remanescentes.

  1. Quando eu $ git clone http://florian@server/git/testing , isso cria corretamente o repositório. Eu adiciono e confirmo um novo arquivo de texto e, em seguida, $ git push http://florian@server/git/testing . A coisa então é, só me dá uma mensagem:

    Everything up-to-date
    

    Isso é estranho. Eu $ rm -rf testing clonei o repositório novamente e meu arquivo de texto não está lá. Parece que a leitura está bem, mas a escrita se perde em algum lugar. Não há nada de suspeito em / etc / httpd / logs / suexec.log, error_log, access_log, todos eles indicam uma autenticação e conexão de usuário bem-sucedidas. Além disso, o conteúdo do ./gitolite-admin/conf/gitolite.conf para teste é:

    repo testing
        RW+     =   @all
        RW+     =   daemon
    

    Embora o guia oficial do gitolite3 não tenha dito nada sobre adicionar o W + ao repo de teste. Estou um pouco estupefato, onde devo olhar para empurrar o trabalho http?

  2. Para chegar até aqui, precisei echo 0 > /selinux/enforce (desativar o selinux), que quero reativar novamente. Depois de reabilitar, o httpd error_log tem as seguintes linhas toda vez que eu tento o $ git clone http://florian@server/git/testing acima, e o próprio comando falha (é claro):

    [Sun Aug 04 00:19:34 2013] [error] [client 10.42.43.1] FATAL: errors found but logfile could not be created
    [Sun Aug 04 00:19:34 2013] [error] [client 10.42.43.1] FATAL: /var/lib/gitolite3/.gitolite/logs/gitolite-2013-08.log: Permission denied
    [Sun Aug 04 00:19:34 2013] [error] [client 10.42.43.1] FATAL: warn\tUse of uninitialized value $rc{"UMASK"} in umask at /usr/share/gitolite3/gitolite-shell line 95, <DATA> line 1.<<newline>>
    [Sun Aug 04 00:19:34 2013] [error] [client 10.42.43.1] Premature end of script headers: gitolite-suexec-wrapper.sh
    

    ... Então estou correndo agora em dificuldades selinux. Executando a seguinte linha revela:

    # ll -Z /var/lib/gitolite3/.gitolite/logs/gitolite-2013-08.log 
    -rw-rw-rw-. gitolite3 gitolite3 unconfined_u:object_r:gitosis_var_lib_t:s0 /var/lib/gitolite3/.gitolite/logs/gitolite-2013-08.log
    

    ... O que me intriga ainda mais. Estou ciente de que o gitolite3 está seguindo a gitosis, parece que meu OS CentOS6.4 está realmente fazendo uma correção rápida com roteamento de contextos de arquivo com rótulos de gitoses antigos em vez de novos gitolitos. É justo, mas agora quero perguntar à comunidade qual é a melhor prática aqui e quais permissões devo permitir para resolver esse problema de acesso?

Me desculpe se estas são muitas perguntas, eu não sabia que instalar o gitolite3 não era tão simples para o http. Mas estou empenhada em fazer isso e eu sei que não é tão longe para chegar lá.

    
por Florian Mertens 04.08.2013 / 01:43

0 respostas