Los directorios deben tener el permiso 755; los archivos deben tener 644 permisos.
Esa es una buena regla general a menos que espere que los miembros de su grupo realicen cambios en su repositorio.
Habiendo dicho eso, en uno de mis repositorios, los archivos bajo .git/objects/*
tienen 444 (solo lectura) permiso para todos. Otros archivos son 644 como se sugiere.
Esta secuencia de comandos, ejecute en el directorio de nivel superior justo por encima del depósito de .git
fijaría los permisos:
find .git -type d | xargs chmod 755
find .git/objects -type f | xargs chmod 444
find .git -type f | grep -v /objects/ | xargs chmod 644
empecé con -print0
para los dos find
primeros comandos y xargs -0
para permitir la remota posibilidad de espacios en nombres de archivos. Pero el grep -v
en el tercer comando sería difícil de administrar con el formato -print0
, por lo que omití la notación de espacio seguro de todos los comandos, sabiendo que git
no crea archivos con espaciado en nombres bajo el directorio .git
.
Gracias por eso –
Tuve un mensaje de denegación de permiso .git/FETCH_HEAD cuando ejecuté '' 'git pull''' sin importar los permisos que establecí en él. Esto resolvió el problema y me ayudó a establecer permisos de grupo. ¡Gracias! – bzuillsmith
Sin embargo, lo que es mínimo. ¿No podemos ir 750 en los directorios, y 440/640 en los objs? Suponiendo que el env está configurado correctamente, con grupos. – blamb