Tout d'abord, un peu d'arrière-plan pour expliquer ce qui se passe: Les fichiers dans OS X peuvent avoir deux types de paramètres de permission assez différents appliqués à eux: POSIX et ACL.
Les fichiers ont toujours (enfin, presque toujours) des permissions POSIX appliquées, composées d'un propriétaire, d'un groupe et d'autres utilisateurs (avec une combinaison de lecture, d'écriture et d'exécution pour chacun). Il n'y a aucun moyen de contrôler l'héritage des autorisations POSIX: les nouveaux éléments sont toujours possédés par l'utilisateur qui les a créés, l'attribution au groupe est héritée du dossier dans lequel ils se trouvent, et l'accès est déterminé par l'umask (qui est pratiquement toujours: le propriétaire obtient un accès complet, le groupe et les autres ont seulement la lecture + l'exécution pour les dossiers). Ainsi, les autorisations POSIX ne fonctionneront pas pour ce que vous essayez de faire.
Les fichiers peuvent également avoir une liste de contrôle d'accès (ACL) appliquée. Il s'agit d'une liste d'entrées de contrôle d'accès (ACE), chacune appliquée à un utilisateur ou groupe, spécifiant les types d'accès (en détail), s'ils sont autorisés ou refusés, et si l'ACE doit également être copié aux éléments créés à l'intérieur du dossier. C'est cette dernière partie qui rend cela utile pour vous; vous devez créer un ACE sur le dossier qui spécifie le groupe que vous souhaitez, les types d'accès que vous souhaitez et un héritage complet.
chmod
sur OS X peut manipuler les ACE avec les options de permissions +a
, -a
, etc. Si je comprends ce que vous voulez, vous utiliseriez ceci (en remplaçant votre nom de groupe et le chemin du dossier) pour créer l'ACE:
chmod +a "groupe:examplegroup autoriser liste,ajouter_fichier,rechercher,ajouter_sous-dossier,supprimerenfant,lireattr,écrireattr,lireextattr,écrireextattr,lire sécurité,fichier_hériter,répertoire_hériter" /chemin/vers/dossier
Remarque: l'héritage n'est pas "en direct", c'est-à-dire:
- il ne s'applique pas aux éléments créés avant que vous ayez attribué l'ACE
- il ne s'applique pas aux éléments créés ailleurs puis déplacés dans le dossier.
Vous pouvez l'appliquer aux contenus existants en utilisant -R
(c'est-à-dire: chmod -R +a ...
). Je ne connais pas de moyen (sauf les outils d'administration de serveur d'Apple) pour forcer l'héritage aux éléments déplacés dans le dossier.