Problème
MacOS définit xattr com.apple.quarantine lorsque je modifie et enregistre le fichier myscript.sh sur une clé usb.
Nous sommes sur la clé USB
[stick128] pwd
/Volumes/stick128
Les xattributs du fichier texte avant d'être édité.
[stick128] ls -la@ myScript.sh
-rwxrwxrwx@ 1 schmelzer staff 28 22 Okt 02:16 myScript.sh
com.apple.metadata:kMDLabel_vmtpkn3xxtzmlwr5m34qap3z4a 185
Les xattributs des fichiers textes après avoir été édités et sauvegardés.
[stick128] ls -la@ myScript.sh
-rwxrwxrwx@ 1 schmelzer staff 30 22 Okt 02:20 myScript.sh
com.apple.quarantine 24
com.apple.metadata:kMDLabel_vmtpkn3xxtzmlwr5m34qap3z4a 201
Cause
? ?
Solution temporaire
Supprimez le xattr manuellement
xattr -d com.apple.quarantine myscript.sh
Merci à -bash : Applications/mvim : /bin/sh : mauvais interpréteur : Opération non autorisée
Mais la prochaine fois que j'édite le fichier, le xattr est à nouveau ajouté par qui ?
- par l'éditeur de texte ?
- par MacOS (dans le cadre du système SIP ?)
Mon environnement
- MacOS Sierra, version 10.12.6
- Texteditor : CotEditor, version 3.2.2 (203)
- Clé USB : SanDisk 128GB Connect Wireless Stick, branché sur le port USB
Ma recherche 1
Q : Le problème se situe-t-il uniquement sur la clé USB ? Ou est-ce qu'il se trouve aussi sur mon disque dur ?
R : Le problème ne se situe pas sur le disque dur. Seulement sur la clé USB
Détails pour la recherche 1 Nous sommes sur le disque dur du Mac, où MacOS est installé.
[Desktop] pwd
/Users/schmelzer/Desktop
Les xattributs du fichier texte avant d'être édité.
[Desktop] ls -la@ myScript.sh
-rwxrwxrwx@ 1 schmelzer staff 30 22 Okt 02:20 myScript.sh
com.apple.metadata:kMDLabel_vmtpkn3xxtzmlwr5m34qap3z4a 201
Les xattributs des fichiers textes après avoir été édités et sauvegardés.
[Desktop] ls -la@ myScript.sh
-rwxrwxrwx@ 1 schmelzer staff 28 22 Okt 02:25 myScript.sh
com.apple.metadata:kMDLabel_vmtpkn3xxtzmlwr5m34qap3z4a 201
Résultat du test
Le xattr de quarantaine n'a pas été ajouté au fichier. Le problème n'existe donc pas sur le disque dur. Seulement sur la clé usb.
Ma recherche 2
Q : Y a-t-il un fichier avec le drapeau de quarantaine activé, sur la clé USB ? Le montage ajoute un drapeau de quarantaine, causant : /bin/bash : mauvais interpréteur : Opération non autorisée - mais pas les suspects habituels
R : Oui, il y en avait beaucoup.
Détails pour la recherche 2
Liste des attributs de tous les fichiers sur la clé.
xattr -r /Volumes/stick128/
Supprimez l'attribut x com.apple.quarantine de tous les fichiers de la clé USB.
sudo xattr -r -d com.apple.quarantine /Volumes/stick128
Essayez de provoquer à nouveau l'erreur, en modifiant et en enregistrant le fichier myScript.sh
Résultat
- Aucune erreur
- Le xattr com.apple.quarantine n'est pas ajouté à myScript.sh.
Ma recherche 3
Q : Si j'utilise un autre éditeur de texte, le problème reste-t-il le même ? Le montage ajoute un drapeau de quarantaine, causant : /bin/bash : mauvais interpréteur : Opération non autorisée - mais pas les suspects habituels
R : Non testé
Ma recherche 4
Pour mémoire :
- Ce post décrit l'erreur "bad interpreter : Operation not permitted" Error", qui se produit, lorsque vous essayez d'exécuter un shell script avec le drapeau de quarantaine xattr activé.
- -bash : Applications/mvim : /bin/sh : mauvais interpréteur : Opération non autorisée