Đầu tiên, một chút nền tảng để giải thích những gì đang diễn ra: Các tệp trong OS X có thể có hai loại cài đặt quyền khác nhau được áp dụng cho chúng: POSIX và ACL.
Các tệp luôn luôn (tốt, hầu như luôn luôn) được áp dụng quyền POSIX, bao gồm chủ sở hữu, nhóm và những người khác (với sự kết hợp giữa đọc, ghi và thực thi cho từng quyền). Không có cách nào để kiểm soát sự kế thừa của các quyền POSIX: các mục mới luôn được sở hữu bởi bất kỳ người dùng nào đã tạo ra chúng, việc gán nhóm được kế thừa từ thư mục mà chúng đang ở và quyền truy cập được xác định bởi ô (luôn luôn là khá nhiều: chủ sở hữu được quyền truy cập đầy đủ, nhóm và những người khác chỉ đọc + thực thi cho các thư mục). Vì vậy, quyền POSIX sẽ không hoạt động cho những gì bạn đang cố gắng làm.
Các tập tin cũng có thể được áp dụng danh sách kiểm soát truy cập (ACL). Đây là danh sách các mục kiểm soát truy cập (ACE), mỗi mục áp dụng cho người dùng hoặc nhóm, chỉ định các loại quyền truy cập (rất chi tiết), cho dù chúng có được phép hoặc bị từ chối hay không và liệu ACE cũng nên được sao chép vào các mục được tạo bên trong thư mục. Đó là phần cuối cùng làm cho điều này hữu ích cho bạn; bạn cần tạo một ACE trên thư mục chỉ định nhóm bạn muốn, các loại quyền truy cập bạn muốn và kế thừa đầy đủ.
chmod trên OS X có thể thao tác các ACE với các tùy chọn quyền + a, -a, v.v. Nếu tôi hiểu những gì bạn muốn, bạn sẽ sử dụng cái này (với tên nhóm và đường dẫn thư mục được thay thế) để tạo ra 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
Lưu ý rằng sự kế thừa không phải là "trực tiếp", tức là nó không áp dụng cho các mục được tạo trước khi bạn gán ACE và nó không áp dụng cho các mục được tạo ở nơi khác và sau đó được chuyển vào thư mục. Bạn có thể áp dụng nó cho các nội dung hiện có bằng cách sử dụng -R ( chmod -R +a ...
). Tôi không biết một cách nào (ngoại trừ các công cụ quản trị máy chủ của Apple) để buộc kế thừa các mục được chuyển vào thư mục.