ACL-ek sorrendje DACL-ben
Amikor egy folyamat megpróbál hozzáférni egy biztonságos objektumhoz, a rendszer végiglép a hozzáférés-vezérlési bejegyzéseken (ACE- k) az objektum belátás szerinti hozzáférés-vezérlési lista (DACL) között, amíg meg nem találja azokat az ACL-eket, amelyek engedélyezik vagy megtagadják a kért hozzáférést. A DACL által a felhasználó számára engedélyezett hozzáférési jogosultságok a DACL AC-k sorrendjétől függően változhatnak. Következésképpen a Windows XP operációs rendszer egy biztonságos objektum DACL-jében egy elsődleges sorrendet határoz meg az ACL-ek számára. Az előnyben részesített sorrend egy egyszerű keretrendszert biztosít, amely biztosítja, hogy a hozzáférés-megtagadott ACE ténylegesen megtagadja a hozzáférést. A hozzáférés ellenőrzésére szolgáló rendszeralgoritmusról további információt Az objektumhozzáférésének vezérlése a DACL-ek használatával című témakörben talál.
A Windows Server 2003 és a Windows XP esetén az ACE-k megfelelő sorrendjét bonyolítja az objektumspecifikus ACE-k és az automatikus öröklés bevezetése.
Az alábbi lépések az előnyben részesített sorrendet írják le:
- Az összes explicit ACE egy csoportba kerül az örökölt ACE-k előtt.
- A explicit ACE-k csoportjában a hozzáférés-megtagadású ACE-k a hozzáférés által engedélyezett ACE-k előtt kerülnek elhelyezésre.
- Az örökölt ACE-k az öröklött sorrendbe kerülnek. A gyermekobjektum szülőjétől öröklő ACE-k először a nagyszülőtől öröklődnek, és így tovább a tárgyak fáján.
- Az örökölt ACE-k minden szintje esetében a hozzáférés-megtagadású ACE-k a hozzáférés által engedélyezett ACE-k elé kerülnek.
Az ACL-ben természetesen nem minden ACE-típusra van szükség.
Az olyan függvények, mint az AddAccessAllowedAceEx és Az AddAccessAllowedObjectAce egy ACE hozzáadása az ACL végéhez. A hívó felelőssége annak biztosítása, hogy az ACL-ek a megfelelő sorrendben legyenek hozzáadva.