Dateiberechtigungsmodus endet mit @ oder +


44

Ich habe die Dateiberechtigungen geändert und festgestellt, dass einige der Berechtigungsmodi auf @as in -rw-r--r--@oder a +as in endeten drwxr-x---+. Ich habe in den Manpages nach chmod und chown gesucht und in verschiedenen Hilfeforen nachgeschlagen, aber ich kann nichts darüber finden, was diese Symbole bedeuten.


3
Dies ist kein Duplikat. Insbesondere fragt es nach +und die verknüpfte Frage nicht.
Dan

Antworten:


33

+bedeutet, dass für die Datei zusätzliche ACLs festgelegt wurden. Sie können sie mit setzen setfaclund abfragen mit getfacl:

martin@martin ~ % touch file
martin@martin ~ % ll file 
-rw-rw-r-- 1 martin martin 0 Sep 23 21:59 file
martin@martin ~ % setfacl -m u:root:rw file 
martin@martin ~ % ll file 
-rw-rw-r--+ 1 martin martin 0 Sep 23 21:59 file
martin@martin ~ % getfacl file 
# file: file
# owner: martin
# group: martin
user::rw-
user:root:rw-
group::rw-
mask::rw-
other::r--

Ich @persönlich habe es noch nicht gesehen , aber laut diesem Thread bedeutet es erweiterte Attribute, zumindest unter MacOS. Versuchen Sie es xattr -lmit einer solchen Datei.


3
Nur eine kurze Anmerkung: Es sieht nicht so aus, als hätte OSX setfacl oder getfacl. Stattdessen packt es diese zusätzliche Funktionalität in chmod. Martins Antwort wies mich auf die richtigen Suchbegriffe hin, die auf dieser Seite auftauchten
Nathan

xattrGroßartig, der Befehl ausgegeben
Evhz

15

Das @ unter OSX bedeutet, dass es sich um erweiterte Attribute handelt. Siehe hier: http://scottlab.ucsc.edu/~wgscott/xtal/wiki/index.php/Extended_Attributes

Beispiel

$ ls -lF *.pdf
-rw-r--r--@ 1 wgscott  staff   222K Feb 27 17:08 1229.pdf

Das @ gibt an, dass der Datei ein erweitertes Attribut zugeordnet ist. Werfen wir einen Blick:

$ xattr -l 1229.pdf

com.apple.metadata:kMDItemWhereFroms:
0000   62 70 6C 69 73 74 30 30 A1 01 5F 10 37 68 74 74    bplist00.._.7htt
0010   70 3A 2F 2F 77 77 77 2E 73 63 69 65 6E 63 65 6D    p://www.sciencem
0020   61 67 2E 6F 72 67 2F 63 67 69 2F 72 65 70 72 69    ag.org/cgi/repri
0030   6E 74 2F 33 32 33 2F 35 39 31 38 2F 31 32 32 39    nt/323/5918/1229
0040   2E 70 64 66 08 0A 00 00 00 00 00 00 01 01 00 00    .pdf............
0050   00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00    ................
0060   00 00 00 00 00 44                                  .....D

com.apple.quarantine: 0000;49a88e87;Safari.app;|com.apple.Safari

12

Für diejenigen, die nach dem Grund suchen, warum sie eine Datei mit "@" oder "+" am Ende nicht bearbeiten können, hängt der Grund wahrscheinlich mit Metadaten zusammen, zum Beispiel wurde die Datei von einer Time Machine-Sicherung über die kopiert Terminal und nicht Datei-Explorer.

In zwei Schritten werden die Metadaten entfernt und unter MacOS wieder beschreibbar gemacht:

# Remove the metadata attributes
xattr -c <some file>

# Remove the file ACL(s)
chmod -N <some file>

Dies ist wahrscheinlich der nützlichste Beitrag. Ich hatte Probleme beim Ändern der Dateien mit @.
Kemin Zhou

Mein Excel hat mehrere Blätter, xattr -c kann das @ entfernen, aber der Versuch, ein Blatt als Text zu speichern, führte nur zu einem Fehler, und das @ erschien nach dieser Operation. Dies ist auf dem Mac. Es ist wirklich nervig.
Kemin Zhou

1

Wie andere angemerkt haben, handelt es sich in der Tat um Metadaten. Eine Verwendung hierfür ist das Speichern von Download-Informationen, z. B. wo die Datei heruntergeladen wurde. Auf diese Weise kann MacOS Sie nach dem Öffnen einer aus dem Internet heruntergeladenen Datei fragen. Beispiel:

$ xattr -p -l com.apple.metadata:kMDItemWhereFroms foo
com.apple.metadata:kMDItemWhereFroms:
00000000  62 70 6C 69 73 74 30 30 A2 01 02 5F 10 68 68 74  |bplist00..._.hht|
00000010  74 70 3A 2F 2F 64 6F 77 6E 6C 6F 61 64 73 2E 70  |tp://downloads.p|
00000020  65 72 66 73 6F 6E 61 72 2E 6E 65 74 2F 72 65 64  |erfsonar.net/red|
00000030  68 61 74 2F 6D 61 69 6E 2F 72 70 6D 73 2F 65 6C  |hat/main/rpms/el|
00000040  36 2F 69 33 38 36 2F 6D 61 69 6E 2F 52 50 4D 53  |6/i386/main/RPMS|
00000050  2F 70 65 72 66 73 6F 6E 61 72 2D 75 69 2D 77 65  |/perfsonar-ui-we|
00000060  62 2D 31 2E 37 2E 31 2E 65 6C 36 2E 6E 6F 61 72  |b-1.7.1.el6.noar|
00000070  63 68 2E 72 70 6D 5F 10 2B 68 74 74 70 3A 2F 2F  |ch.rpm_.+http://|
00000080  64 6F 63 73 2E 70 65 72 66 73 6F 6E 61 72 2E 6E  |docs.perfsonar.n|
00000090  65 74 2F 69 6E 73 74 61 6C 6C 5F 70 73 75 69 2E  |et/install_psui.|
000000A0  68 74 6D 6C 08 0B 76 00 00 00 00 00 00 01 01 00  |html..v.........|
000000B0  00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00  |................|
000000C0  00 00 00 00 00 00 A4                             |.......|
000000c7
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.