![但你还是得跑](https://linux22.com/image/1366551/%E4%BD%86%E4%BD%A0%E8%BF%98%E6%98%AF%E5%BE%97%E8%B7%91.png)
在我的 Windows 7 上,我创建了一个用户,BackupUser5
并将他添加到“备份操作员”组。通过设计:
此组的成员可以备份和恢复计算机上的文件,无论保护这些文件的权限如何。这是因为执行备份的权限优先于所有文件权限。此组的成员无法更改安全设置。
我以提升模式(提升BackupUser5
权限)运行 Windows“备份和还原”。然后,我按下“立即备份”按钮(如下所示)。Windows 要求输入凭据,我输入了凭据BackupUser5
。结果如下:
如上所示,我收到了拒绝访问的消息。我不知道为什么?(当然,如果我使用管理员凭据,就不会收到错误。问题是,为什么“备份操作员”成员不能这样做。)
答案1
如果您确实在寻找增量解决方案,这个答案可能没有多大帮助,但如果您可以满足于系统映像,则 wbadmin 命令行工具可以做到:http://technet.microsoft.com/en-us/library/cc742083.aspx
由于某种原因,GUI 版本需要完全管理员权限,但命令行不需要。只需确保运行提升的提示符(在 cmd.exe 上以管理员身份运行...,即使它只是为了获得备份操作员权限)。到目前为止,我还无法使用这些权限(仍然需要管理员权限)进行系统映像还原,但我没有尝试太多。您也无法安装备份映像 (.vhd),但可以使用第三方工具(我使用 7-zip,可能还有其他几个)打开它来恢复文件。
答案2
这里发生了两件不相关的事情。
通常情况下,NTFS 权限会阻止其他用户读取您的文件。为了让其他人能够读取您个人资料中的文件,您必须修改“访问控制列表”(ACL)授予他们读取权限:
但这意味着为了备份计算机上的所有文件,运行备份的用户需要获得Read
权限:
- 到每个文件
- 在每个文件夹中
- 在每个个人资料中
这真的很痛苦;而且不是你真正想做的事情。
输入备份权限
幸运的是,Windows NT 创建了一种方式肯定用户能够绕过所有 NTFS ACL 安全检查,读取他们没有权限读取的文件,以便他们可以备份它们。
这是一个特别的“特权”称为SeBackupPrivilege
SE_BACKUP_NAME
执行备份操作所需。此权限使系统授予对任何文件的所有读取访问控制权,无论访问控制列表(ACL)为文件指定。除读取之外的任何访问请求仍将使用 ACL 进行评估。此权限由注册保存键和注册表保存密钥函数。如果拥有此权限,则授予以下访问权限:
- 读取控制
- 访问系统安全
- 文件_通用_读取
- 文件遍历
用户权限:备份文件和目录。
如果你有此权限,那么当你尝试打开一个文件时,你将绕过所有 NTFS 安全检查“备份模式”。当备份软件尝试打开文件时,它会包括FILE_FLAG_BACKUP_SEMANTICS
旗帜:
文件标志备份语义
正在打开或创建文件以进行备份或恢复操作。系统确保调用进程在以下情况下覆盖文件安全检查:SE_BACKUP_NAME和恢复名称特权。
授予备份文件和目录特权
特权被授予用户或组。Windows 附带一个已经拥有特权的组SeBackupPrivilege
(又称“备份文件和目录”) 权限已启用:
- 团队名字: 备份操作员
- SID:
S-1-5-32-551
- 描述:内置组。默认情况下,该组没有成员。备份操作员可以备份和恢复计算机上的所有文件,无论保护这些文件的权限如何。备份操作员还可以登录计算机并将其关闭。
secpol.msc
您可以通过运行并浏览到以下内容来查看分配给该组的权限:
这个特权非常强大,你不会想随意将它授予用户;这就是为什么它只授予一个备份操作员团体。
因此,现在如果您正在运行备份软件,您只需确保该软件以具有以下用户身份运行SeBackupPrivilege
(即是备份操作员) 组。然后您的备份软件就可以完成备份文件的工作了。
但你还是得跑
大多数备份软件只需运行即可。或者,您也可以按计划任务运行它。
但 Windows 备份不仅仅是你运行的一个程序;它是一个服务. 并且为了启动、停止或配置服务你(通常)必须是管理员团体。
这就是你在这里被阻止的原因。你正在看一个特定的备份软件,它發生决定将自身安装为服务,并且發生决定你需要成为一个行政人员进行配置。
并且备份操作员没有启动/停止服务的 ACL 权限。
这就是让你困惑的地方。
- 备份操作员只能绕过 NTFS ACL 检查
- 他们无法启动/停止/配置服务
答案3
- 运行 SysInternals 的进程浏览器
- 选择正在运行备份的进程
- 右键单击并选择属性
- 在“安全”选项卡上,确认列出了 SeBackupPrivilege。
您还应该运行 gpresult /h 并确认“作为批处理作业登录”权限实际上已分配给备份操作员,而“拒绝作为批处理作业登录”权限则没有。
答案4
我还没有仔细检查,但我相信 UAC 阻止了它的运行。我认为您需要以管理员身份使用该帐户才能正常运行,即使 UAC 已禁用(但您可以尝试禁用 UAC 并查看它是否会突然起作用)。备份操作员组将拥有有权备份文件和规避文件安全性的用户,但它不一定会授予他们以提升的权限运行计划任务或程序的权限。这个想法是,如果您将某人放在远程 PC 上的备份操作员组中,您可以远程运行备份作业,该作业将连接到该 PC 并有权备份其文件。
(但是,问题本身更适合 superuser.com,因此我投票将其迁移到那里,即使我的“答案”被发现是正确的)