Em nosso servidor Ubuntu, podemos clonar como usuário do Nginx /usr/share/nginx/www
que possui www-data:www
propriedade de -dados recebendo um aviso como
”Aviso: não é possível acessar '/root/.config/git/attributes': permissão negada”
Estamos executando o comando como sudo -u www-data git clone <repo>.
Com o sudo, estamos recebendo esse aviso, caso contrário, está funcionando bem.
Podemos clonar como usuário root e não há problema.
.gitconfig está localizado apenas na raiz e consulte o conteúdo:
root@geo:~# cat /root/.gitconfig
[user]
name = pc_user
email = [email protected]
root@geo:~#
Alguém pode nos ajudar nisso.
Tentamos várias opções, como criadas manualmente /root/.config/
diretamente e alteramos a permissão etc. mas nada está funcionando. Alguém pode me ajudar nisso.
Veja também:
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 instalação do git. Qualquer um pode nos guiar.
Estou usando essa configuração em um Ubuntu 14.04. Quando eu faço a mesma configuração em outro Ubuntu 12.04, está funcionando perfeitamente bem.
Também fiz isso:
Criou um usuário geopc e foi adicionado à lista de sudoers e, quando registramos como usuário geopc, fazemos este comando sudo -u www-data git clone -v git@....../test.git
funcionando perfeitamente.
Portanto, o problema é quando entramos diretamente como usuário root no Ubuntu 14.04 e clonamos quando sudo -u www-data git clone
esse aviso chega. Mas não está no Ubuntu 12.04.
Estamos usando o git versão 1.9.1 no Ubuntu 14.04 e também atualizamos o git para a versão 2.1.1, mas o mesmo.
/root
. Se não as permissões do sistema de arquivos, certamente coisas como AppArmor ou SELinux devem bloquear o acesso do servidor da web a / root.Respostas:
@mu está certo. Esse é um problema da variável de ambiente HOME do usuário que
root
está sendo passada para o script, em vez dawww-data
variável de ambiente HOME do usuário .Você só precisa adicionar a opção -H ao comando sudo, por isso é bastante fácil:
fonte
Eu acho que a
HOME
variável está configurada incorretamente.No segmento do grupo do Google ,
fonte
Você só precisa reiniciar sua instância stash usando o usuário que não seja root. Normalmente, o usuário seria o mesmo que você usou no momento da instalação.
por exemplo, atlstash
Fazer isso definirá sua variável HOME como / home / atlstash e resolverá seu problema
fonte