Wir haben gerade einen neuen iMac erhalten, der das /Users/Shared
Verzeichnis zum Speichern von Medienobjekten (Bilder, Audio, Video) verwendet, die für alle Benutzer auf dem Computer zugänglich sein sollen. Nach dem anfänglichen Kopieren aller Dateien haben wir die gewünschten Berechtigungen festgelegt und dann rekursiv dieselben Berechtigungen auf alle Verzeichnisinhalte angewendet. Dies funktioniert einwandfrei, außer wenn jemand eine neue Datei oder ein neues Verzeichnis erstellt, verfügt es nicht über dieselben Berechtigungen und wir müssen den gesamten Berechtigungsprozess wiederholen, bevor jeder darauf zugreifen kann.
Gibt es eine Möglichkeit, Berechtigungen für alle neuen Dateien / Verzeichnisse festzulegen, die in diesem Verzeichnis erstellt wurden?
quelle
Antworten:
Dies ist mit herkömmlichen POSIX-Berechtigungen nicht möglich, aber mit vererbbaren Zugriffssteuerungseinträgen. Um der gesamten "Mitarbeitergruppe" Lese- und Schreibzugriff auf alles in / Users / Shared / reallyshared zu gewähren, würden Sie Folgendes verwenden:
Der
file_inherit,directory_inherit
Teil bedeutet , dass dieser Zugriffssteuerungseintrag wird automatisch neue Dateien und Ordner in diesem Ordner erstellt hinzugefügt werden, aber es gilt nicht automatisch auf Posten schon da (Deshalb hat ich die zusätzliche-R
Flaggechmod
- , dass es für alles gilt zur Zeit in der Ordner), und es wird nicht auf Elemente angewendet, die an einer anderen Stelle erstellt und dann in diesen Ordner verschoben wurden (ich kenne keinen Weg, dies zu umgehen, sorry).quelle
drwxr-xr-x+ 2 User staff 68 Dec 15 14:10 untitled folder
Das + am Ende bedeutet, dass die erweiterte ACL mit Ihrem obigen Befehl angewendet wurde, aber Windows sagt immer noch, dass die Berechtigung verweigert wurde, wenn ich versuche, eine Datei in diesen Ordner zu schreiben. Nurchmod g+w untitled\ folder
lässt mich zu schreiben. Könnte daran liegen, dass ich Samba installiert habe, um die schreckliche neue SMB-Implementierung von OSX zu umgehen.nt acl support = no
der dem[Global]
Abschnitt /etc/smb.conf hinzugefügt werden soll, bin mir aber nicht sicher, ob dies in aktuellen Versionen von Samba noch relevant ist.Ein anderer Ansatz ist die Verwendung von Terminal (auch als Shell oder Eingabeaufforderung bezeichnet) zum Erstellen / Bearbeiten der Datei (muss als Superuser ausgeführt werden, siehe sudo):
/etc/launchd-user.conf
Hinzufügen der Zeile:
umask 000
Speichern und Neustarten. Neue Dateien / Ordner (einschließlich Dateien, die durch Speichern unter geändert wurden) ermöglichen jedem das Lesen / Schreiben.
Dies funktioniert durch Ändern der Standardberechtigungen zum Erstellen von Dateien für Programme, während der ACL-Ansatz in Bezug auf Zugriffsregeln funktioniert, die an bestimmte Dateien und Ordner gebunden sind.
Ohne diese Optimierung werden Dateien erstellt, die dem Benutzer Lese- / Schreibzugriff, Gruppen- und anderen Lesezugriff ermöglichen.
Wenn Sie die Freigabe auf mehreren Computern durchführen, müssen Sie dies für alle Computer tun, die die Freigabe verwenden.
Wenn sich im freigegebenen Bereich bereits Dateien und Ordner befinden, müssen Sie diese für alle lesbar / beschreibbar machen, indem Sie Folgendes verwenden:
sudo chmod -R og+w <shared-folder-name>
Der Befehl liest in Englisch als Änderungsmodus, rekursiv durch alle Unterordner und Dateien, andere & Gruppenberechtigungen fügen Schreibzugriff hinzu, beginnend bei Ordner mit.
Dieser Ansatz wird in Foren erwähnt, um mit mindestens 10.6 zu arbeiten und funktioniert immer noch auf 10.7.
Andere Faktoren beeinflussen weiterhin den Zugriff auf Inhalte. Beispielsweise Berechtigungen, die in der Systemsteuerung für die Freigabe festgelegt wurden, Benutzerordnerberechtigungen / ACLs und bei Verwendung von Terminal alle für die Shell gültigen umask.
Suchen Sie nach umask- und Posix-DateiberechtigungenEinzelheiten zu diesen Unix-Konzepten. In den Zuschreibungen ist das Wortverzeichnis Unix synonym mit Ordner. Sie werden auch auf die Begriffe UID und GID stoßen: Benutzer- und Gruppen-IDs, die den Posix-Besitz von laufenden Programmen (Prozessen) definieren. Beachten Sie, dass UIDs und GIDs Zahlen sind, die für einen bestimmten Benutzernamen auf verschiedenen Computern gleich oder unterschiedlich sein können. Diese Nummern werden Namen in der Reihenfolge zugewiesen, in der Konten auf einem bestimmten Computer erstellt werden, normalerweise beginnend mit der ID 501. In Heimnetzwerken fehlt ein Mechanismus zur Harmonisierung dieser Zuweisungen zwischen Computern. Daher scheint eine Datei auf Netzwerkfreigaben verschiedenen Benutzern zu gehören, da die Benutzer-ID für die Bindung des Benutzernamens aus der Perspektive bestimmt wird, in der der Computer auf die Datei zugreift. Freigaben ermöglichen es also wirklich immer jedem, auf Dateien in unterschiedlichem Maße zuzugreifen. Mit anderen Worten, die Posix-Berechtigung "Andere" ist eine unbegrenzte Zugriffsbeschränkung, die von der Ermöglichung eines durchaus vorhersehbaren, aber anscheinend unsicheren Zugriffsgrades abhängig von den auf verschiedenen Computern zugewiesenen Benutzer-IDs reicht. Dies führt zu scheinbar absurden Unterschieden bei den Erfahrungen, bei denen in einigen Netzwerken, z. B. bei einem Setup mit nur einem Benutzerkonto, das jemals auf jedem Mac erstellt wurde, Änderungen ohne Berechtigung vorgenommen werden können, da alle Konten dieselbe UID (501, Nr Unabhängig davon, wie die Konten benannt sind), bei einem anderen Netzwerk, das mehrere Benutzerkonten pro Mac verwendet, treten sofort Probleme auf. Einige Gruppen werden sich also nie damit abfinden, während andere Probleme sehen, die sich im Laufe der Zeit entwickeln, oder Probleme, die spontan auftreten / verschwinden.
Es ist ein Rätsel, warum Apple bei der Konfiguration einer ansonsten einfach zu aktivierenden Dateifreigabefunktion einen so schwerwiegenden Usability-Mangel festgestellt hat.
Auf externen Datenträgern wird dieses Problem mit der Option "Berechtigungen für dieses Volume ignorieren" behoben. Möglicherweise gibt es eine ähnliche Funktion für die gemeinsame Nutzung von Apple-Dateien, aber wo ist sie?
Wenn Sie eine eigene Samba-Service-Konfiguration haben, gibt es andere Mechanismen, um diese Probleme zu lösen, aber Samba ist überhaupt nicht einfach zu bedienen.
quelle
launchctl
. Siehe support.apple.com/de-de/HT201684