我使用 Macrium Reflect 6 的备份计划备份我的 Windows 系统分区。该软件向 Windows 任务计划程序添加了一个条目,备份通常运行顺利。由于备份位置是始终挂载的硬盘驱动器上的文件夹 -- F:\Files
--,如果我的计算机在将文件复制到外部驱动器之前被感染(即勒索软件),则存在备份损坏的风险。为了解决这个问题,我做了以下事情:
- 我使用 PC 作为标准(非管理员)帐户
- 我右键单击了备份文件夹,转到“属性”>>“安全”>>“编辑权限”,然后单击“否定“ 在下面“写”属于该
Users
组的用户的权限。
我的目的是让非管理员用户(因此大多数恶意软件)无法覆盖或破坏备份文件。限制的效果正如我所料:例如,如果我想将文件写入,现在需要输入管理员密码。F:\Files
问题是备份作业现在失败了。在 Macrium UI 中,我看到的错误如下:
Backup aborted! - None of the specified locations could be written to
我对此错误感到惊讶,因为我认为该任务设置为以管理员帐户运行;当我在 Macrium 中设置备份作业时,系统明确询问我应使用哪个用户帐户,并输入该用户的密码,因此我选择了Admin
。因此,即使在我撤销非管理员的写入权限后,我预计软件也可以毫无问题地写入备份文件夹。如果我打开任务计划程序并查看任务详细信息,以下是安全选项下显示的内容:
可以看到,任务以 的身份运行Admin
。任务的作者(截图中未显示)也是Admin
。任务的操作是:
C:\...\Reflect.exe
-e -w "F:\Files\Schedule.xml" -inc -g {some long token here}
是我忽略了什么,还是我的备份软件出了问题?上次运行结果在任务计划程序中仅显示(0x1)
经过进一步调查,我发现如果我以用户身份登录Admin
并尝试将文件写入受限文件夹,则无法写入。拒绝Users
组的写入权限也会拒绝该Admin
帐户的写入权限。这可能是我的备份作业失败的原因。下图显示了Admin
我拒绝组写入权限后的有效权限Users
。
我还发现,虽然被屏蔽的账户无法将新文件保存到文件夹中,但它们仍然可以删除已经存在的文件。因此,我仍然容易受到恶意软件删除这些文件的攻击。我需要更严格的权限。我还需要找到一种方法来拒绝所有非管理员用户的权限,但允许管理员使用。
这是我所做的
Users
我决定尝试仅拒绝我日常使用的帐户的权限,而不是拒绝整个组的权限。
从文件夹属性屏幕(右键单击文件夹并选择属性):
- 点击
Advanced
- 点击
Change Permissions
- 点击
Add
- 输入我想限制的账户用户名
- 点击
Check Names
:完全合格的用户名(例如MyPC\John
:)应自动填充文本区域 - 点击
OK
- 应打开一个弹出窗口,允许为选定用户详细设置权限。以下是我对自己所做的:
最重要的是,我否认了所有写,删除,更改权限和取得所有权权限。现在一切似乎都按预期运行。使用我的日常帐户,我既不能写入,也不能删除备份文件夹中的文件。但是Admin
我可以同时执行这两项操作。手动备份也刚刚成功完成,所以一切似乎都正常。明天我就会知道计划任务是否顺利运行。
这仍然不是我想要的解决方案
我希望所有非管理员用户都受到限制。我的解决方案只阻止一个非管理员 -- MyPC\John
-- 但如果创建了另一个非管理员配置文件(或者即使我的用户名发生了变化?),限制就会被绕过。我正在寻找更接近C:\Program Files
目录保护的东西:如果我不是管理员,我总是被阻止在那里进行更改。
答案1
无需尝试阻止某些用户帐户,只需向要运行备份任务的帐户授予权限即可。您可以允许整个管理员组或仅允许某些管理帐户运行备份任务。换句话说,没有理由拒绝任何帐户或帐户组,因为如果权限列表中没有条目授予他们访问权限,他们将被拒绝。
答案2
发生了什么事?(第一部分)
“拒绝”非常危险。如果用户/进程同时具有“允许”权限和“拒绝”权限,则拒绝访问。这里的问题是您的管理员帐户实际上是用户组的成员。如果您whoami/groups
从以管理员身份运行的命令提示符中运行,则可以看到这一点。(如果您输入,您可能会发现输出更具可读性whoami/groups /fo list
。)我说它“实际上是用户组的成员”,因为我找到了两三种其他方法来检查哪些用户在哪些组中,并且它们没有显示管理员用户在用户组中。
发生了什么事?(第 2 部分)
现在仔细看看目录的权限。我发现我的C:
驱动器的根目录是这样的:
“经过验证的用户”拥有很多访问权限!
该怎么办?
使用kreemoweet 的回答。但首先,弄清楚为什么你对 有写入权限F:\Files
。查看其权限 以及根目录下的。查找“所有人”条目和“经过身份验证的用户”条目,找到授予您写入权限的条目(通过选中“允许”复选框)并取消选中他们。不要选中“拒绝”复选框。F:\
让我详细阐述一下。您可能会找到一个F:\Files
授予您写访问权限的访问控制条目。如果它是“<未继承>”,您应该能够直接编辑它。如果它说它是从继承而来的F:\
,您可能会发现您可以选中空白的复选框,但无法清除任何已选中的复选框(它们会变灰以表明这一点)。取消选中“包括可从此对象的父级继承的权限”框:
如果您看到如下弹窗:
选择“添加”。您现在应该看到所有权限条目F:\Files
都是“<未继承>”副本之前存在的条目。现在,您可以完全自由地编辑这些权限,并取消选中授予您写入权限的复选框。
然后,当您关闭非管理员用户的写访问权限后,进入(到相同的 ACL;即 F:\Files
)并添加一个条目以授予“管理员”组写访问权限。
替代
我还没有尝试过,但是:除了首次启动 Windows 时创建的“管理员”帐户外,还有一个名为“管理员”的内置帐户,默认情况下处于禁用和隐藏状态。取消隐藏和启用它的说明很容易找到,在这里超级用户以及其他地方。您可能会发现“管理员”不是用户组的成员,并且您可以以“管理员”身份运行备份。但尝试kreemoweet 的回答首先;我不知道这个是否会起作用。