Many programs need to be able to store sensitive information in the file system or the registry. To protect this information, you need to properly define an ACL, because only you know who needs access to your information. In this article and my next one, I’ll explain how to create and apply an ACL, and present some background on how the Windows 2000 and Windows NT security subsystem works.
Within Win2K and NT, nearly everything is an object (although not in the strict C++ sense of the word). Some objects are containers that might have other objects associated with them. One example of a container object is a directory, which can contain files and possibly other directories. Similarly, a registry key is an object that contains values and possibly other registry keys. So, if an ACL applies to a directory, for example, flags determine which portions of the ACL apply to newly created directories and files and which apply to the directory itself. This process is known as inheritance. Although many configurations are possible, in practice newly created containers typically inherit the parent permissions. . . .

