Najpierw trochę tła wyjaśniającego, co się dzieje: Pliki w OS X mogą mieć dwa zupełnie różne rodzaje ustawień uprawnień: POSIX i ACL.
Pliki zawsze (cóż, prawie zawsze) mają zastosowane uprawnienia POSIX, składające się z właściciela, grupy i innych (z pewną kombinacją odczytu, zapisu i wykonania dla każdego z nich). Nie ma sposobu na kontrolowanie dziedziczenia uprawnień POSIX: nowe elementy są zawsze własnością każdego użytkownika, który je utworzył, przypisanie grupy jest dziedziczone z folderu, w którym się znajdują, a dostęp jest określany przez umask (który prawie zawsze: właściciel otrzymuje pełny dostęp, grupa i inni tylko do odczytu + uruchom foldery). Więc uprawnienia POSIX nie będą działać dla tego, co próbujesz zrobić.
Pliki mogą mieć również zastosowaną listę kontroli dostępu (ACL). Jest to lista wpisów kontroli dostępu (ACE), z których każdy dotyczy użytkownika lub grupy, określa typy dostępu (bardzo szczegółowo), czy są one dozwolone, czy odmówione, oraz czy ACE należy również skopiować do elementy utworzone w folderze. Ten ostatni kawałek jest tą częścią, która sprawia, że jest to dla ciebie przydatne; musisz utworzyć pozycję ACE w folderze, który określa żądaną grupę, typy żądanego dostępu i pełne dziedziczenie.
chmod w OS X może manipulować ACE za pomocą opcji uprawnień + a, -a itp. Jeśli rozumiem, czego chcesz, możesz użyć tego (z podaniem nazwy grupy i ścieżki folderu), aby utworzyć ACE:
chmod +a "group:examplegroup allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /path/to/folder
Zauważ, że dziedziczenie nie jest „aktywne”, tzn. Nie dotyczy elementów utworzonych przed przypisaniem ACE i nie dotyczy elementów utworzonych gdzieś indziej, a następnie przeniesionych do folderu. Możesz zastosować go do istniejącej zawartości za pomocą -R ( chmod -R +a ...
). Nie znam sposobu (oprócz narzędzi administratora serwera Apple), aby wymusić dziedziczenie elementów przeniesionych do folderu.