Windows 获取/设置网络共享上文件的安全属性

Windows 获取/设置网络共享上文件的安全属性,windows,security,Windows,Security,我能够通过使用GetSecurityInfo/SetSecurityInfo API获取/设置NTFS卷上文件的安全属性组、所有者、DACL、SACL。我传递给这些API的句柄必须使用特定的访问权限打开:读取控制、访问系统安全、写入DAC、写入所有者,这些权限要求在使用CreateFile创建它们时启用SE安全、SE备份和SE还原,如果文件位于NTFS卷上,则根本没有问题,当然,如果调用进程具有足够的权限。但是,如果文件实际位于网络共享上,则会出现一个问题—创建文件句柄将失败,访问被拒绝5或权限

我能够通过使用GetSecurityInfo/SetSecurityInfo API获取/设置NTFS卷上文件的安全属性组、所有者、DACL、SACL。我传递给这些API的句柄必须使用特定的访问权限打开:读取控制、访问系统安全、写入DAC、写入所有者,这些权限要求在使用CreateFile创建它们时启用SE安全、SE备份和SE还原,如果文件位于NTFS卷上,则根本没有问题,当然,如果调用进程具有足够的权限。但是,如果文件实际位于网络共享上,则会出现一个问题—创建文件句柄将失败,访问被拒绝5或权限被取消1314。我猜这是因为尝试创建文件句柄实际上是在远程计算机上的网络登录会话上下文中进行的,该会话代表远程计算机上的我的用户,并且没有为该远程进程启用所需的权限。是否有办法克服此限制,即能够获取/设置网络共享上文件的安全属性?
类似的问题是获取网络共享上目录的句柄。虽然可以通过使用FILE_FLAG_BACKUP_语义在本地执行此操作,但我知道此特定标志不会重定向到远程计算机,我相信这就是我无法打开网络共享上目录句柄的原因。有什么方法可以做到这一点吗?

好吧,似乎是我出了问题-我一直在与一个用户测试这个案例,虽然这个用户是我本地机器上的管理员,但却是文件服务器上的常规受限用户,这就造成了所有的问题。如果使用在共享资源的文件服务器上具有足够权限的用户连接到网络共享,则可以复制安全属性并打开网络共享目录的句柄