mount bir karantina bayrağı ekliyor ve neden: / bin / bash: hatalı yorumlayıcı: İşleme izin verilmiyor - ancak olağan şüpheliler değil


8

Tamam, benzer bir sorun yaşıyorum: -bash: Applications / mvim: / bin / sh: kötü yorumlayıcı: İşleme izin verilmiyor - ama aynı sorun değil. Aynı sonucu alıyorum.

Bunun com.apple.quarantine bayrağı olmadığını zaten doğruladım .

Bu satır sonları değil (script sadece vi'den oluşturuldu). Komut dosyasını kullanarak yürütebilirim:

bash simpleshell.sh

İşte sonuçlar:

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$ 

GÜNCELLEME: Dosya sisteminin noexec olarak monte edildiğine inanmıyorum. Komut dosyasını 3 farklı yerde çalıştırmayı denedim: / tmp, ~ ve / source.

GÜNCELLEME2: Tamam, daha fazla kazma sonra - ben / kaynak içinde, bir dmg monte olan komut dosyası oluşturdum. Burada xattr -l'yi çalıştırdım ve hiçbir şey bulamadım. Ben komut dosyasını cp'd ~ ve xattr -l koştu, sonra com.apple.quarantine xattr vardı. Bir öbek üzerinde / source için bağlama özniteliklerine baktım ve buldum:

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

Bu dmg'yi taktığımda karantina olarak ayarlanıyor. Mount'a karantina bayrağıyla bağlamamasını nasıl söyleyebilirim? ~ İşaretini kaldırdığımda script iyi çalıştı.


Cevabınızı burada alamıyorsanız, UNIX ve Linux SE'yi sormayı düşünün.
bot47

Ben yine de çapraz gönderebilirim - bu temelde herhangi bir iş yapılmasını beni engelliyor :(
Kylar

Aynı dosya sisteminde başka programları benzer şekilde çalıştırabiliyor musunuz? Kullanıyor chmod +x file.sh; ./file.sh. Belki de bu dosya sistemi "noexec" bayrađý ile monte edilmiţtir.
cm2

2
Sorunuza yeniden yazmak, mount'a karantina bayrağını kullanmamasını nasıl söyleyeceğinizi sormak için yeniden yazmak yararlı olabilir, çünkü şimdi asıl sorununuz olduğunu belirlediniz. Ayrıca, belirli bir hacim için nasıl devre dışı bırakılacağını bilmiyorum, ancak karantinayı tamamen devre dışı bırakmak için defaults write com.apple.LaunchServices LSQuarantine -bool NO.
houbysoft

2
Tamam, çözdüm. .Dmg dosyasında bir com.apple.quarantine xattr ayarlandı. Çıkarmak, xattr temizlemek ve sonra dmg yeniden takmak zorunda kaldı. GAH. @houbysoft: Tamamen kapattığınız için teşekkürler.
Kylar

Yanıtlar:


1

Komut dosyası, üzerinde karantina bayrağı bulunan bir .dmg içinden çalıştırılıyordu. .Dmg takıldığında, miras alınan ancak görünmeyen bir karantina bayrağıyla monte ediyordu. .Dmg'nin bağlantısını kestim, karantina bayrağını çıkardım ve yeniden monte ettim ve her şey yolundaydı.


Bunun için teşekkür ederim. Benzer bir sorunum vardı ve bu beni deli ediyordu: Vim (veya kedi) tarafından yaratılan bir Perl betiği, onunla ilişkili karantina xattr yok. Bununla birlikte, komut dosyası, bağlı bir seyrek pakette oturuyordu. Bu sayfayı okuduktan sonra dosya sistemini ayırdım ve paketin içine baktım: İçinde "com.apple.quarantine" xattr ayarlanmış "token" adında bir dosya vardı. Ben xattr sildi ve seyrek paket dosya sistemi yeniden bir kez, Perl komut dosyası ile "kötü tercüman" sorun gitti.
Lee Johnson

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.