Ein bisschen zu spät zur Party, aber für den Fall, dass zukünftige Leser darüber stolpern;) Wie von anderen angegeben, wird auf einem Standard-OS-X-Dateisystem die setUID für Verzeichnisse ignoriert - und es scheint keinen einfachen Weg zu geben, dies zu umgehen ( mount -o
.... oder was nicht). Wie so oft entspricht die Manpage nicht dem OS-X-Verhalten, das sie wörtlich angibt:
4000 (das Set-User-ID-On-Execution-Bit) [...] Verzeichnisse mit dem Set-User-ID-Bit erzwingen, dass alle darin erstellten Dateien und Unterverzeichnisse dem Verzeichnisbesitzer und nicht von gehören Die Benutzeroberfläche des Erstellungsprozesses [...]
es wird jedoch auch eine Möglichkeit aufgeführt, den gleichen Effekt zu erzielen, ohne das ursprüngliche Eigentum aufzugeben. Linux verwendet '[g /] setfacls' für ähnliche Effekte (diese Berechtigungen sind auf den ersten Blick nicht wirklich sichtbar und können daher manchmal lästig sein).
Lesen Sie die gesamte Manpage, um zu erfahren, wie Sie ähnliche Effekte erzielen können.
chmod +a 'guest allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' ./[DIRECTORY]
Sie können über überprüfen
ls -le
wenn alles gut aussieht. Weitere Optionen sind das Einfügen von Regeln an bestimmten Positionen sowie das Entfernen oder Ersetzen bestimmter Regeln. Die beiden bemerkenswerten Optionen sind " file_inherit
und directory_inherit
", mit denen die Regeln an ein neues Verzeichnis / eine neue Datei angehängt werden können.
Ich verwende setUID nicht besonders gern, aber setGID ist sehr praktisch bei Dateiservern, bei denen das einfache Festlegen der Hauptgruppe nicht funktioniert oder Clients Dateimasken haben, die das Schreiben von Gruppen nicht zulassen. Das würde gelöst werden durch:
chmod +a 'mygroup allow read,write,delete,add_file,add_subdirectory,file_inherit,directory_inherit' /fileserver/groupfolders/mygroup