5 votos

Por qué MacOS establece xattr com.apple.quarantine, al guardar un shell script en una memoria usb

Problema

MacOS establece xattr com.apple.quarantine Cuando edito y guardo el archivo myscript.sh en una memoria USB

Estamos en la memoria USB

[stick128] pwd
/Volumes/stick128

Los xatributos de los archivos de texto antes de ser editados

[stick128] ls -la@ myScript.sh 
-rwxrwxrwx@ 1 schmelzer  staff  28 22 Okt 02:16 myScript.sh
com.apple.metadata:kMDLabel_vmtpkn3xxtzmlwr5m34qap3z4a  185 

Los xatributos de los archivos de texto después de ser editados y guardados

[stick128] ls -la@ myScript.sh 
-rwxrwxrwx@ 1 schmelzer  staff  30 22 Okt 02:20 myScript.sh
com.apple.quarantine    24 
com.apple.metadata:kMDLabel_vmtpkn3xxtzmlwr5m34qap3z4a  201 

Causa

??

Solución temporal

Eliminar el xattr manualmente

xattr -d com.apple.quarantine myscript.sh

Gracias a -bash: Aplicaciones/mvim: /bin/sh: intérprete malo: Operación no permitida

Pero la próxima vez que edite el archivo, ¿quién añadirá el xattr?

  • por el editor de textos?
  • por MacOS (¿como parte del sistema SIP?)

Mi entorno

  • MacOS Sierra, versión 10.12.6
  • Editor de textos: CotEditor, versión 3.2.2 (203)
  • Memoria USB: SanDisk 128GB Connect Wireless Stick, conectado al puerto USB

Mi investigación 1

P: ¿El problema está sólo en la memoria USB? O también está en mi disco duro?

R: El problema no está en el disco duro. Sólo en la memoria USB

Detalles de la investigación 1 Estamos en el disco duro del Mac, donde está instalado MacOS

[Desktop] pwd
/Users/schmelzer/Desktop

Los xatributos de los archivos de texto antes de ser editados

[Desktop] ls -la@ myScript.sh 
-rwxrwxrwx@ 1 schmelzer  staff  30 22 Okt 02:20 myScript.sh
com.apple.metadata:kMDLabel_vmtpkn3xxtzmlwr5m34qap3z4a  201 

Los xatributos de los archivos de texto después de ser editados y guardados

[Desktop] ls -la@ myScript.sh 
-rwxrwxrwx@ 1 schmelzer  staff  28 22 Okt 02:25 myScript.sh
com.apple.metadata:kMDLabel_vmtpkn3xxtzmlwr5m34qap3z4a  201 

Resultado de la prueba

El xattr de cuarentena no se ha añadido al archivo. Por lo tanto, el problema no existe en el disco duro. Sólo en la memoria USB.

Mi investigación 2

P: ¿Existe un archivo con la bandera de cuarentena establecida, en la memoria USB? mount está añadiendo una bandera de cuarentena, causando: /bin/bash: intérprete malo: Operación no permitida - pero no los sospechosos habituales

R: Sí, había muchos.

Detalles de la investigación 2

Lista de atributos de todos los archivos de la memoria

xattr -r /Volumes/stick128/

Elimine el atributo com.apple.quarantine de todos los archivos de la memoria USB

sudo xattr -r -d com.apple.quarantine /Volumes/stick128

Prueba a provocar el error de nuevo, editando y guardando el archivo myScript.sh

Resultado

  • No hay error
  • El xattr com.apple.quarantine no se añade a myScript.sh

Mi investigación 3

P: Si utilizo un editor de texto diferente, ¿el problema sigue siendo el mismo? mount está añadiendo una bandera de cuarentena, causando: /bin/bash: intérprete malo: Operación no permitida - pero no los sospechosos habituales

R: No se ha probado

Mi investigación 4

Sólo como referencia:

4voto

Uwe Schmelzer Puntos 16

Esto lo resolvió para mí

P: ¿Existe un archivo con la bandera de cuarentena establecida, en la memoria USB? mount está añadiendo una bandera de cuarentena, causando: /bin/bash: intérprete malo: Operación no permitida - pero no los sospechosos habituales

R: Sí, había muchos.

Cómo hacerlo

Lista de atributos de todos los archivos de la memoria

xattr -r /Volumes/stick128/

Elimine el xattributo com.apple.quarantine de todo archivos en la memoria USB

sudo xattr -r -d com.apple.quarantine /Volumes/stick128

Prueba a provocar el error de nuevo, editando y guardando el archivo myScript.sh

Resultado

  • No hay error
  • El xattr com.apple.quarantine no se añade a myScript.sh

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