Tecnología · GUÍA PRÁCTICA
¿zsh compinit dice “insecure directories”? Audita la cadena de confianza antes de chmod
El aviso protege una ruta que carga código shell. Antes de cambiar permisos o desactivar la comprobación, fija el usuario real, cada padre de fpath, el destino del enlace y el propietario del instalador.

zsh avisa de directorios de completado inseguros porque los archivos de fpath pueden cargarse como código shell. Es un límite de confianza, no una orden para ejecutar chmod o chown recursivos.
Ejecuta compaudit como el usuario que abre la terminal, sigue cada padre y destino real, identifica al paquete o instalador dueño y aplica una sola reparación reversible con verificación.
1. Reproduce la auditoría como el usuario real
En el mismo shell interactivo registra versión, id, grupos, HOME, ZDOTDIR y orden de fpath; después ejecuta compaudit.
No uses sudo, borrado de caché ni respuestas repetidas como sustituto del diagnóstico.
2. Inventaría cada ruta, padre y destino real
Registra propietario, grupo, modo y ACL del archivo, padres relevantes y destino del enlace, comparados con fpath.
Clasifica cada escritor y conserva el estado previo y el paquete o instalador creador.
3. Separa tres modelos de propiedad
Corrige solo el punto probado si es una deriva accidental; usa el modelo soportado si la ruta es gestionada por paquetes.
Si no confías en todos los escritores de un prefijo compartido, mueve el completado a una ruta por usuario o mantenlo excluido.
4. Haz la reparación durable y reversible
Cambia la ruta mínima y registra valores anteriores, nuevos, operación y reversión. Evita operaciones recursivas sobre salida no revisada.
Si una actualización recrea el problema, corrige instalador, configuración del paquete o FPATH.
5. Verifica un shell nuevo y el límite negativo
Abre un shell nuevo como el usuario original, repite compaudit y prueba un completado de esa ruta.
Demuestra que una cuenta no confiable no puede modificar archivos ni padres cargados y repite la actualización antes de aceptar.
