Warum können Mac-Dateien mehrere Besitzer haben?

In Bezug auf Unix-Dateiberechtigungen, die Macs verwenden, warum können insbesondere Mac-Dateien mehrere Eigentümer haben? Beispielsweise können Sie das Bedienfeld „Informationen abrufen“ einer Datei anzeigen und im Abschnitt „Berechtigungen“ unten einen weiteren Eigentümer hinzufügen, indem Sie auf das Pluszeichen „+“ klicken.

Wie funktioniert das? Ich glaube nicht, dass Vanilla Unix dazu in der Lage ist?

Antworten (1)

Sie haben Recht, Vanilla Unix unterstützt dies nicht. Aber es gibt dieses Ding namens ACL (Access Control Lists), das eine viel detailliertere Definition von Zugriffsrechten ermöglicht als die üblichen Benutzer-/Gruppen-/Weltrechte. Aus Wikipedia :

Die meisten Unix- und Unix-ähnlichen Betriebssysteme (z. B. Linux, BSD oder Solaris) unterstützen POSIX.1e-ACLs, basierend auf einem frühen POSIX-Entwurf, der aufgegeben wurde. Viele von ihnen, zum Beispiel AIX, FreeBSD, Mac OS X ab Version 10.4 ("Tiger") oder Solaris mit ZFS-Dateisystem, unterstützen NFSv4-ACLs, die Teil des NFSv4-Standards sind.

Standardmäßig hat jede Datei nur die Rechte user/group/world

Geben Sie hier die Bildbeschreibung ein

pse@Fourecks:~/Downloads$ ls -le UML_Plakat_8_2012_Web-Download_V1.pdf 
-rw-r--r--@ 1 pse  staff  4914537 Jun 21 09:56 UML_Plakat_8_2012_Web-Download_V1.pdf

Wenn Sie jetzt einen weiteren Eigentümer hinzufügen

Geben Sie hier die Bildbeschreibung ein

Finder erstellt dafür automatisch einen entsprechenden ACL-Eintrag:

pse@Fourecks:~/Downloads$ ls -le UML_Plakat_8_2012_Web-Download_V1.pdf 
-rw-r--r--@ 1 pse  staff  4914537 Jun 21 09:56 UML_Plakat_8_2012_Web-Download_V1.pdf
 0: user:jonnyenglish allow read,readattr,readextattr,readsecurity

Sie können ACL-Einträge auch direkt von Terminal aus ändern, indem Sie verwenden chmod(wodurch Sie wesentlich mehr Details bearbeiten können als im Dialogfeld "Informationen abrufen " im Finder). Für Details ist es wahrscheinlich am besten, man chmodTerminal auszuführen und den Abschnitt ACL MANIPULATION OPTIONS zu lesen .

Perfekt, obwohl ich nur hinzufügen möchte, dass Sie Schwierigkeiten haben werden, eine moderne Unix-Implementierung zu finden, die dies nicht unterstützt, ist es sehr Standard, es ist nur ein Kinderspiel, es auf Befehlszeilenebene zu verwalten, und die meisten Leute müssen es nie sei dir dessen bewusst.
Selbst mit GUIs ist die Verwaltung mühsam , weil Sie sich ziemlich schnell in den Fuß schießen können.