11 votos

¿Cuál es el xattr (atributo extendido) `com.apple.provenance` y cómo puedo eliminarlo?

Tengo problemas en un sistema macOS 13.0 de Ventura donde varios archivos en mi disco han sido etiquetados con un xattr aparentemente vacío llamado com.apple.provenance. Normalmente no me preocuparía por esto, pero está causando un problema donde Syncthing no puede sincronizar debido a (creo) que ese xattr en particular no es reconocido en un sistema más antiguo de Monterey 12.6.1.

He intentado eliminar este molesto atributo usando xattr -d com.apple.provenance /path/to/file pero el atributo no se elimina, a pesar de que no se muestra ningún mensaje de error. Agregar sudo al comando no hace ninguna diferencia.

¿Alguien sabe algo más sobre este atributo misterioso y cómo podemos destruirlo? He presentado un problema en el repositorio de github de syncthing-macos y también he publicado en el foro de Syncthing.

actualización: Aunque no responde a la pregunta original, el problema que me llevó a hacerla ha sido resuelto. El desarrollador de Syncthing (Jakob Borg) amablemente lanzó v1.22.2-rc.2 que soluciona la causa root del problema de metadatos en #8657. ¡Ya puedo sincronizar con éxito en Ventura de nuevo!

1 votos

0 votos

¿No puedes configurar SyncThing para simplemente tratar el atributo como cualquier otro? Yo uso Resilio Sync, el cual puede ser configurado para sincronizar los xattrs individuales o ignorarlos.

0 votos

Parece haber algo problemático con el nuevo com.apple.provenance. Lo tengo configurado en dos (no en todos) de las aplicaciones actualizadas desde la actualización de Ventura. Está configurado en la propia aplicación y en TODOS los archivos dentro del paquete de la aplicación. No configurado en ningún documento, etc. El único método de eliminación (y solo reportado por una persona) es mover el archivo a otro lugar y luego volver a moverlo.

7voto

David James Puntos 118

Para mí, a partir de 2023-09-95, usando macOS 13.5, el atributo extendido com.apple.provenance FILE indeed puede ser eliminado usando Terminal.app con

xattr -d com.apple.provenance FILE

No es así con otros terminales

Sin embargo, en mis pruebas, el comando anterior no funciona con estos otros terminales:

Dado que la interacción de (xattr con Terminal.app de Apple) es diferente de la interacción de (xattr con OTRO_TERMINAL_EMULATOR), podemos notar que algo está pasando. ¿Pero qué?

Hipótesis

  1. Hay alguna diferencia en el código o configuraciones del emulador de terminal. Tal vez Terminal.app "hace algo bien" que los otros no hacen. (Nota: esto no me resulta convincente.)

  2. Aunque no hay nada sustancialmente diferente sobre los emuladores de terminal en sí, hay diferencias en los metadatos: Terminal.app está firmado digitalmente. En esta hipótesis, xattr mira los permisos del proceso llamante (según lo determinado por la firma digital y medidas de seguridad relacionadas) para decidir si se permiten ciertas modificaciones de atributos. (Nota: esto parece altamente plausible.)

Por último, una nota pedagógica. Arriba, usé intencionalmente la palabra 'interacción', porque quiero ilustrar cómo este cambio en la fraseología marca la diferencia al explorar posibles causas. No solo deberíamos pensar en un componente; debemos considerar cómo interactúan las partes.

4voto

faebster Puntos 121

Ventura introduce un nuevo atributo extendido com.apple.provenance, utilizado para marcar la autorización exitosa del aclaramiento de cuarentena. También está protegido por SIP.

https://eclecticlight.co/2023/03/13/ventura-has-changed-app-quarantine-with-a-new-xattr/

xattr no tiene valor: es como un indicador booleano, indica la autorización de la cuarentena, no es necesario un valor.

xattr eliminación:

Si tienes una razón para eliminar la marca, puedes probar la variación 1 que funcionó para mí, mejor si no hay muchos archivos o si tienes el mismo tipo de archivos (script)

  1. mover el código fuera de los archivos y pegarlo en nuevos (evitando operaciones críticas)
  2. mover el archivo/directorio a otro lugar y regresar, y evitar b) alejar y regresar los archivos/carpetas
  3. ⚠️ deshabilitar SIP* – no recomendado

*Protección de Integridad del Sistema


también encontrado: Duplicado

0 votos

Por cierto, la insignia con 1 nuevo comentario tuyo no desaparecerá incluso después de múltiples recargas de página, también se eliminará este comentario después de ser reconocido

0 votos

Siéntete libre de preguntar en Ask Different Meta sobre los errores de las medallas.

0voto

Rob van der Leek Puntos 107

Para responder brevemente la pregunta en el título: com.apple.provenance parece ser un atributo no documentado de Apple. El atributo puede ser eliminado de esta manera:

xattr -d com.apple.provenance ARCHIVO

3 votos

Si hubieras leído la pregunta cuidadosamente, habrías encontrado el segundo párrafo donde escribí: "He intentado eliminar este atributo usando xattr -d com.apple.provenance /path/to/file pero el atributo no se elimina"

1 votos

@luckman212 Leí cuidadosamente la pregunta y ese comando realmente elimina el atributo, sin embargo, no resolvió tu problema específico debido a las razones que mencionas en la actualización. Para los usuarios que solo quieren saber para qué sirve el atributo y cómo se puede eliminar, la pregunta en sí es confusa (ve por ejemplo el comentario de @Raining).

2 votos

Puedo confirmar que el atributo no se elimina con xattr -d, incluso con sudo, por lo que tu respuesta sigue siendo incorrecta. Presentarlo como 'no documentado' apenas responde a la pregunta de qué hace. Eso, ya lo sabemos.

0voto

Destiny freedom Puntos 686

Acabo de encontrarme con estos xattrs que inicialmente no se eliminaban. En mi caso, los archivos eran enlaces simbólicos y solo necesitaba agregar la bandera -s a xattr para que operara en los enlaces simbólicos en lugar de seguirlos. xattr -ds com.apple.provenance /ruta/al/enlace-simbólico

0voto

Christopher Puntos 131

Muy tarde, pero esta "solución" puede ser útil para otros, como yo, que encontraron este tema a través de un motor de búsqueda. Utilicé la siguiente "técnica" para eliminar atributos extendidos de archivos sin desactivar SIP. Tenía problemas para eliminar el atributo extendido com.apple.provenance. Usar Terminal.app en lugar de iTerm2.app no hizo ninguna diferencia para mí en MacOS Sonoma 14.2.1. Tampoco tenía otro volumen nativo disponible en ese momento para probar la solución disponible en Eclectic Light Company. Todo lo que tenía en ese momento era dos VM disponibles en mi Mac: una Linux y una Windows. Utilicé la VM de Linux para proporcionar el volumen adicional a utilizar. Puede que no sea lo más elegante, pero esta fue una solución rápida e indolora para mí, dado mis opciones en ese momento.

  1. Copiar los archivos de la Mac a un servidor de Linux con sftp.
  2. Eliminar los archivos de la Mac con rm.
  3. Copiar los archivos del servidor de Linux a la Mac con sftp.
  4. Eliminar los archivos del servidor de Linux con rm.

Por supuesto, hay muchas otras opciones para copiar, mover y eliminar. Y la VM de Windows casi con seguridad habría sido suficiente. (Pero si hubiera utilizado la VM de Windows, probablemente hubiera terminado con permisos de archivo -rwxrwxrwx en lugar de -rw-r--r--, no es que esto fuera un gran problema de corregir.)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X