Windows SYSTEM用户授予对自身的READ访问权限 - 无法打开文件夹

时间:2017-05-17 13:50:32

标签: java windows google-drive-api acl

这是一个奇怪的情况,但我很好奇是否有其他人看到过这种行为。我们正试图在用户具有管理员权限的Windows环境中监控Google云端硬盘中的文件。默认情况下,安装GDrive时,安装它的用户具有所有READ / WRITE访问权限。

我们的应用程序作为SYSTEM用户安装(以便它可以监控所有用户的文件),这些用户没有对Google Drive文件夹的READ访问权限......因此我们以编程方式尝试授予对GDrive文件夹的READ访问权限。

当我们以SYSTEM身份执行此操作时,我更新了GDrive文件夹的ACL,以便为SYSTEM用户设置为READ ...一切看起来都应该(当手动检查安全权限时)。但是,当我们尝试访问该文件夹时,会抛出异常(FileSystemException使用com.jniwrapper.win32.io类)

但是,如果我使用登录的admin用户在GDrive文件夹上设置SYSTEM READ权限,我们就可以毫无问题地访问该文件夹的内容。有没有人见过这样的行为?感谢。

1 个答案:

答案 0 :(得分:0)

使用此Powershell命令查看格式化的ACL权限列表后,解决了这个问题:

Get-Acl 'C:\Users\user\Google Drive' | format-list

我们在以编程方式设置READ权限与手动设置时注意到的是我们手动设置时SYNCHRONIZE AclEntryPermission已设置。但是,我们在尝试以编程方式执行此操作时未包含该权限...添加其他权限允许我们向Google云端硬盘文件夹授予READ权限。