Permiso .git / config denegado al intentar agregar control remoto en ubuntu

Estoy tratando de agregar un control remoto adicional a un proyecto git existente para poder enviar el código a un repository de bitbucket secundario usando el complemento git remote user2 git@bitbucket.org: … , pero me aparece el siguiente error:

error: no se pudo bloquear el file de configuration .git / config: Permiso denegado

Es un proyecto antiguo, así que no estoy seguro de cómo se configuró originalmente, pero parece que puede haber sido instalado como root.

Traté de verificar los permissions de file para .git y .git / config y puedo ver que pertenece a www-data. Mi usuario actual es parte del grupo www-data, pero sigo teniendo el mismo error.

También verifiqué el file .git / config.lock en caso de que estuviera bloqueando, pero no hay ninguno.

No soy partidario de usar sudo con .git, así que me pregunto si alguien me puede dar algunos consejos sobre mejores prácticas sobre cómo lidiar con esto.

Hacer todo lo que pertenece a un grupo es el path a seguir, pero debe asegurarse de que todo tenga los permissions de escritura grupales y que cada file esté en el grupo www-data recursivamente:

  sudo chown -R :www-data /path/to/git/repo sudo chmod -R g+w /path/to/git/repo 

Luego ejecuta tus commands git.

No debería tener que usar sudo con git si sus permissions están configurados correctamente.

Esto suena como un problema de permissions básicos. Descubriste que eres parte del grupo, pero también necesitas que el file tenga permissions de grupo rw si counts con acceso a través de perms de grupo, por ejemplo, chmod g+rw .git/config . O eso o necesita ser el propietario de los files en cuestión, también con rw .

Como mencionas www-data como grupo, me pregunto si estás en un server. Si está utilizando un sistema operativo de server como CentOS, es probable que tenga funcionando SELinux, en cuyo caso esa es otra capa de permissions con la que debe lidiar. Use ls -alZ para ver las permanentes de SELinux, si están presentes.