encfs 볼륨에서 손상된 것으로 잘못 간주 된 파일


8

OS X Mavericks 10.9.2를 실행하는 MacBook Pro Retina Late 2013에서 MacPorts 2.2.1을 통해 사용 encfs @1.7.5하고 osxfuse @2.6.4설치했습니다. encfs볼륨 에서 특정 파일 (예 : xlsx, pdf)을 열면 "X가 손상되어 열 수 없습니다"라는 오류가 발생합니다. 휴지통으로 옮길 것을 제안합니다. 그러나 해당 파일을 다른 위치 (예 : encfs볼륨이 아닌)에 복사 하면 제대로 작동하는 것으로 보입니다. 왜 이런거야?

편집 : 나는 온라인을 보았고 GateKeeper 비활성화와 관련된 게시물 을 발견했습니다 . 그것은 트릭을했다. 본질적으로 "보안 환경 설정-> 보안 및 개인 정보-> 다음 위치에서 응용 프로그램 다운로드 허용 :"으로 이동합니다.

솔루션이 작동한다는 것을 이해하지만 작동 하는지 알고 싶습니다 . 미리 감사드립니다.

편집 2 : 또한 누군가가 내 게시물에 태그를 지정할 수 있다면 encfs대단히 감사하겠습니다.

답변:


6

BoxCryptor에 대한 답변을 여기 에서 찾았습니다 .

특별한 상황에서, Mac OS X은 확장 속성 'com.apple.quarantine'을 인터넷에서 다운로드 한 파일에 추가합니다. BoxCryptor 폴더 내의 파일에서도 발생할 수 있습니다. 암호화 된 파일에이 확장 된 속성이 설정되어 있으면 BoxCryptor 볼륨에서 일반 텍스트 파일을 열려고 할 때 "손상됨"오류 메시지가 나타납니다.

또한 더 안전한 해결 방법을 시도하십시오.

x) 터미널 열기 (응용 프로그램-> 유틸리티)

y) 다음 명령을 실행하십시오 (경로 대체).

$ xattr -r -d com.apple.quarantine / path / to / encfs / mount / point


2

@apmouse가 정확합니다 : xattr로 파일을 복구 할 수 있습니다. 그러나 파일을 저장할 때마다 검역 플래그가 다시 추가됩니다.

지적했듯이 GateKeeper를 비활성화하는 것이 안전하지는 않지만 더 편리한 대안이 있습니다.

게이트 키퍼를 비활성화하는 방법

솔루션이 작동한다는 것을 이해하지만 왜 작동하는지 알고 싶습니다. 미리 감사드립니다.

가장 먼저 주목할 점은 Keynote로 이동하여 File → Open을 선택하면 아무 문제없이 "손상된"파일을 열 수 있다는 것입니다. 이것은 실제로 파일을 열지 못하게하기 위해 개입하는 것은 Finder 임을 의미 합니다.

"_____가 손상되어 열 수 없습니다"라는 오류 메시지는 실제로 서명 오류입니다 ( 여기 -약 3/4 정도 참조 ). 이는 GateKeeper가 유효한 서명을 확인할 수 없음을 의미합니다. 서명 확인은 실행 파일에 적용되어야하지만이 상황에서 왜 그것이 버그를 일으키는 지 알지 못했습니다.

osxfuse의 샘플 루프백 파일 시스템을 컴파일하고 동일한 "손상된"파일을 거기에 놓아 보았습니다 . 따라서이 버그는 일반적으로 osxfuse가 아닌 encfs에만 해당한다고 생각합니다.

가치가있는 것은 이 정확한 문제에 대한 osxfuse 프로젝트에 티켓이 열려있는 것입니다. 이 문제가 발생하면 해당 티켓에 세부 정보를 게시하십시오.

도움이 되었기를 바랍니다...


Gatekeeper는 문서가 아닌 앱에만 영향을 미쳤다고 생각했습니다. 그렇다면 .xlsx 파일에 어떤 영향을 미칩니 까?
user151019

내 생각에 플래그는 @apmouse의 답변과 같이 다운로드 된 모든 문서에 적용되지만 비 앱에서는 "강제"되지 않지만 암호화 된 볼륨에서 결함이 있습니다. 이 동작 sshfs과 다른 FUSE 파일 시스템 에서이 동작을 테스트 해야합니다.
Nicolas De Jay

2

나는 사과가 "이 볼륨은 안전하다"고 말하는 간단한 방법을 가지고 있지 않은지 모르겠지만, 문제는 encfs에 대해 상당히 쉽게 해결할 수 있습니다. encfs 볼륨을 마운트하는 데 사용하는 스크립트를 아래에서 찾으십시오. 속성 문제를 자동으로 해결하고 볼륨을 닫는 것을 기억하는 데 도움이됩니다. encfs dirmount point를 읽어서 확장 할 수 있습니다.오타가 보안 위험을 초래할 수 있기 때문에 바람직하지 않습니다. boxcryptor와 같은 다른 마운트 메커니즘에 비교적 쉽게 적용 할 수 있어야합니다. 그것은 나를 위해 작동하지만, 당신은 그것을 자신을 위해 사용할지 결정할 때 자신의 전문 지식에 의존합니다. 특히 보안 전문가는 아니며 보안 허점을 열 었는지 (특히 실행중인 컴퓨터, 특히 공유 컴퓨터에서) 여부를 판단 할 자격이 없습니다.

#!/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

2

매번 실행 해야하는 명령보다는이에 대한보다 지속적인 해결 방법이 있다고 생각합니다. 방금 버그 보고서 에서 언급했듯이 :

OS X은 모든 종류의 작업에 시스템 사용자 및 시스템 데몬을 사용합니다. 커널은 다른 사용자 또는 루트로 이러한 파일에 대해 일부 작업을 수행하고 해당 파일을 손상 된 것으로 표시 할 수있을 것으로 기대합니다. 작동하지 않습니다.

따라서 sshfs바이너리를로 표시하고 명령 줄에 마운트 옵션을 setuid추가했습니다. ... 마운트 된 볼륨에서 문서를 안정적으로 열고 편집 할 수 있습니다. 작동이 멈 추면 계속 실험하고 후속 조치를 취할 것입니다.-o allow_othersshfs

물론 setuid 루트 이진 파일에 대해 우려하고 있지만 NFS 또는 SMB를 가져 오기 위해 파일 서버 측 에서 루트 권한이 필요한 데몬을 실행하는 옵션보다 낫습니다 . :)

그것이 allow_otherFUSE 마운트 옵션이며 특정하지는 않지만 sshfs이 해결 방법도 효과적이라고 생각합니다 encfs. 누군가가 그것을 시도하고 작동했는지 아는 것이 좋을 것입니다!


1

내가 말할 수있는 것에서 @Glyph에게 감사드립니다. 나는 다음 단계를 따랐다.

  1. 먼저 osxfuse 관리 그룹에 속하는 그룹을 추가해야했습니다. 그렇지 않으면 allow_other가 지원되지 않는 작업으로 실패합니다.

    sysctl -w osxfuse.tunables.admin_group=12
    
  2. 그런 다음 -o allow_other를 사용하여 encfs

나는 그것을 조금만 시도했지만, 내가 재생할 수있는 실패 사례는 현재 작동하는 것으로 보입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.