2 votes

Configuration rapide d'ACEs héritables sur de grands systèmes de fichiers en réseau

J'ai une question concernant les ACL sur un système de fichiers en réseau.

En gros, je veux définir une autorisation sur un objet dossier de niveau supérieur qui peut contenir plus de 100 000 objets fichiers et dossiers. Je veux que l'autorisation soit héritable par tous les sous-dossiers et les sous-fichiers (IE ' '). S'applique aux fichiers, aux dossiers et aux sous-dossiers. C'est vrai ).

Je ne veux pas détruire les permissions héritables existantes (IE ' '). Remplacer toutes les permissions des objets enfants par des permissions héritables de cet objet. C'est faux ).

Ainsi, lorsque j'exécute un Set-ACL, SetACL.exe, XCACLS.vbs, ou même que j'utilise l'interface graphique de Windows, le processus prend beaucoup de temps à se terminer - évidemment en raison de la taille importante du sous-répertoire.

J'y suis habitué maintenant, MAIS :

Je voulais savoir - pourquoi exactement c'est ça ?

En fin de compte, ne suis-je pas en train d'écrire un seul ACE sur un seul objet dossier ?

  • Je ne traverse pas le répertoire ;
  • Je ne modifie pas les ACL individuelles sur les sous-fichiers et les dossiers (je ne pense pas) ; et
  • Je ne remplace pas les permissions

J'ai supposé que si vous accédiez à l'objet sous-dossier/fichier, il vérifierait ses ACE explicites pour voir si vous avez des permissions, et si vous ne les avez pas, il vérifierait alors les permissions héritables (des objets dossiers parents) qui pourraient vous donner l'accès.

Ainsi, le fait de définir une autorisation héritable entraîne-t-il également l'écriture d'une nouvelle ACE individuelle dans chaque sous-fichier et dossier, même si, techniquement, vous ne définissez qu'une seule ACE au niveau supérieur ?

Est-ce qu'il y a tout Comment définir un ACE au niveau supérieur sans que la commande n'ait à énumérer tous les sous-répertoires ? Je cherche à faire cela rapidement et efficacement sur une quantité massive de fichiers et de dossiers.

J'espère que cela a un sens. N'hésitez pas à me faire part de vos suggestions.

Rhys.

2voto

CB. Points 24549

Les autorisations héritées (comme explicit) sont définies au niveau du dossier/fichier dans le masque de bits du descripteur de sécurité dans le champ de bits du drapeau ( plus d'infos ). C'est pourquoi la définition de permissions au niveau du dossier du père qui se propagent aux enfants (héritage) peut être longue et dépend du nombre d'enfants concernés.

Sur cette base, la réponse est non : vous ne pouvez pas définir un ACE au niveau supérieur et ne pas avoir la commande pour aller énumérer l'ensemble du sous-répertoire.

Vous pouvez tester si la définition d'un acl explicite par programme sur tous les enfants est plus rapide que le processus d'héritage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X