Neben dem für etliche Nutzer unbekannten „+“ Plus-Zeichen in den Dateirechten, gibt es noch ein weiteres Zeichen, das an genau dieser Stelle auftauchen kann: das @ (at-Zeichen). Dieses steht – wie uns die Man-Page zum „ls“-Befehl belehrt – für die „Extended File Attributes“. Das sind Meta-Angaben zu Dateien, die im Normalfall vor dem Nutzer verborgen bleiben.
Grundsätzlich könnte es jedem Mac-Nutzer ohne notorischer Neigung zu Zwangshandlungen egal sein, ob dort ein „@“ bei den Dateirechten steht oder nicht. Mich würde es auch nicht weiter stören. Nun ist es allerdings so, dass ein bestimmtes „Extended File Attribute“ dazu führen kann, dass die Dateien (ohne Verwendung von „sudo“) nicht mehr schreibbar sind. Das ist sehr unpraktisch beim ganz normalen bearbeiten von Dateien im Editor, der in der Regel mit den Rechten des angemeldeten Nutzers ausgeführt wird. Der ls-Befehl könnte z.B. Folgendes zeigen:
noname:projects gabriel$ ls -l test.php
-rw-r--r--@ 1 gabriel staff 3947 10 Jun 21:09 test.php
noname:projects gabriel$
Die obige Datei ist ohne Superuser-Recht nicht schreibbar. Also müssen diese „@“s weg (oder zumindest der Teil, der die Probleme verursacht). Das ist auch ganz einfach, wenn man erst einmal weiß wie es geht 😀
Extended File Attributes anzeigen
Die Anzeige der Attribute ist denkbar einfach: nur ein @ an die Liste der Optionen für den ls-Befehl anhängen (hätte man auch selbst drauf kommen können). Wir lassen uns also zuerst einmal die „Extended Attributes“ für die betreffende Datei anzeigen, wie in folgendem Beispiel:
noname:projects gabriel$ ls -l@ test.php
-rw-r--r--@ 1 gabriel staff 3947 10 Jun 21:09 test.php
com.apple.quarantine 46
noname:projects gabriel$
Das „com.apple.quarantine
“ zeigt an, dass es sich offenbar um eine aus dem Internet heruntergeladene Datei handelt, und diese Angabe sorgt dafür, dass beim Doppelklick auf die Datei (z.B. vor dem Programmstart) ein Hinweis erscheint, der den Nutzer davor warnen soll, die Datei ohne weiteres Nachdenken zu verwenden. Schließlich handelt es sich um eine „aus dem Internet“ geladene Datei. Hui hui! Dieser Dialog ist den meisten MacOSX-Nutzern sicher schon einmal begegnet.
Diese Angabe lässt sich auch noch ausführlicher anzeigen, mit dem dafür geeigneten Befehl (xattr):
noname:projects gabriel$ xattr -l test.php
com.apple.quarantine: 0000;4a21494c;Firefox.app;|org.mozilla.firefox
noname:projects gabriel$
Extended File Attributes entfernen
Mit diesem Befehl kann die Option auch einfach entfernt werden:
noname:projects gabriel$ xattr -d com.apple.quarantine test.php
noname:projects gabriel$
Das war ja gar nicht so schwer! Hoffentlich bewahrt dieser Beitrag den ein oder anderen Nutzer davor, sich zwei Stunden mit dem „Problem“ herumzuschlagen… 👿