Dateien in Ordnerstrukturen gemeinsam verwenden

R

Ratus

Aktives Mitglied
Thread Starter
Dabei seit
10.03.2007
Beiträge
100
Reaktionspunkte
0
Hallo,
ich werde gerade kirre, aber es scheint keine Lösung für dieses Problem zu geben?

Problem:
  • ich habe 2 Nutzer auf dem selben Macbook.
  • die Nutzer arbeiten an einem Projekt
  • die Daten, ca. 100 GB liegen lokal
  • Ich möchte gerne, dass beide Nutzer auf die Daten zugreifen können und auch Dateien ändern können, die sie nich selber erstellt haben.
Ich habe verschiedenes versucht, von Freigaben bis hin zu ACLs schreiben, z.B.
chmod +a "your_group allow list,add_file,search,delete,add_subdirectory,delete_child,file_inherit,directory_inherit,read,write,delete,append,execute" /path/to/your/shared/folder
.

Ich ende immer in folgender Sackgasse:
  • Die Nutzer können auf den gemeinsamen Ordner zugreifen
  • Die Nutzer können beliebig Daten und Ordner erstellen
  • Die Nutzer können beliebig Daten und Ordner löschen, egal wer sie erstellt hat
  • ABER: Die Nutzer können _NICHT_ Dateien ändern, die sie nicht erstellt haben
    D.h. wenn ich eine Textdatei im Editor oder ein Bild in Vorschau öffne und Änderungen vor nehme, kommt die Meldung, dass man keine Schreibrechte hat, um die Änderungen zu übernehmen.
Ich meine, gemeinsame Daten auf einem Computer zu teilen gehört doch zu den primitivsten Dingen der Welt. Warum bekomme ich das nicht hin?

Wie muss man vorgehen, damit es klappt?
 
Hat der Ordner die Zugriffsrechte aller Benutzer?
Wenn nicht, diese vergeben.
Oder cmd + i, unten dann Benutzer zufügen.
 
Ja, der Ordner hat alle Rechte der -nutzer gesetzt, sonst ginge ja erstellen oder Löschen nicht.
 
Ok, als Lösung könnte man die Dokumente Bilder unter anderem Namen speichern, z.B. mit den Initialen des Erstellers als Zusatz.

Nicht das was gewünscht ist aber eine Möglichkeit bis es eine Lösung gibt.

Oder mal statt Apple Programme z.B. Word oder Photoshop nehmen und schauen ob es geht.
 
was ist denn die ausgabe von ls -le ?
was passiert wenn du
chmod +ai "your_group allow write" /path/to/your/shared/folder
machst?

als workaround könntest auch einen chmod cron/launchd job basteln, der g+w macht …
 
Liegen die Dateien denn überhaupt im "shared"-Ordner innerhalb des Users-Ordner?
Wenn das Problem auch da auftritt, mal versuchen, eine weitere Partition anzulegen, für diese Daten, und dabei das Häkchen setzen für "Eigentümer auf diesem Volume ignorieren".
 
@oneOeight: bringt keine Abhilfe
ja, das mit dem cron job könnte man machen, wäre aber weniger elegant (und muss ich mich auch rein fuchsen)
Warum ist das macOS so aufgebaut, dass nicht jeder user eine eigene Gruppe als Hauptgruppe hat, und die default Maske auf rwx für user und gruppe gesetzt wird?

@Schiffversenker: Das Problem tritt in jedem Ordner auf, den man shared, auch dem /User/Shared.
Man hat das Problem sobald ich eine vorhandene Datei ändern will, bei der ein anderer Nutzer owner ist.

@avalon: Gewünscht ist, dass jeder jede Datei editieren kann.
 
...erstellt doch einfach eine Gruppe für die beiden Nutzer und setzt für das geteilte Verzeichnis das sgid-Bit:

chmod g+s Verzeichnis

Alle neuen Dateien im Verzeichnis bekommen dann die Gruppenrechte. Dann der Gruppe für das Verzeichnis Schreibrechte geben und es sollte funktionieren. Vorher aber ggf. alle ACLs entfernen...
 
@bowman: Habe ich gemacht. Die neuen Dateien bekommen leider nur die Gruppenzugehörigkeit. Neu angelegte Dateien und Ordner erhalten aber keine Gruppen-Schreibrechte. D.h. man müsste dann ggf. wie von @oneOeight vorgeschlagen einen chron-job haben, der ständig die Rechte aller Daten in allen Unterverzeichnissen neu setzt.
 
Der nächste Hack, der mir im Kopf herum spukt:
Entweder eine eigene Partition erstellen, und sehen, ob man die ohne Berechtigungsfoo einbinden kann,
oder vielleich kann man auch einen DMG-Container machen, und den beim Booten schon automatisch einbinden, auch mit "rechten für alle"?
 
an sich kannst du auf allen volumes den eigentümer ignorieren, die nicht die startvolume sind.
 
...hier habe ich eine sehr gute Anleitung von jemandem gefunden, der sich genau zu diesem Thema Gedanken gemacht hat:

http://linux-blog.anracom.com/2010/07/20/vererbung-von-ext3-ext4-gruppenrechten/

Langer Rede kurzer Sinn: Das mit dem SetGID-Bit stimmt schon, man muss allerdings zusätzlich noch eine ACL-Maske und ACL-Default-Rechte setzen:

setfacl -m m::rwx Verzeichnis
setfacl -dm g:Gruppenname:rwx Verzeichnis
 
Langer Rede kurzer Sinn: Das mit des SetGID-Bit stimmt schon, man muss allerdings zusätzlich noch eine ACL-Maske und ACL-Default-Rechte setzen:

setfacl -m m::rwx Verzeichnis
setfacl -dm g:Gruppenname:rwx Verzeichnis

und das ganze jetzt vielleicht mal für OS X?
der erste befehl geht ja z.b. gar nicht, weil du über ACL keine mask setzen kannst.
da müsste man schon das umask für alle benutzer ändern?

in dem beitrag wird z.b. gesagt, das wichtigste ist den parent folder das richtige inherit zu verpassen und alle bereits erstellten dateien noch mal die richtigen rechte zu verpassen:
https://superuser.com/questions/706311/force-file-and-sub-directory-permissions-on-os-x-server
 
daß das immer noch so ein problemthema ist.
hier im forum gibt's gefühlt ein dutzend threads mit lösungen in posix- und acl-varianten.
 
Wenn is im Forum duzende Lösungen zu dem Problem gibt, bin ich zu doof, sie zu finden.

Das mit dem setfacl hatte ich schon versucht, scheiter aber genau an dem mangelnden Wissen, wie man das auf Mac macht.

Der Mensch hier https://superuser.com/questions/706311/force-file-and-sub-directory-permissions-on-os-x-server hat genau mein Problem, allerdings hat er Scripte, die die Daten anlegen. Er kann daher dem Script die umask passend setzen. Das möchte ich eigentlich für Benutzer nicht, weil so ein Mac defaultmäßig so aufgesetzt ist, dass dann alle User bei allen Usern alles machen können, weil alle User der selben Gruppe angehören, anstatt das man für jeden User eine eigene default-Gruppe angelegt hat. Wenn ich da anfange rum zu pfuschen, habe ich große Bedenken. Auch ein anderer thread hier im Forum warnt genau davor, die umask für User zu ändern.

Den
sudo chmod -R +a "developers allow write" path/
hab ich im Prinzip ja schon gemacht, und schreiben kann ja jeder, löschen auch, nur eben kein einziges Bit einer vorhandenen Datei kippen lassen. Eigentlich ist diese Situation ziemlich verrückt. Gibt es eine acl, die ich übersehen habe?
Hier nochmals die ACL, die ich gesetzt habe:
chmod +a "your_group allow list,add_file,search,delete,add_subdirectory,delete_child,file_inherit,directory_inherit,read,write,delete,append,execute" /path/to/your/shared/folder
 
Zurück
Oben Unten