ls -e
Imprimez la liste de contrôle d'accès (ACL) associée au fichier, le cas échéant, en sortie longue (-l).
cela donne un résultat tel que ...
drwxr-xr-x@ 19 localadmin 646B Aug 4 00:21 APPBUNDLE
0: user:localadmin allow add_file,add_subdirectory,writeattr,writeextattr,writesecurity
⬆ ⇧ ⇶ ⬆
Personnellement, j’ai des «exportations» dans mon ~/.bash_profile
export FILE_ALL="read,write,append,execute,delete,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown"
export DIR_ALL="list,search,add_file,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown"
qui rendent un tel chmod
possible ...
sudo chmod + a "allow localadmin $ DIR_ALL" / APPBUNDLE
À partir de la chmod
page de manuel, il y a ce morceau d'informations ... qui laisse entendre qu'il peut en effet être possible de faire quelque chose comme vous décrivez ..
"Les ACL sont manipulées à l'aide d'extensions de la grammaire du mode symbolique. Chaque fichier possède un ACL, contenant une liste ordonnée d'entrées. Chaque entrée fait référence à un utilisateur ou à un groupe et accorde ou refuse un ensemble d'autorisations. Dans les cas où un utilisateur et un groupe existe sous le même nom, le nom de l'utilisateur / groupe peut être préfixé par "utilisateur:" ou "groupe:" afin de spécifier le type de nom. "
chmod -E
Lit les informations ACL depuis stdin, sous la forme d'une liste séquentielle d'ACE, séparés par des retours à la ligne. Si les informations sont correctement analysées, les informations existantes sont remplacées.
Aussi, je vais donner un coup de pouce à BatchMod , un ancien, mais un goodie pour les ACL, ainsi que TinkerToolSystem .
getfacl
/setfacl
. Assez remarquable. github.com/jvscode/getfacl a 10 ans je n'ai pas pu le faire fonctionner. serverfault.com/a/303752/104173 semble compliqué, et je ne sais pas s'il tente de remplacer laget/setfacl
fonctionnalité. Je comprends que macOS n'est pas une plate-forme de serveur, mais il peut toujours subir des intrusions de sécurité. Vaut-il la peine de relancer cette conversation sur apple.stackexchange.com ?