With Windows 7, the behavior of Windows Explorer while moving files and directories seems to have changed.
So far, we had the following rules:
- Moving files on the same NTFS-volume – permissions on the source folder remained valid.
- Copying files on the same NTFS-volume – permissions from the target folder were inherited.
Hannes already explained this issue in his article Data disappears or access is denied after moving ACL. But ususally this behavior is not desired in business environments.
For Windows XP, everything still works as expected. But this behavior can easily be influenced with two registry keys: (KB310316)
The key ForceCopyAclwithFile = 1 forced the explorer to take along the permissions during copying.
The key MoveSecurityAttributes = 1 made the explorer inherit the permissions of the target folder during moving.
All being well with Windows XP.
Searching the Microsoft KBs, you will find the article KB2617058 which describes that the registry key MoveSecurityAttributes =1 does not work any longer with Windows 7. Hotfix ist supposed to help by giving the registry key its function back.
I wanted to reproduce the behavior of Windows 7 in a test with Hotfix installed. For this, I prepared two Windows 7 clients:
- One client with Hotfix
- One client without Hotfix.
To my astonishment, both clients behaved the same way. Both worked as if the key MoveSecurityAttributes =1 was set.
While moving files on the same NTFS-volume, the permissions of the target-folder were inherited, independently of Hotfix being installed or not.
I don’t like to admit that I couldn’t reach the bottom of this phenomenon yet. All Windows 7 and Windows 8.1 clients I have worked with recently, showed the same behavior. Apparently, Microsoft fixed it. But even searching the net for an official Microsoft statement, I came up with only a small reference in the article KB320246 under “Note”: (…) This is a change by design from Windows XP to Windows Vista (…). That’s why I assume this change by design and thus a different behavior during the moving-process was introduced with Windows Vista, taken back with Windows 7 (why else would Hotfix have been necessary) and reintroduced with an update. But these really are only assumptions. However, tests with Windows 7, 8.1, Server 2008R2 and Server 2012R2 all yielded the same result: while moving data on the same NTFS-volume, all permissions of the target-folder were inherited.
If anyone has made similar experiences or has further information to share, I’d really appreciate a comment.