incapaz de acessar '/ro//config/git/attributes': Permissão negada ”

9

Em nosso servidor Ubuntu, podemos clonar como usuário Nginx em /usr/share/nginx/www que possui www-data:www -data propriedade recebendo um aviso como

” warning: unable to access '/root/.config/git/attributes': Permission denied”

Estamos executando o comando como sudo -u www-data git clone <repo>.

Com o sudo, recebemos esse aviso, caso contrário, funciona bem.

Nós podemos clonar como usuário root e não há problema.

.gitconfig está localizado apenas na raiz e por favor veja o conteúdo:

root@geo:~# cat /root/.gitconfig
[user]
        name = pc_user
        email = [email protected]
root@geo:~#

Alguém pode nos ajudar nisso?

Nós tentamos várias opções como /root/.config/ manualmente criado e alterou a permissão etc. mas nada está funcionando. Alguém pode me ajudar por favor.

Veja também por favor:

root@geo:/setup/test# ll /setup/
total 16
drwxr-xr-x  4 www-data www-data 4096 Oct  9 00:14 ./
drwxr-xr-x 24 root     root     4096 Oct  9 00:14 ../
drwxr-xr-x  3 www-data www-data 4096 Oct  9 00:14 test/

root@geo:/setup/test# sudo -u www-data git clone -v git@....../test.git
Cloning into 'test'...
remote: Counting objects: 8323, done.
remote: Compressing objects: 100% (6459/6459), done.
remote: Total 8323 (delta 1543), reused 8241 (delta 1500)
Receiving objects: 100% (8323/8323), 39.85 MiB | 19.52 MiB/s, done.
Resolving deltas: 100% (1543/1543), done.
Checking connectivity... done.
warning: unable to access '/root/.config/git/attributes': Permission denied

Portanto, parece um problema com a configuração do git. Alguém pode nos guiar por favor?

Estou usando esta configuração em um Ubuntu 14.04. Quando eu faço a mesma configuração em outro Ubuntu 12.04, funciona perfeitamente bem.

Também fiz isso:

Criou um user geopc e adicionou à lista de sudoers e quando logamos como usuário de geopc e faz esse comando sudo -u www-data git clone -v git@....../test.git está funcionando perfeitamente.

Então o problema é quando nós logamos diretamente como usuário root no Ubuntu 14.04 e clone como sudo -u www-data git clone este aviso vem. Mas não é no Ubuntu 12.04.

Nós estamos usando o git versão 1.9.1 no Ubuntu 14.04 e também fizemos o upgrade do git para a versão 2.1.1 mas mesmo assim.

    
por Geo 08.10.2014 / 15:21

3 respostas

10

@mu está certo. Este é um problema de sua variável de ambiente HOME do usuário root sendo passada para o script em vez da variável de ambiente HOME do usuário www-data .

Você só precisa adicionar a opção -H ao comando sudo, por isso é bastante fácil:

sudo -u www-data -H git clone -v git@....../test.git
    
por 28.11.2014 / 03:42
0

Acho que a variável HOME está configurada incorretamente.

De tópico do grupo do Google ,

the HOME environment variable was set to /root so it looked at /root/.gitconfig or /root/.config/git/config since the unprivileged user didn't have access to /root it threw an error.

So the solution was for me to set the HOME env to the user's HOME directory

    
por 26.11.2014 / 15:02
-1

Você só precisa reiniciar sua instância stash usando o usuário diferente de root. Normalmente, o usuário seria o mesmo que você usou no momento da instalação.

por exemplo. atlstash

Isso definirá sua variável HOME como / home / atlstash e resolva seu problema

    
por 04.12.2015 / 12:24