有没有办法向普通用户分配访问 Windows 上的物理设备/驱动器的权限?
这个想法是为了绕过“错误:无法打开原始磁盘'\.\PhysicalDrive1'。否则,看起来我可能必须禁用 UAC 并以管理员身份运行所有内容,这并不理想!
答案1
简而言之,你无法轻易做到这一点。原因如下:
使用 PowerShell 我们可以获取物理“原始”磁盘驱动器的 ACL:
PS C:\> [io.directory]::GetAccessControl("\\.\PHYSICALDRIVE1") | Format-List
Path :
Owner : BUILTIN\Administrators
Group : NT AUTHORITY\SYSTEM
Access : Everyone Allow ExecuteFile, ReadAttributes, ReadPermissions, Synchronize
NT AUTHORITY\RESTRICTED Allow ExecuteFile, ReadAttributes, ReadPermissions, Synchronize
NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Administrators Allow FullControl
Audit :
Sddl : O:BAG:SYD:(A;;FX;;;WD)(A;;FX;;;RC)(A;;FA;;;SY)(A;;FA;;;BA)
因此,只有SYSTEM
具有Administrators
允许对驱动器进行写访问的权限才能拒绝您的初始请求。
似乎有第三方工具(例如用户模式原始磁盘访问) 可以解决这个问题,但微软似乎不打算在固定(不可移动)磁盘上支持它。请参阅对文件系统和存储堆栈的更改,以限制 Windows Vista 和 Windows Server 2008 中的直接磁盘访问和直接卷访问(archive.org 链接,因为原始文章已被删除)了解微软的看法。