Zugriffsrechte in macOS

sind eher restriktiv gesetzt. Das ist grundsätzlich auch gut, aber bei geteilten Ordnern, auf die mehrere User:innen eines Macs Zugriff haben sollen, kann das schnell zu einem Problem werden. macOS legt nämlich alle neu angelegten Dateien und Ordner immer nur mit Schreib-/Leserechten für den jeweiligen User an. Alle anderen User:innen können nur lesend darauf zugreifen.

Nun könnte man immer nach jedem Neuanlegen und jeder Änderung, die Zugriffsrechte über den Informationen-Dialog so verändern, dass alle User Schreib-/Leserechte haben. Das ist auf Dauer aber recht umständlich. Daher hier nun zwei andere, mögliche Lösungswege.

Das sind zum einen die klassischen Unix-Rechte und zum anderen die ACL.

Unix-Rechte:

Das geht recht einfach, empfiehlt sich aber nur dann, wenn man wirklich _allen_ User:innen auf dem Mac auch Zugriff auf _alle_ neu angelegten Dateien und Ordner geben will. Die standardmäßig vorhandenen Ordner, wie Dokumente, Musik, usw. (wenn man nichts verändert hat) bleiben aber weiterhin nur für den jeweiligen User zugänglich.

Um nun allen User:innen Schreib-/Leserechte zu geben, ändern wir die sogenannte umask. Die umask entfernt quasi von den „vollen“ Rechten – bei Ordnern -rwxrwxrwx (numerisch 0777), bei Dateien -rw-rw-rw (numerisch 0666) – die jeweils angegebenen Rechte. Standardmäßig hat die umask bei macOS einen Wert von 0022, was dann zu den bekannten Rechten bei Ordner von -rwxr-xr-x (numerisch 0755 = 0777 – 0022) und bei Dateien von -rw-r--r- (numerisch 0644 = 0666 – 0022) führt.

Wir ändern die umask nun vom Admin-Account aus im Terminal wie folgt:

sudo launchctl config user umask 0002

Das ergibt dann für neu angelegte Ordner 0777 – 0002 = 0775 oder -rwxrwxr-x und für neue Dateien 0666 – 0002 = 0664 oder -rw-rw-r--, also Schreib-/Leserechte auch für die Gruppe. Da alle User:innen eines Macs auch in der Gruppe „staff“ sind, und diese Gruppe standardmäßig für neue Ordner und Dateien verwendet wird, haben auch alle User künftig Schreib-/Leserechte hierauf.

Nun könnt ihr im „Geteilt“-Ordner einen neuen Unterordner angelegen, der dann eben diese Rechte zugewiesen erhält. Darin werden dann künftig alle gemeinsam genutzten Dateien abgelegt. Der Ordner „Geteilt“ ist deswegen notwendig, da alle anderen Standard-Ordner (Dokumente, Musik, etc) keinerlei Gruppenrechte besitzen (wenn man nichts selbst verändert hat) und andere User:innen daurf überhaupt nicht zugreifen können.

ACL (Access Control List):

Dieser Weg ist zwar ein klein wenig aufwendiger, dafür könnt ihr aber viel detaillierter festlegen, wer Zugriff erhalten und auf welche Ordner (und darin neu angelegte Unterordner und Dateien) der Zugriff begrenzt bleiben soll.

Ich kann daher nur empfehlen, den Weg über die ACL zu gehen. Nach einiger Zeit hat man ganz leicht vergessen, dass man die umask geändert hat und hat so womöglich jeder neuen User:in des Macs Schreib-/Leserechte auf Dateien von anderen Usern gegeben.

Um nun ACL zu verwenden, erstellt ihr zuerst als Admin eine neue Gruppe über die Systemeinstellungen -> Benutzer & Gruppen. Dort öffnet ihr das Schloss und gebt euer Passwort ein. Ein Klick auf das + Symbol und ihr könnt im erscheinenden Dialog „Neuer Account“ auf „Gruppe“ stellen und einen Gruppennamen eingeben

(mit Kleinschreibung, also z.B. family)

Anschließend können die User ausgewählt werden, die in dieser Gruppe sein sollen.

Als nächstes erzeugt ihr einen Unterordner im „Geteilt“-Ordner (warum siehe oben) und klickt dann im Informationen-Dialog auf das + Symbol und fügt die soeben erstellte Gruppe hinzu und stellt für diese Gruppe „Lesen & Schreiben“ ein.

Nun ergänzen wir noch die ACL so, dass sich dieses „Lesen & Schreiben“ automatisch auf alle neu angelegten Unterordner und Dateien im gerade erstellten Ordner vererbt. Da kommt (leider) das Terminal zum Zuge. 

Erst mal in den „Geteilt“-Ordner

cd /Users/Shared

dann lassen wir uns die ACL anzeigen, die wir gerade gesetzt haben

ls -le

Ich habe bei mir eine Gruppe „family“ erstellt und einen Ordner „gemeinsam“. Das sieht dann so aus:
Code:

drwxr-xr-x+ 5 simone  wheel  160 30 Aug 10:31 gemeinsam
 0: group:family allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity

Es fehlen nun nur noch die ACL für die Vererbung. Um die zu ergänzen müssen wir auch die bisherigen ACL erneut mit angeben. Das Ganze sieht dann so aus:

Wichtig sind die Anführungszeichen. Sollte euer Ordnername Leerzeichen enthalten, muss auch der in Anführungszeichen stehen.

chmod "=a#" 0 "group:family allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" gemeinsam

Fertig.

Nun werden alle in diesem Ordner neu angelegten Unterordner und Dateien immer für alle User:innen der Gruppe „family“ mit Schreib-/Leserechten versehen. Sollen weitere User:innen Zugriff erhalten, reicht es aus, diese in die Gruppe mit aufzunehmen.

Habt ihr bereits existierende Dateien und Unterordner, so könnt ihr über den Informationen-Dialog diese Rechte auf alle Unterobjekte anwenden.

Kategorien: macOS

0 Kommentare

Schreibe einen Kommentar

Avatar-Platzhalter

Deine E-Mail-Adresse wird nicht veröffentlicht.

Bitte löse die kleine Aufgabe, um den Kommentar abzuschicken. *