重置磁盘范围内的 NTFS 权限

重置磁盘范围内的 NTFS 权限

有人在设置 NTFS 驱动器的权限时犯了大错,我正在寻找一种方法将所有权限重置为默认值。操作系统将重新安装,但我正在尝试从他们的用户目录中挽救数据。

没有任何数据在 FS 级别加密。

关于如何实现这一目标有什么建议吗?

答案1

如果您谈论的磁盘不包含 Windows 安装,只需使用“TAKEOWN”和“ICACLS”实用程序:

TAKEOWN /f "X:\" /r /d y
ICACLS "X:\" /reset /T

然后您可以将 ACL 重置为您想要的任何内容。

如果它是安装了 Windows 2000、XP 或 Server 2003 操作系统的磁盘(不知道 Vista 是否适用),您可以尝试重新应用默认安全模板:

secedit /configure /db secedit.sdb /cfg %SystemRoot%\defltwk.inf /overwrite /verbose

(在 Windows Server 安装上,用“defltsv.inf”替换“defltwk.inf”。)

答案2

作为 takeown 和 *cacls 的替代方法,您可以使用 SetACL 首先取得驱动器上每个文件和目录的所有权,然后设置所需的权限。

将整个树的所有者设置为管理员并启用子对象的继承

SetACL.exe -on "C:\" -ot file -actn setprot -op "dacl:np;sacl:nc" 
           -rec cont_obj -actn setowner -ownr "n:S-1-5-32-544;s:y"

为管理员添加全部权限:

SetACL.exe -on "C:\" -ot file -actn ace -ace "n:S-1-5-32-544;s:y;p:full"

答案3

我不确定这样的事情是否存在。也就是说,除非您正在对系统进行映像处理,否则可以重新安装操作系统而无需删除用户数据,这也会修复操作系统相关文件夹的权限。根据系统的类型和可用内容,将驱动器放入另一个系统并提取用户数据,然后执行擦除并重新安装。

答案4

我不知道有什么方法可以让事情回到只使用一个盒子的状态,但是如果你有第二个盒子可用,无论是作为替代品还是临时暂存区(即使是带有大量硬盘的 PC 也可以作为临时暂存区),这里有一个解决方案。这里可能有一些捷径可以走,但我更喜欢缓慢而细致的方式,因为它不容易出现人为错误。

我们假设服务器 A 是权限有问题的服务器,而服务器 B 是替代服务器或临时暂存区。

  • 从上次正确的备份恢复到服务器 B(确保在执行此操作时选择了恢复安全性的选项)。
  • 在服务器 A 上,确定您是否可以访问数据。
    • 如果没有,请通过 GUI 或命令行来获取一切所有权。
    • 确定您现在是否可以访问数据。
    • 如果没有,请授予自己完全控制权。
  • 使用 xcopy /S/E/C/H/R/K/Y 将数据从服务器 A 复制到服务器 B。不要使用 /O,因为这会覆盖您恢复的 ACL。
  • 如果是替换服务器,则大功告成。如果不是,则在重建服务器 A 后,从服务器 B 复制回服务器 A,这次使用 xcopy /S/E/C/H/R/K/O/Y(注意,这次这里是 /0)。
  • 找个角落,和肇事者小声说几句。棒球棒和威胁撤销其管理员权限可能是可选的,也可能不是,这取决于你的感受。

相关内容