Was ist das "+" am Ende der Dateibeschreibung?

27

Wenn ich 'ls -al ~' ausführe, sehe ich + Markierungen und es hindert mich am Verschieben / Löschen von Dateien.

drwxr-xr-x+   5 prosseek  admin     170 Oct  5 03:43 Desktop
drwxr-xr-x+  17 prosseek  admin     578 Sep 25 22:20 Documents

Was ist das und wie erhalte ich diese Markierung für jede Datei und jedes Verzeichnis in meinem Ausgangsverzeichnis?

Wie kann ich das entfernen? Gibt es eine einfache Möglichkeit, dies für jede Datei in meinem Ausgangsverzeichnis zu entfernen?

Prosseek
quelle

Antworten:

36

Das +zeigt die Datei eine Access Control List (ACL) mit zusätzlichen Berechtigungen. Jede Regel in einer ACL wird als Access Control Entry (ACE) bezeichnet.

Der Befehl ls -alezeigt die ACEs für jede Datei / jeden Ordner mit einer ACL an

Die Standardordner, die OS X erstellt, wenn ein neuer Basisordner erstellt wird (Desktop, Dokumente, Downloads, Bibliothek, Filme, Musik, Bilder und Öffentlich), haben den ACE

0: group:everyone deny delete

Dies bedeutet, dass keine Benutzer den Ordner löschen dürfen, auch nicht der Eigentümer des Ordners. Auf diese Weise wird verhindert, dass Personen versehentlich diese Ordner löschen, die von OS X erwartet werden.

Verwenden Sie, um alle ACLs aus den Standard-Basisordnern zu entfernen, ohne die ACLs in ihrem Inhalt zu beeinträchtigen

chmod -N ~/*

Verwenden Sie, um eine ACL aus einem Ordner und allen darin enthaltenen Elementen zu entfernen

chmod -R -N /path/to/folder

Nachdem die ACL entfernt wurde, können Sie diese Ordner nun wie erwartet löschen. Im Allgemeinen wird jedoch empfohlen, die Standardordner, die OS X im Basisordner eines Benutzers erstellt, nicht zu entfernen. Das Betriebssystem und viele Apps erwarten, dass diese Ordner vorhanden sind. Tatsächlich erstellt OS X möglicherweise einige davon einfach neu, wenn Sie sich das nächste Mal anmelden.

Eine Alternative ist, sie mit dem Finder zu verstecken

chflags hidden /path/to/folder

Zum Einblenden wechseln Sie hiddenzu nohidden. Versteckte Ordner werden jedoch weiterhin im Terminal angezeigt.

joelseph
quelle
1
Steht dies im Zusammenhang mit der Markierung "@", die ich in Mojave 10.14.5 sehe?
Drevicko
1
@drevicko Das "@" bedeutet erweiterte Attribute , die meines Wissens auch macOS-spezifisch sind. Beispielsweise kann es neben den Daten der Datei (der "Datengabel") eine "Ressourcengabel" oder (meiner Meinung nach) das Symbol der Datei geben.
Not-Just-Yeti
2

Das Pluszeichen bedeutet, dass für die Datei zusätzliche Berechtigungen festgelegt wurden (unter Verwendung von ACLs), die differenzierter sind, als sie im üblichen Unix-Format rwxrwxrwx ausgedrückt werden können.

Diese Berechtigungen können im Finder-Fenster "Informationen" für die Datei bearbeitet werden.

CajunLuke
quelle
2

A +am Ende bedeutet, dass der Ordner erweiterte Sicherheitsinformationen enthält (z. B. eine Zugriffssteuerungsliste). Versuchen Sie, die Berechtigungen wiederherzustellen.

Michiel
quelle