mount agrega un indicador de cuarentena, lo que provoca: / bin / bash: intérprete incorrecto: operación no permitida, pero no los sospechosos habituales

8

De acuerdo, tengo un problema similar a: - bash: Aplicaciones / mvim: / bin / sh: mal intérprete: operación no permitida - pero no es el mismo problema. Estoy obteniendo el mismo resultado.

Ya verifiqué que no es el indicador com.apple.quarantine.

Es no los finales de línea (el script se creó solo desde vi). Puedo ejecutar el script usando:

bash simpleshell.sh

Aquí están los resultados:

fawkes:tmp kylar$ vi simpleshell.sh
fawkes:tmp kylar$ chmod +x simpleshell.sh 
fawkes:tmp kylar$ ./simpleshell.sh 
-bash: ./simpleshell.sh: /bin/bash: bad interpreter: Operation not permitted
fawkes:tmp kylar$ cat simpleshell.sh 
#!/bin/bash
export FOO=Hey
echo $FOO
fawkes:tmp kylar$ which bash
/bin/bash
fawkes:tmp kylar$ bash simpleshell.sh 
Hey
fawkes:tmp kylar$ xattr -l simpleshell.sh 
fawkes:tmp kylar$ 

ACTUALIZACIÓN: no creo que se esté montando el sistema de archivos como noexec. He intentado ejecutar el script en 3 lugares diferentes: / tmp, ~ y / source.

ACTUALIZACIÓN2: Ok, después de más excavaciones: creé el script en / source, que es un dmg montado. Ahí es donde corrí xattr -l y no encontré nada. Cuando envié el script a ~ y ejecuté xattr -l, tenía el com.apple.quarantine xattr. En una corazonada, miré los atributos de montaje para / source y encontré:

/dev/disk1s9 on /Volumes/code (hfs, local, nodev, nosuid, journaled, noowners, quarantine, mounted by kylar)

Entonces, cuando instalo este dmg, se configura como cuarentena. ¿Cómo puedo decirle a mount que no lo monte con la bandera de cuarentena? Una vez que quité la bandera en ~, el script funcionó bien.

    
pregunta Kylar 19.09.2012 - 17:57

2 respuestas

1

La secuencia de comandos se ejecutaba desde dentro de un .dmg que tenía el indicador de cuarentena establecido. Cuando se montó el archivo .dmg, se montó con un indicador de cuarentena que se hereda, pero no se muestra. Desmonté el .dmg, quité la bandera de cuarentena, la volví a montar y todo estuvo bien.

    
respondido por el Kylar 20.03.2013 - 14:56
0

Tengo una solución simple: cat configure.sh > test.sh luego ejecuta test.sh.

Resulta ser un problema de editor: enlace

    
respondido por el sihong xie 11.07.2013 - 03:56

Lea otras preguntas en las etiquetas