NTFS and Access Based Enumeration Issue
Posted on 2015-02-12
We are migrating from a Novell file server to Windows Server 2012 R2. We are having issues with folder and subfolder permissions.
We have a top level folder that is shared, D:\FileShare. Under FileShare we have a domain folder (Data), a user home folder (Users), a shared folder (Shared) and a private folder (Private).
\\Server\FileShare - Main shared folder with ABE
Net Use L:\ \\Server\FileShare
Folders under FileShare:
Data - Domain Users - Modify
Private - Administrators only, specific users. Private\SubFolder - specific user
Users - Administrators only. Users\UserName - UserName - Modify
Shared - Domain Users - Modify
For Users, the main folder's permissions are only Administrators have rights. The subfolders for each user, the UserName has Modify rights to that folder. By doing this, when a user goes to \\Server\FileShare, they only see Data, Shared, and Private. We do a drive mapping for users to access their home folder (net use H: \\Server\FileShare\Users\%UserName%).
Where we have a problem is with the Private folder. Only certain users will have access to this folder and subfolders.
Right now Private has only administrator rights. Under Private are folders Group1, Group2 and Group3 for testing purposes. For Private\Group1, this folder I gave my test user rights to it. So they can use Windows Explorer and go to the path \\Server\FileShare\Private\Group1 and that user can see all the subfolders and files in it. I then gave Group2 administrator only rights and created a subfolder (DivA) and gave the test user full rights to that folder. However when the user goes to \\Server\FileShare\Private\Group2\DivA I get a Windows cannot access folder error.
\\Server\FileShare\Private - denied
\\Server\FileShare\Private\Group1 - access
\\Server\FileShare\Private\Group2\DivA - no access even though user has full rights to DivA
This poses a huge problem for us because a user may only need access to DivA only and not see all the other files and subfolders of Group2.
Group1 folder has three subfolders: G1DivA, G1DivB, and G1DivC
Group2 folder has three subfolders: G2DivA, G2DivB, and G1DivC
Group3 folder has three subfolders: G3DivA, G3DivB, and G3DivC
I have two users, John and Bob. John needs access to Group1 and Group2 and all subfolders but not Group3. Bob only has rights to Group2\G2DivB and no other folder.
John has no issue accessing \\Server\FileShare\Private\Group1 and \\Server\FileShare\Private\Group2. If John tries to go to \\Server\FileShare\Private he gets a network error. If I add Domain Users with List Folder Contents to Private, John can see all three folders, even though he only has rights to Group1 and Group2. John cannot access Group3, however we do not like the fact that he is aware that the folder exists.
Bob, on the other hand cannot access G2DivB even if he goes to the UNC path of \\Server\FileShare\Private\Group2\G2DivB. I could add Domain Users with List Folder Contents so that they can traverse through the folders to get to the one they do have access to, however we believe that is a security issue for users to see folders they do not have access to.
If I give Domain Users just Traverse Folder rights, they don't see any folders. If I give just List Folder in advanced permissions, they don't see any folders. They only way I can get them to see folders is the List Folder Contents permission.
What permissions do I set so that when Bob wants to go to the G2DivB folder, when he goes to Private he only sees Group2 and not Group1 and Group3, and when he goes to Group2 he only sees G2DivB and not G2DivA and G2DivC?