Encfs biriminde yanlış olarak hasar gören dosyalar


8

OS X Mavericks 10.9.2 çalıştıran MacBook Pro Retina 2013'ün sonlarında MacPorts 2.2.1 aracılığıyla kullanıyorum encfs @1.7.5ve osxfuse @2.6.4yüklüyorum. Birimimde belirli dosyaları (örn. Xlsx, pdf) açarken encfs, "X hasarlı ve açılamıyor" hatası alıyorum. yanı sıra çöp kutusuna taşımak için bir öneri. Ancak, o dosyayı başka bir yere kopyaladığımda (yani encfsbirimde değil ), gayet iyi çalışıyor gibi görünüyor. Bu neden?

EDIT: Çevrimiçi baktım ve GateKeeper devre dışı bırakma içeren bir yazı buldum. Hile yaptı. Temel olarak, "Güvenlik Tercihleri ​​-> Güvenlik ve Gizlilik -> Şuradan indirilen uygulamalara izin ver: Herhangi bir yere" gidin.

Çözümün işe yaradığını anlıyorum, ancak neden işe yaradığını bilmek istiyorum . Şimdiden teşekkürler.

DÜZENLEME 2: Ayrıca, eğer birisi benim yazı ile etiketleyebilir encfs, çok takdir edilecektir.

Yanıtlar:


6

Cevabı burada buldum (BoxCryptor için):

Özel koşullar altında, Mac OS X genişletilmiş 'com.apple.quarantine' özniteliğini örneğin internetten indirilen bir dosyaya ekler. Bu, BoxCryptor Klasöründeki dosyalarda da olabilir. Şifrelenmiş bir dosya bu genişletilmiş öznitelik kümesine sahipse, düz metin dosyasını BoxCryptor Birimi'nde açmaya çalışırken "hasarlı" hata iletisini alırsınız.

Ayrıca şunu deneyin: daha güvenli bir çözüm:

x) Terminali Aç (Uygulamalar -> Yardımcı Programlar)

y) Aşağıdaki komutu çalıştırın (yolu değiştirin):

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


2

@apmouse doğru: dosyayı xattr ile onarabilirsiniz. Ancak bunu tekrar tekrar yapmak zorundasınız - bir dosyayı her kaydettiğinizde karantina bayrağı geri eklenecektir.

Belirttiğiniz gibi, daha az güvenli ancak daha uygun bir alternatif var: GateKeeper'ı devre dışı bırakın.

ağ geçidi denetleyicisi nasıl devre dışı bırakılır

Çözümün işe yaradığını anlıyorum, ancak neden işe yaradığını bilmek istiyorum. Şimdiden teşekkürler.

Dikkat edilmesi gereken ilk şey, Keynote'a gidip Dosya → Aç'ı seçerseniz, "hasarlı" dosyayı herhangi bir sorun olmadan açabilmenizdir. Bu aslında dosyayı açmayı önlemek için müdahale eden Finder olduğunu ima eder .

"_____ bozuk ve açılamıyor" hata mesajı aslında bir imza hatasıdır ( buraya bakın - aşağı doğru yolun yaklaşık 3 / 4'ü), yani GateKeeper geçerli bir imzayı doğrulayamaz. İmza doğrulamasının yürütülebilir dosyalara uygulanması gerekiyordu ve hala bu durumda neden hata yaptığını anlamadım.

Ben osxfuse örnek geri döngü dosya sistemi derleme ve orada aynı "hasarlı" dosya koyarak denedim ve sadece iyi açılır. Bu yüzden bu hatanın encfs'e özgü olduğunu düşünüyorum - genel olarak osxfuse'a değil.

Değeri için, bu tam sorun için osxfuse projesinde açık bir bilet var . Bu sorunu yaşıyorsanız, bilgilerinizi o bilete gönderin.

Bu yardımcı olur umarım...


Gatekeeper'ın belgeleri değil, yalnızca uygulamaları etkilediğini düşündüm. Peki .xlsx dosyalarını nasıl etkiler?
user151019

Tahminim bayrak, indirilen tüm belgelere @ apmouse yanıtında olduğu gibi uygulanıyor, ancak uygulama dışı uygulamalarda "zorunlu kılınmıyor", ancak şifreli birimlerde glitchy davranışı ile uygulanıyor. sshfsEmin olmak için bu davranışı ve diğer FUSE dosya sistemlerini sınamak gerekir .
Nicolas De Jay

2

Neden elma "bu cilt güvenli" demek için basit bir yol yok gibi görünmüyor bilmiyorum , ama encfs için sorunu çözmek oldukça kolaydır. Aşağıda, encfs birimlerini bağlamak için kullandığım bir komut dosyasını aşağıda bulabilirsiniz; öznitelik sorununu otomatik olarak çözer ve ayrıca birimlerin kapanmasını hatırlamaya yardımcı olur. Dir ve bağlama noktası okunarak genişletilebilirama yazmayı tercih etmiyorum çünkü yazım hataları güvenlik riskleri yaratabilir. Boxcryptor gibi diğer montaj mekanizmalarına nispeten kolayca adapte edilmelidir. Benim için çalışıyor, ancak kendiniz için kullanılıp kullanılmayacağına karar verme konusunda kendi uzmanlığınıza güveniyorsunuz. Çok özel olarak, bir güvenlik uzmanı değilim ve herhangi bir güvenlik açığı (özellikle çalışırken ve özellikle paylaşılan makinelerde) açılıp açılmadığına karar verme yetkisine sahip değilim.

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

Her seferinde çalıştırmanız gereken bir komut yerine, bunun için daha kalıcı bir geçici çözüm bulduğumu düşünüyorum. Sadece yukarı akış raporunda bahsettiğim gibi :

Kendi kendime düşündüm, OS X, her türlü iş için sistem kullanıcılarını ve sistem cinlerini kullanıyor, belki de çekirdek, bu dosyalar için başka bir kullanıcı veya kök olarak bazı işler yapmayı bekliyor ve bunları hasarlı olarak işaretliyor çalışmıyor.

sshfsİkili dosyamı işaretli olarak setuidbelirledim ve -o allow_othermontaj seçeneğini sshfskomut satırıma ekledim ve ... Dokümanları bağlanan birimde güvenilir bir şekilde açabilir ve düzenleyebilirim. Çalışmayı bırakırsa denemeye ve takip etmeye devam edeceğim.

Tabii ki etrafta yatan bir setuid kök ikili hakkında endişeliyim, ama NFS veya SMB almak için dosya sunucusu tarafında kök ayrıcalıkları gerektiren bir daemon çalıştırma seçeneğinden daha iyi görünüyor . :)

Bu allow_otherbir SİGORTA montaj seçeneği göz önüne alındığında ve spesifik değil sshfs, bu geçici çözümün de işe yarayacağına inanıyorum encfs. Birinin denediğini ve işe yaradığını bilmek harika olurdu!


1

Teşekkürler @Glyph, söyleyebileceğim şeylerden sonra adımlarınızı takip ettikten sonra çalışıyor gibi görünüyor. Şu adımları izledim:

  1. İlk olarak osxfuse yönetici grubuna ait olduğum bir grup eklemek zorunda kaldım, aksi takdirde allow_other desteklenmeyen bir işlemle başarısız olur.

    sysctl -w osxfuse.tunables.admin_group=12
    
  2. Daha sonra -o allow_other öğesini encfs

Ben sadece biraz denedim, ama ben tekrarlanabilir başarısızlık durumda şimdi çalışıyor gibi görünüyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.