Comment fonctionne l'inheritance de security du système de files Windows?

Je creuse dans le monde puissant mais plutôt complexe de la security des files / dossiers Windows. Je comprends très bien comment tout fonctionne et peut faire des suppositions éduquées sur le fonctionnement du mécanisme ACL / ACE. Ce dont je ne suis pas sûr, c'est la façon dont le drapeau / mécanisme d'inheritance est implémenté.

Si (dis) un object de dossier possède l'indicateur d'inheritance défini, modifiez le parent:

  1. Être copié sur tous les objects enfants effectués au moment de la modification de l'autorisation parentale?
  2. Est-ce que Windows, si nécessaire (p. Ex., L'autorisation de vérification), sauvegarde-t-il l'tree pour déterminer l'autorisation héritée?

Je soupçonne qu'il est # 1 comme si vous modifiez les permissions de security à la racine d'un système de files volumineux, il faut beaucoup de time pour appliquer les modifications. Je suppose que Windows se déplace dans tous les files et dossiers, en vérifiant l'indicateur d'inheritance et en modifiant l'ACL / ACE sur chaque object.

Je suppose en outre que cela se fait de cette façon pour améliorer les performances – en continuant à marcher vers le haut d'une structure de dossier très profonde pour get l'object racine car c'est là où les permissions sont héritées imposerait un très grand impact sur les performances.

Cheers, Rob.

Sur la base de votre mention de «structure de dossiers», je suppose que vous parlez de l'inheritance de permission NTFS.

L'inheritance d'autorisation NTFS est, comme vous le dites, une illusion intelligente qui atsortingbue explicitement les ACL "héritées" aux objects au moment où les ACL "héritées" sont modifiées ou qu'un file est créé. Ce comportement est considéré comme erroné par certains (moi inclus). Les API que le shell appelle pour modifier l'autorisation entraîneront cette «marche» dans une hiérarchie de dossier en profondeur lorsque vous modifiez les permissions à la racine d'une telle hiérarchie. (Ce comportement est particulièrement gênant lorsque vous avez ajouté une autorisation non héritable à la racine d'une hiérarchie profonde, mais vous devez attendre la permission "marche" pour terminer avant que le shell ne vous renvoie le contrôle.)

Je ne sais pas quelle était la raison d'être de cette décision de design, sauf pour dire que le comportement préserve un degré de compatibilité avec les anciennes versions de NTFS et parce qu'il était probablement plus facile de mettre en œuvre le mécanisme de cette façon (less de cas d'angle) . Selon moi, le système de files Netware, par exemple, a effectivement mis en place un calcul en time réel des permissions héritées, par opposition au marquage explicite des ACL «indésirés» comme NTFS. Je dirais que le système de files Netware prouve qu'un tel model d'autorisation calculé en time réel est effectivement possible à mettre en œuvre avec des performances raisonnables.