9 votos

Archivos considerados erróneamente como dañados en el volumen encfs

Estoy usando encfs @1.7.5 y osxfuse @2.6.4 instalado a través de MacPorts 2.2.1 en mi MacBook Pro Retina Late 2013 que ejecuta OS X Mavericks 10.9.2. Al abrir ciertos archivos (por ejemplo, xlsx, pdf) en mi encfs me aparece un error "X está dañado y no se puede abrir", así como una sugerencia de moverlo a la papelera. Sin embargo, cuando copio ese archivo en otro lugar (es decir, no en el encfs volumen), parece que funciona bien. ¿A qué se debe esto?

EDIT: He buscado en internet y he encontrado un Correo electrónico: que implica la desactivación de GateKeeper. Esto hizo el truco. En esencia, se entra en "Preferencias de Seguridad -> Seguridad y Privacidad -> Permitir aplicaciones descargadas desde: Cualquier lugar".

Entiendo que la solución funciona, pero me gustaría saber por qué funciona. Gracias de antemano.

EDIT 2: Además, si alguien pudiera etiquetar mi post con encfs Se agradecería mucho.

6voto

apmouse Puntos 176

He encontrado la respuesta aquí (para BoxCryptor):

En circunstancias especiales, Mac OS X añade el atributo extendido 'com.apple.quarantine' a un archivo que fue, por ejemplo, descargado de Internet. Esto también puede ocurrir con archivos dentro de la carpeta de BoxCryptor. Si un archivo encriptado tiene este atributo extendido, recibirás el mensaje de error "está dañado" cuando intentes abrir el archivo en texto plano en el Volumen BoxCryptor.

Prueba también esta solución, más segura:

x) Abra la Terminal (Aplicaciones -> Utilidades)

y) Ejecute el siguiente comando (sustituya la ruta):

$ xattr -r -d com.apple.quarantine /ruta/a/encfs/mount/point

2voto

Max Puntos 11

@apmouse tiene razón: puedes reparar el archivo con xattr. Pero tienes que hacerlo repetidamente: cada vez que guardes un archivo se le volverá a añadir la bandera de cuarentena.

Como has señalado, hay una alternativa menos segura pero más conveniente: desactivar GateKeeper.

how to disable gatekeeper

Entiendo que la solución funciona, pero me gustaría saber por qué funciona. Gracias de antemano.

Lo primero que hay que tener en cuenta es que si entra en Keynote y elige Archivo → Abrir, puede abrir el archivo "dañado" sin problemas. Esto implica que en realidad es Buscador que está interviniendo para evitar la apertura del archivo.

El mensaje de error "_____ está dañado y no se puede abrir" es en realidad un firma error (ver aquí - a unos 3/4 de distancia), lo que significa que GateKeeper no puede verificar una firma válida. Se supone que la verificación de la firma se aplica a los ejecutables, y todavía no he averiguado por qué está fallando en esta situación.

Intenté compilar el osxfuse's ejemplo de sistema de archivos loopback y poniendo el mismo archivo "dañado" allí y se abre sin problemas. Así que creo que este fallo es específico de encfs - no de osxfuse en general.

Por si sirve de algo, hay un billete abierto en el proyecto osxfuse para este mismo problema. Si tienes este problema, publica tus datos en ese ticket.

Espero que esto ayude...

2voto

Gerry Puntos 3954

No lo sé. por qué apple no parece tener una forma sencilla de decir "este volumen es seguro", pero el problema es bastante fácil de resolver para encfs. A continuación encontrará un script que utilizo para montar volúmenes encfs; resuelve automáticamente el problema de los atributos, y también ayuda a recordar el cierre de los volúmenes. Se podría ampliar leyendo encfs dir y punto de montaje desde la línea de comandos, pero prefiero no hacerlo porque los errores pueden crear riesgos de seguridad. Debería ser relativamente fácil de adaptar a otros mecanismos de montaje, como boxcryptor. A mí me funciona, pero depende de tu propia experiencia para decidir si lo usas para ti. Muy específicamente, no soy un experto en seguridad, y no estoy calificado para juzgar si abre algún agujero de seguridad (especialmente mientras se ejecuta, y especialmente en máquinas compartidas).

#!/bin/bash
# script to mount encrypted volume

ENCFSDIR=<encfs dir>
MOUNTPOINT=<mount point>
SAFELOC=<somewhere outside mounted volume>

encfs $ENCFSDIR $MOUNTPOINT

cd $MOUNTPOINT
xattr -r -d com.apple.quarantine .
MY_PROMPT='SECRET: '
echo 'noscecrets to finish'
while :
do
  echo -n "$MY_PROMPT"
  read line
  if [ 'nosecrets' == "$line" ] ; then
    break
  fi
  eval "$line"
done

\# and clean up
cd $SAFELOC
umount $MOUNTPOINT

exit 0

2voto

Logicalmind Puntos 1260

Creo que tengo una solución más persistente para esto en lugar de un comando que necesita para ejecutar cada vez. Como acabo de mencionar en el informe de errores en la parte superior :

Pensé que OS X utiliza usuarios del sistema y demonios del sistema para todo tipo de todo tipo de trabajos, quizás el kernel está esperando poder hacer algún trabajo como otro usuario, o como Root, a estos archivos, y marcándolos como dañados cuando eso no funciona.

Así que marqué mi sshfs binario como setuid y añadí el -o allow_other opción de montaje a mi sshfs línea de comandos, y ... Parece que ser capaz de abrir y editar documentos de forma fiable en el volumen montado. Seguiré experimentando y haciendo un seguimiento si deja de funcionar.

Por supuesto, me preocupa un binario Root setuid por ahí, pero parece mejor que la opción de ejecutar un demonio que requiere privilegios de root en el archivo servidor lado de las cosas para obtener NFS o SMB. :)

Dado que allow_other es una opción de montaje de FUSE y no es específica de sshfs Creo que esta solución funcionaría para encfs también. ¡Sería genial saber si alguien lo ha probado y ha funcionado!

1voto

abe Puntos 11

Gracias @Glyph , por lo que veo parece que funciona después de seguir tus pasos. He seguido estos pasos:

  1. Primero tuve que añadir un grupo al que pertenezca el grupo de administración de osxfuse, de lo contrario el allow_other fallaría con la operación no soportada.

    sysctl -w osxfuse.tunables.admin_group=12
  2. Luego usó el -o allow_other para encfs

Sólo lo he probado un poco, pero el caso de fallo reproducible que tenía parece que ahora funciona.

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