INHERITANCEFLAGS Specifies which accept permission inheritance
- Inheritanceflags.containerinherit subordinate folders to inherit permissions.
- Inheritanceflags.none subordinate folders, files do not inherit permissions.
- Inheritanceflags.objectinherit subordinate files to inherit permissions.
The above mentioned "folder", "File", the more accurate word should be "container", "leaf object", because it is not only used for folders, files, but also may be used elsewhere, such as registry permissions.
PropagationFlags How to propagate permissions
- Propagationflags.inheritonly does not set path, but propagates to subordinates.
- Propagationflags.none is not set, that is, both the path is set and propagated to the subordinate.
- Propagationflags.nopropagateinherit just sets the path and does not propagate to subordinates.
PropagationFlags only makes sense when the inheritanceflags is not none. That is, inheritanceflags specifies which class of objects can accept permission inheritance (propagation), and PropagationFlags indicates how these permissions are propagated.
. NET, the small details about folder permissions settings