Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿Git detecta dubious ownership? Prueba usuario, propietario y alcance de confianza

Antes de usar safe.directory=*, audita el Git ejecutado, la identidad del sistema, el propietario de la ruta real y la configuración protegida.

Diagrama original para comprobar Git, propietario y alcance de confianza antes de reparar.
Ilustración original de Watch at Ease: prueba identidad, propietario de la ruta real y alcance antes de añadir confianza. Watch at Ease

La negativa por dubious ownership es una barrera de seguridad, no un simple error de permisos. Primero demuestra qué Git, con qué usuario, rechazó qué ruta real.

Separa propietario inesperado, lanzador, repositorio compartido y alcance de configuración para aplicar la reparación mínima.

Congela el contexto del fallo

Antes de cambiar propiedad o configuración, guarda el error completo, comando, ruta rechazada y entorno de ejecución.

No empieces con chmod, chown recursivo, otro clon ni safe.directory=*; conserva evidencia para elegir la rama correcta.

Prueba Git y usuario efectivos

En el contexto fallido registra ejecutable, versión, whoami, id, HOME, cuenta de servicio y SUDO_UID.

GUI, WSL, CI y terminal pueden usar programas, usuarios y configuraciones distintos.

Verifica ruta real y propietario

Inspecciona la ruta exacta con realpath, stat, ls -ld o Get-Acl, incluidos directorios padre.

Distingue un clon personal con dueño erróneo de repositorios compartidos, montajes con UID, NAS o WSL.

Audita origen y alcance de confianza

En el mismo contexto muestra origin y scope de safe.directory y revisa configuraciones global y system.

La configuración local no puede declararse confiable; revisa ruta canónica, HOME y lado cliente/servidor.

Elige la reparación más estrecha

Corrige el dueño de un clon personal si es incorrecto; para un repositorio compartido intencional añade una sola ruta absoluta.

safe.directory=* es una renuncia total, no un diagnóstico. No sustituyas el análisis por chmod o chown amplios.

Trata los límites de entorno

Compara Git, usuario, HOME y dueño del montaje en GUI, WSL, contenedor, CI, sudo y SSH.

La configuración del cliente no repara Git remoto; termina con un dueño claro o una excepción exacta.

Verifica y conserva reversión

Repite el comando original y una operación de lectura; vuelve a mostrar origen y alcance de configuración.

Registra propietario o excepción, archivo, motivo y comando de eliminación para mantener la protección en otros lugares.

Diagrama original que compara terminal, GUI/servicio y CI/sudo con configuración protegida.
Ilustración original de Watch at Ease: una ruta puede funcionar o fallar según Git, usuario, HOME o alcance. Watch at Ease