Inherited Permissions Are Not Automatically Updated When You Move Folders (320246)
The information in this article applies to:
- Microsoft Windows Server 2003, Web Edition
- Microsoft Windows Server 2003, Standard Edition
- Microsoft Windows Server 2003, Enterprise Edition
- Microsoft Windows XP Professional
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Datacenter Server
- Microsoft Windows 2000 Professional
- Microsoft Windows NT Server 4.0 SP4
- Microsoft Windows NT Server 4.0 SP5
- Microsoft Windows NT Server 4.0 SP6
- Microsoft Windows NT Server 4.0 SP6a
This article was previously published under Q320246 SYMPTOMS
An Access Control List (ACL) may show permissions that are marked as having been inherited from the parent, but the parent itself may not have these permissions configured in its ACL. Note that this symptom may occur even though inheritance is still enabled. Any subsequent change to
the parent folder's ACL causes the child's ACL to receive the
inherited permissions. Also, any attempt to change the ACL of the child causes the inheritance to be applied (unless the change marks the
ACL as being protected from inheritance). This behavior may be surprising if the inheritance state had not been noted before you start to edit the ACL.
CAUSE
This behavior may be caused by moving a folder. When you move a folder, the ACL is not changed, and the inherited permissions are not updated. Note that "move" in the context of this article always means to move within the same volume.
When you move a file or folder, the ACL is also moved and is not changed in any way. Even when inheritance is enabled for this folder, the inherited permissions are not automatically updated. The ACL will be updated the next time you change permissions, and this forces the parent to propagate its permissions.
This behavior can also be caused by:
- Setting the permissions of a parent folder by using CACLS does not propagate to the subfolders. Note that the /T option does not mean to propagate the rights by using inheritance, but to overwrite all ACLs.
- Setting the permissions of a parent folder by using an API that does not automatically propagate inheritance (like Adssecurity.dll).For additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
266461 HOWTO:Set Automatic Inheritance of File/Folder Permissions- ADSI
- Restoring from a backup to a different location.
RESOLUTION
To avoid unexpected permission changes, set the ACL of the file/folder to "protected" before moving when you want to keep the settings. Otherwise, manually update the ACL of the moved file/folder by using the explorer ACL editor. Disable and than enable inheritance again to force the ACL to be updated with the right inherited permissions. You may also use a VBScript to automate this process.
For additional information about how to do so, click the article number below
to view the article in the Microsoft Knowledge Base:
279682 HOWTO: Use ADsSecurity.dll to Add an ACE to an NTFS Folder
STATUSThis behavior is by design.
Modification Type: | Major | Last Reviewed: | 4/15/2004 |
---|
Keywords: | kbenv kbprb kbui KB320246 |
---|
|