Parece que o usuário que você está executando tem o grupo padrão definido como yuri
. Você pode confirmar isso assim:
$ id -a
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel),989(wireshark)
O UID da sua conta é este: uid=1000(saml)
enquanto o grupo padrão é git=1000(saml)
e quaisquer grupos secundários são a partir de então.
NOTA: Se você deseja que o clone git tenha propriedade específica, você tem pelo menos 2 opções.
Opção 1
Defina um diretório pai com as permissões conforme desejado:
$ mkdir topdir
$ chgrp http topdir
$ chmod g+s topdir
$ cd topdir
$ git clone ....
Isso forçou o diretório topdir
a impor todos os diretórios filhos abaixo dele para que o grupo fosse http
aplicado. Isso funcionará de maneira geral, mas poderá causar problemas, pois se você mover arquivos para esse espaço de trabalho do clone do git, esses arquivos não terão seus grupos aplicados pelas alterações feitas acima.
Opção 2
Antes de fazer o trabalho, altere seu grupo padrão para http
o seguinte:
$ newgrp http
$ git clone ...
Esse método forçará qualquer novo arquivo criado a ter seu grupo definido como em http
vez do grupo padrão normal de yuri
, mas isso funcionará apenas desde que você lembre de fazer um newgrp
trabalho anterior a trabalhar neste espaço de trabalho.
Outras opções
Se nenhum deles parecer aceitável, tente usar ACLs no diretório da área de trabalho git. Eles são discutidos em várias perguntas e respostas neste site, como as perguntas e respostas intituladas: Obtendo novos arquivos para herdar permissões de grupo no Linux .
newgrp
. Então, ele muda de grupo apenas para o shell atual? E, finalmente, o objetivo era tornar apenas arquivos / diretórios específicos acessíveis para gravação pelo servidor da web. Afinal de contas, eu provavelmente deveria corrigi-los manualmente, ou configurar algumgit
gancho ...A solução que eu uso é executar o comando como o usuário que possui as permissões que você deseja manter:
Isso impede que as permissões sejam alteradas. Eu o uso ao atualizar repositórios git no meu VPS, mantendo as permissões de arquivo definidas para o usuário do servidor da web.
Veja também a mesma pergunta aqui .
fonte